>> سے tianyu LIU: ارے، کس طرح ہے یہ ہر ایک کے جا رہے ہیں؟
اور اس کے iOS اپلی کیشن ہے مقصد سی سیمینار کی پروگرامنگ کی.
اور میرے نام سے tianyu لیو ہے.
میں نے ابھی ایک الویل جونیئر ہوں کمپیوٹر سائنس میں توجہ دے.
تاکہ اس سیمینار میں ہوں جا کے تم لوگوں کو سکھانے کے لئے
ایک اپلی کیشن بنانے کے لئے کس طرح کے بارے میں تھوڑا سا.
گرمیوں میں، اس کے لئے حوصلہ افزائی ہو.
>> ہم بھی ڈائیونگ شروع کرنے سے پہلے اتنا حقیقی پروگرامنگ کی طرف میں،
کے بارے میں بات فوری طور پر صرف سچ میں چلو کیوں آپ کو ایک iOS اپلی کیشن کی تعمیر کرنا چاہتے ہو سکتا ہے؟
یہی وجہ ہے iOS تو بہت اچھا ہے؟
پہلا مسئلہ تو، سب سے پہلے ہمارے لئے بہت خوفناک ہے کہ بات یہ ہے،
خاص طور پر ایک CS50 کے طور پر طالب علم، یہ ہے کہ iOS کے
مقصد C. ٹھیک ہے کا استعمال کرتا ہے، وہاں ہے سوئفٹ نامی ایک نئی زبان،
لیکن ہم نہیں جا رہے ہیں اس سیمینار میں اس کا استعمال.
آپ وہاں، سوئفٹ میں دلچسپی رکھتے ہیں اس کے بارے میں ایک آزاد سنگوشٹھی ہے.
لیکن مقصد سی بنیادی طور پر ہے C. معنی کے superset
آپ C میں استعمال کرتے ہیں کہ سب کچھ کر سکتے ہیں مقصد سی میں ترجمہ کیا جائے
بہت آسانی سے.
>> آپ بعد، بے شک کہ دیکھ سکتے ہیں کے طور پر کچھ بہت بنیادی نحو ہیں، موجود ہیں
بنیادی طور پر بالکل ایک ہی، سی اور مقصد سی تو،
آپ CS50 لے لیا ہے کے بعد سے اس کو اب تک، آپ کے پاس پہلے
، کم از کم 40٪ مقصد سی جانتے ہیں.
اس کے علاوہ، ایپل کو ایک بہت ہے iOS کے لئے مضبوط API.
واقعی پاگل کی ایک بہت ہیں چیزوں کو تم اس کے ساتھ کیا کر سکتے ہیں.
جن میں سے ایک شخص ہوتا اصل میں ایک iOS اپلی کیشن کو پیدا
کو کنٹرول کرنے کے لئے کاریں، جس میں بہت دلچسپ ہے.
شاید ایک ہیلی کاپٹر زیادہ دلچسپ ہے.
لیکن ہے کہ کس طرح طاقتور ہے آئی او ایس API ہو سکتا ہے.
>> اور کے طور پر آپ کو ہو سکتا حق اب سوچا،
اسٹیک اتپرواہ شاید میں سے ایک ہے سب سے اہم آن لائن وسائل
آپ کے لئے دستیاب.
اور اچھی خبر، کے لئے ہر آپ ممکنہ طور پر کر سکتے ہیں کے ایک مسئلہ
تعمیر کرتے ہوئے کے بارے میں سوچ آپ مقصد C میں حتمی منصوبے،
ایک اسٹیک اتپرواہ جواب کا امکان نہیں ہے.
یہ صرف بہت اچھا ہے.
اس کے علاوہ، iOS کے واقعی ایک پلیٹ فارم ہے
آپ کو ایک بہت بڑا تک پہنچ سکتے ہیں جہاں چھوٹی سی کوشش کے ساتھ ناظرین.
یہ لوڈ، اتارنا Android، جہاں کی طرح نہیں ہے سب کچھ کے خوبصورت بکھری.
>> سب کچھ ہے iOS متحد ہے.
اور جب تک آپ کی تشکیل کے طور پر ایک موبائل کے لئے ایک اپلی کیشن،
آپ کر سکتے ہیں بہت آسانی سے بندرگاہ رکن کرنے کے لئے کہ، رکن مینی، یا مختلف آئی فون کے سائز.
یہ سب واقعی آسان ہیں.
اور یہ صرف بہت اچھا ہے اپنے دوستوں کو متاثر کرنے کے لئے.
اگر آپ صرف ایک فون پکڑ سکتا اور، ارے اپنے دوست کو بتا
اس میں بنانے اپلی کیشن ہے.
اگر آپ کسی کے لیے بھی یہ کر سکتے ہیں اچھا ہے جو ڈیسک ٹاپ ایپلی کیشنز،.
>> ٹھیک ہے، اب ہم اصل میں حاصل کرتے ہیں زبان مقصد C. میں
تو کیوں نہ ہم ساتھ شروع نہ کرو کچھ واقعی بنیادی نحو.
میں مقصد پہلے ذکر کیا ہے سی یہ سی کی بنیادی طور پر ایک superset ہے
تاکہ بنیادی نحو کی ایک بہت ہیں اصل میں بالکل ویسی ہی.
ایک متغیر قرار دیا اور دو متغیر کو ایک ساتھ شامل کرنے سے
ہم ماریو میں کیا ہے کے طور پر بالکل وہی جو ہے.
یہاں کوئی نئی بات نہیں.
>> لوپ کے لئے اسی طرح، اقامت گزیں اور شرط بھی ایک ہی ہے.
کیا آپ واقعی طور پر صرف لوپ کے لئے ایک ایسا کر سکتے ہیں ایک ماریو [اشراوی] میں کیا کیا ہے.
اور آپ کو حالات کیا کر سکتے ہیں بالکل اسی طرح جیسے آپ کو کیا
اپنے سابقہ ​​P سیٹ میں کرتے رہے ہیں.
تاہم، مقصد سی ، سی مکمل طور پر نہیں ہے
اور کچھ ہے کہ عجیب قسم کا اس کے بارے میں ہے.
>> سب سے پہلے ایک ہونے کی وجہ سے تم ہو جب کہ C پروگرامنگ کر رہی، آپ کو عام طور پر کال کریں
شامل ہیں اور اس کے بعد ایک لائبریری کا نام.
لیکن مقصد C میں تم نے اس کی درآمد پر کال کریں.
بنیادی طور پر، فعالیت کہہ رہے ہیں صرف مختلف ناموں.
اور ڈور ہیں اصل میں تھوڑا سا عجیب.
آپ سب سے پہلے یہ دیکھ سکتا عجیب قسم کا ہے کہ بات یہ ہے
آپ کو ایک خوبصورت weird-- ہے کہ ہے sorry-- آپ کو ایک بہت ہی عجیب این ایس پڑے
یہاں پر دستخط کریں.
اور دوسری بات یہ ہے اس قسم کے عجیب ہے
تم سے پہلے نشانی میں ایک ہے ہے اصل سٹرنگ اعلان.
تاکہ علامت پر بنیادی طور پر ابیوینجک ایک تار ایک تار نہ صرف یہ ہے کہ،
یہ اصل میں کسی چیز ہے.
ہم وضاحت کرنے جا رہے ہیں کہ بعد میں ایسا نہیں کرتے
گھبراہٹ اگر تم نہیں کیا اس کا مطلب سمجھ میں.
اور کنسول کے لئے پرنٹنگ ایک تھوڑا سا ہے مختلف ہے کیونکہ ہم printf کو فون C میں،
لیکن مقصد C میں ہم [اشراوی] کو کال کریں.
>> اگر آپ یہ ہے کہ کیا سوچ سکتا ہے.
کہ، printf کے بنیادی طور پر ہے صرف ایک مختلف زبان.
بالکل اسی کے استعمال، بالکل اسی فعالیت.
ویسے یہ پتہ چلا ہے کہ مقصد سی اصل
ایک این ایس نے تقریبا میں سابقہ ​​ہے سب کچھ، ہر بنیادی ڈیٹا کی قسم،
nsdictionary، nsarray، nsstring.
وجہ این ایس کیا جا رہا ہے اصل میں اگلے مرحلے کے لئے کھڑا ہے،
جس میں ایک کمپنی ہے سٹیو جابس، کی بنیاد رکھی ہے
ایک کمپنی جس جہاں زبان مقصد سی پیدا ہوتا ہے.
تو یہ ہے کہ بنیادی طور پر روایت ہے.
میں نے اس میں تھوڑا سا ہے جانتے ہیں عجیب، لیکن یہ ایپل کی.
>> یہاں تک کہ weirder ہے تاکہ کچھ اور اس سے بھی ایک تقریب اعلان ہے.
یہ ہم کیا سے بہت مختلف ہے ، C میں دیکھیں یہاں یہ اصل میں ہے کیونکہ
اب سی جیسی نظر نہیں آتی.
آپ کی طرف سے یہاں ہے کیا یہ ایک گولی نقطہ نہیں ہے جس طرح سے،
یہ ایک منفی کی علامت ہے.
اگر آپ ایک منفی کی علامت قوسین ہے باطل اور پھر تقریب کے نام.
چلو صرف کرتا ہے تو کہنے دو ہم پھر، ہیلو دنیا ہے
واپسی کی قسم باطل ہو جائے گا ہم کچھ بھی نہیں واپس آ جائیں کیونکہ.
>> کیا واقعی عجیب ہو جاتا ہے تم ہو جب یہ ہے کہ
ایک سے زائد پیرامیٹر ہونے ایک ہی تقریب میں گزر رہا ہے کہ
یہاں دکھایا گیا ہے کے طور پر بہت ہی عجیب ہو جائے گا.
ہم ایک طریقہ کا نام ہے، کرنے کے لئے بلایا addInt [اشراوی]
اور ہم نے ایک پیرامیٹر گزر رہے ہیں.
لیکن اس کے بعد، ہم ہیں کے ساتھ زیادہ کے طریقہ کار کا نام کال.
اور اس کے ساتھ کے بعد ہم گزر رہے ہیں دوسرے پیرامیٹر.
یہ اصل میں تھوڑا سا عجیب ہے لیکن ان تمام تقریب کا اعلان
اس کے طور پر ایک ہی طرز پر عمل کریں.
>> ہم کے ساتھ شروع کرنے کے لئے منفی کی علامت ہے.
مائنس نشانی ایک سے زیادہ علامت ہو سکتا ہے کبھی کبھی کے طریقہ کار کے کس قسم کی بنیاد پر
یہ ہے.
طریقہ کار کا بنیادی طور پر ہے تقریب کے لئے ایک اور نام.
اور ہم جا رہے ہیں وضاحت ہے کہ بعد میں جب
ہم اعتراض کے بارے میں بات کر رہے ہیں اورینٹڈ پروگرامنگ.
آپ سب سے پہلے واپسی کی وضاحت ، اندر قوسین ٹائپ
جس کے بعد طریقے کا نام آتا ہے.
آپ کو ایک پیرامیٹر گزر رہے ہیں.
اور آپ کو زیادہ پیرامیٹرز کو ہے تو اگر آپ کا طریقہ نام میں توسیع کی ضرورت
اور بنیادی طور پر زیادہ یہاں کچھ لکھنا.
>> یہ آپ چاہتے ہیں کچھ بھی ہو سکتا.
ہمارے معاملے میں اس کے ساتھ ہے.
لیکن آپ کہہ سکتے اختتام، یا یا، یا جو چاہو ABC مکمل بار،.
اور پھر اس کے بعد تم ہو پیرامیٹر ب گزر رہا ہے.
یہ ایک بہت ہی عجیب ہے کنونشن لیکن ہم ہیں
ایپل کیوں کرنا چاہتے ہیں دیکھنے کے لئے جا بہت جلد ایسا کرنے کے لئے.
تو کس طرح آپ تقریب کہتے ہیں؟
مقصد میں ایک تقریب کو بلا سی بھی سی سے مختلف ہے
>> اصل میں، پکارنے میں مقصد سی میں تقریب
اگر آپ کسی سے بات کر رہے ہیں کی طرح زیادہ ہے.
یہاں ہم خود، ہے جس کسی چیز کو کہا جاتا ہے.
آپ بنیادی طور پر کہہ رہے ہیں کہنے کو خود اعتراض "ہیلو دنیا!"
اس تقریب کو فون کرنے کے لئے کس طرح ہے.
کسی چیز اور کسی طریقے کا نام ایک دوسرے کے ساتھ مل کر.
اور یہ جہاں عجیب توسیع ہے طریقہ کار کے نام کے لئے بہت کھیل میں آتا ہے.
>> کی دوسری مثال میں نظر.
ہم صرف نام سے ایک طریقہ کی وضاحت کی گئی addInt ساتھ بلاہ بلاہ بلاہ.
آپ کو بلا رہے ہیں جب تو اس صورت میں اس مخصوص [؟ پیغام؟] یہ جا رہا ہے
خود addInt طرح دیکھنے کے لئے: 10 سے: 2.
یہ انگریزی کی طرح لگتا ہے.
تقریب اگرچہ تقریب اعلان، عجیب ہے
مقصد سی کے کے نقطہ طریقہ کار کا اعلان کے پیٹرن،
آپ کو بلا رہے ہیں جب کہ ہے تقریب یا طریقہ
یہ اصل میں انگریزی کی طرح آواز گا.
تو یہ بہت بدیہی ہے آپ اس میں حاصل ایک بار.
>> خاص طور پر اس معاملے میں، جہاں آپ بنیادی طور پر کر سکتے ہیں
تقریب کا نام ہے دیکھیں قسم کے خود دستاویز کاری.
اگر آپ کو کوئی ضرورت نہیں ہے مزید وضاحت ملاحظہ کرنے کے لئے
بالکل ویسا ہی کیا ہو رہا ہے، کیا بالکل ایک پیرامیٹر کر رہی.
اس سے آگے جا رہے، تھوڑا سا میں بات کریں آبجیکٹ اورینٹڈ پروگرامنگ کے بارے سا.
آبجیکٹ اورینٹڈ پروگرامنگ ہے بنیادی پروگرامنگ میں سے ایک
ہے کہ تکنیک یا پیٹرن مقصد C. مقصد سی کی طرف سے استعمال کیا جاتا ہے
مقصد سی، نہیں کہا جاتا ہے C، ایک بہت ہی اچھی وجہ کے لئے.
>> ہم میں ملتا ہے لہذا اس سے قبل مقصد سی نحو،
واقعی فوری طور پر نظر آتے ہیں بالکل وہی جو کسی چیز ہے.
ہم شاید کچھ کیا ہے ، اس سے پہلے اعتراض کی طرح ہے جس کے
تم ہو جب struct کے کہا جاتا ہے ایک درخت یا ایک لنک کی فہرست پر عمل درآمد
یا [؟ کوشش کریں. ؟] تو، یہ ہے بنیادی طور پر ایک struct کی طرح،
لیکن یہ بہت زیادہ طاقتور اس سے بھی ہے.
کسی چیز کے طریقوں اور خصوصیات ہیں.
طریقوں کو بنیادی طور پر کام کرتا ہے ہے.
بنیادی طور پر ایک کام کرتا ہے کہ ایک خاص چیز کے لئے مخصوص.
>> اور خصوصیات بنیادی طور پر ہیں میدان میں آپ struct میں وضاحت.
ہر ایک چیز کے لئے، تاکہ ہم نے کچھ جائیداد ہے
کہ کچھ متغیر ہے جس اعتراض کے لئے مخصوص ہیں.
اور ہم نے کچھ کام کرتا ہے جس یہ بھی اعتراض کے لئے مخصوص ہیں.
اور افعال کے طریقوں کو کہا جاتا ہے اور متغیر خصوصیات کہا جاتا.
یہ صرف ایک فینسی نام ہے.
آپ اس حقیقت کرتے ہوئے، ہر ایک قول اگر آپ ایک iOS اپلی کیشن کو کھولنے جبکہ آپ کو، دیکھ
، چلو صرف ٹویٹر یا فیس بک کہنے دو آپ کو دیکھ کر ہر ایک قول کسی چیز ہے.
اور یہاں تک کہ پورے اپلی کیشن ہے کسی چیز کے ساتھ شروع کرنے کے لئے.
بہت دلچسپ تصور.
>> اور ہم کیوں اعتراض کیا چاہتے ہو پروگرامنگ کے اعتبار سے؟
تو کیا تم تصور کر سکتے ہیں جب تم اس پروگرام یہ بہت پیچیدہ ہو جاتا ہے.
چلو صرف تم ہو جب کہنے دو بساط پر عمل درآمد،
منطق کی جا رہی ہے واقعی پیچیدہ جائے.
آپ کو 36 مختلف ہے ٹکڑے ٹکڑے کر، کہ اگر ایسا ہے تو آپ
سب کے لئے منطق لکھنا چاہتا ہوں شطرنج میں 36 مختلف ٹکڑوں،
اس کی ایک بہت ہو رہا ہے مختلف افعال اور متغیر.
اس مصیبت کی ایک بہت ہے.
اور شاید آپ کو ایک لکھنے کے لئے جا رہے ہیں مختلف طریقہ یا مختلف تقریب
کرنے کے لئے ٹکڑا ہر ایک کے لئے بالکل وہی جو وہ کرتے ہیں کو کنٹرول.
>> اگر آپ ایسا کرتے ہیں لیکن اعتراض پر مبنی پروگرامنگ، ان ٹکڑوں میں سے سب
میں abstracted جا سکتا ہے ایک ایک اعتراض.
اور اعتراض کچھ عام پڑے گا ٹکڑا کس قسم کی طرح کی خصوصیات،
یہ کیا ہے؟
یہ کیا رنگ ہے؟
یہ کس طرح منتقل کر سکتے ہیں؟
اور اس راہ میں آپ کو بہت ہے اس کی منطق کو آسان کر.
تو یہ صرف ایک بہت اچھا طریقہ ہے پیچیدہ پروگرام بنانے کے لئے،
اور درجہ بندی تعلقات پروگرام کے اندر اندر، بہت آسان.
ہم دیکھتے ہیں جا رہے ہیں کے طور پر کیوں بہت جلد جب
ہم اصل میں کیا کر رہے ہیں ہم اصل میں ہیں جب پروگرامنگ
ایک ایس کوڈ کر رہا بعد میں سیشن پروگرامنگ کی.
>> ٹھیک ہے کہ اس کے علاوہ میں، آبجیکٹ اورینٹڈ پروگرامنگ
صرف مذاق کی ایک بہت ہے.
آپ اپنی ہی اعتراض کو ڈیزائن کرنے کے لئے مل.
آپ کو کیا کرتا ہے ڈیزائن کرنے ملا یہ اپنے آپ کی طرف کی طرح نظر آتے.
اس کا کوئی درست جواب نہیں ہے.
اور یہ مکمل طور پر دلچسپ ہے.
تاکہ اعتراض پر مبنی پروگرامنگ میں، دو بنیادی تصورات
کلاس اور مثال ہو جائے گا.
ایک کلاس بنیادی طور پر ہے اعتراض کے لئے ایک ٹیمپلیٹ.
اور ایک مثال کے طور بنیادی طور پر ہے کسی ایک مخصوص اعتراض.
>> چلو صرف آپ کو ایک کوکی بنانے رہے ہیں.
اس صورت میں، ہر ایک آپ اصل کے ساتھ ختم ککی
کسی چیز ہونے جا رہا ہے.
لیکن کوکی پلیٹ آپ پکانا کرنے کے لئے استعمال کرتے ہیں تمام کوکیز کو ایک کلاس ہو جائے گا.
ایک کلاس بنیادی طور پر ایک ٹیمپلیٹ ہے.
اور اگر کسی ایک مخصوص ہو جائے گا اعتراض کہ کلاس سے باہر پیدا.
>> اور ایک مثال بنایا جائے گا کلاس اعلان پر مبنی،
جیسا کہ ہم بعد میں سلائڈ میں دیکھیں گے.
تو اصل میں واقعی ایک کرنے دو فوری مثال [اشراوی].
چلو ہم اعلان کر رہے ہیں کہنے دو ایک بلی کے لئے کسی چیز.
اعتراض have-- چاہئے بلی کی کلاس کو کرنا چاہئے
بعض خصوصیات اور طریقوں ہے.
خواص کو چاہئے کے کس قسم کلاس have-- بلی ہونا چاہئے؟
>> مثال کے طور پر، رنگ، عمر اور نسل، ان لوگوں کو
متغیر ہو جائے گا کہ ہر ایک بلی کے ساتھ مخصوص ہیں.
اور ان لوگوں کو کچھ چیزیں ہیں ہم ایک بلی کو بیان کرنے کے لئے استعمال.
طریقہ کار کی کس قسم کی، یا ایک بلی کیا سکتے ہیں؟
کچھ فوری مثالیں پیچھا کیا جائے گا ماؤس، مچھلی کھاتے ہیں یا صرف میانو.
یہ ایک بہت ہی تیز ہے بلی طبقے کی مثال.
اور ایک بہت ہی خاص بلی اعتراض ایک بلی ہو جائے گا
ہم کہاں وضاحت رنگ، عمر اور نسل.
>> اس صورت میں، ہمارے اعتراض ہے اب کوئی ایک کلاس اب.
ہم کلاس سے سانچے کاپی اور ہم ایک مخصوص معلومات کی وضاحت
اس مخصوص اعتراض کرنے یہ آزاد بنانے کے لئے.
اور آپ کو بلا رہے ہیں جب کسی چیز کے اندر ایک طریقہ،
آپ کو صرف، اعتراض پر میانو فون کریں جس سے آپ کو صرف پیدا بلی ہے.
>> شاید آپ باہر پرنٹ گا "ہیلو دنیا کی طرح کچھ!
میانو. "
خوبصورت خوبصورت.
ٹھیک ہے، چلو صرف دو بعض تفصیلات میں حاصل
اور بالکل کہ وہ کیا کرتا دیکھیں iOS پروگرامنگ ہونے میں ترجمہ.
iOS کے ہر ایک پروگرامنگ تاکہ میں کلاس دو فائلوں میں لاگو کیا جائے گا.
ایک فائل، جو یہیں ہے انٹرفیس کہا جاتا ہے.
دوسری فائل، جو یہیں ہے عمل درآمد بھی کہا جاتا ہے.
>> عام طور پر انٹرفیس extension.h پڑے گا
ہم سی لائبریریوں میں دیکھا ہے.
اور عمل فائل ہے extension.n کر جا رہا.
یہ عجیب کی طرح ہے.
لیکن کوئی نہیں ہے، سی دراصل ن کا مطلب ان لوگوں کے درمیان بنیادی فرق
دو.
تو اس صورت میں، ہم ہم ہیں کہ دیکھ سکتے ہیں اعتراض: انٹرفیس، بلی قرار دیا.
کہ وراثت کہا جاتا ہے.
ہم بنیادی طور پر وراثت میں حاصل کر رہے ہیں اعتراض کلاس سے بلی کی کلاس.
لہذا ہر جائیداد اور طریقہ یہ تھا کہ ماضی میں اعتراض کلاس میں وضاحت کی گئی
خود کار طریقے سے وضاحت کی جائے گی ایک بلی کی کلاس میں اس کے ساتھ ساتھ.
>> اس کے علاوہ، ہم رنگ کی وضاحت کریں، نسل، اور عمر، تین متغیر.
یہ اصل کی طرح لگتا ہے آپ سے پہلے کیا ہے کچھ.
یہ struct کی طرح لگتا.
یہ بنیادی طور پر نحو ہے struct کے اعلان کے لئے،
اور یہ کہ مکمل طور پر صحیح ہے.
اور میں نے پہلے ذکر کیا ہے کے بعد سے، فرق ایک struct
اور کسی چیز، میں سے ایک بنیادی اختلافات
، کسی چیز کے طریقہ کار ہے کہ ہے جبکہ ایک struct صرف متغیر ہے.
اتنی خصوصیات کے علاوہ میں یا ہم اعتراض کے لئے تشکیل دے دیا ہے متغیر،
ہم کچھ طریقہ کار کی وضاحت.
>> چلو صرف ہمارے پاس ہے یہاں کہہ ایک کے میانو ہے دو طریقوں،،
ایک اور ایک پیچھا ماؤس ہے.
ہم شاید ایک گزر جائے گا کرنا چاہتے ہمارے پچھلے طریقہ کار پر مبنی پیرامیٹر
اعلان کے پیٹرن.
آپ کو شاید ایک ماؤس گزرنے والے بننا چاہتا ہوں.
اور آپ شاید چاہتے ہیں کریں گے ایک bool اشارہ ہے واپس کرنے کے لئے
آپ کی بلی کو کامیابی ہے اگر ماؤس کو پکڑ لیا ہے یا نہیں.
>> اس انٹرفیس ہے، لیکن ہم کر سکتے ہیں دیکھیں کہ اصل انٹرفیس
کچھ بھی نہیں ہے.
یہ صرف ایک پروگرام کو بتاتا موجود ہے کیا جو بلی کلاس میں موجود ہے.
اس کے لئے آرڈر میں پروگرام کچھ کرنا،
ہم پر عمل درآمد کی فائلوں کو حاصل کرنے کی ضرورت.
تو یہاں، ہم کرتے ہیں پہلی بات یہ ہے ظاہر ہے ہم انٹرفیس کی درآمد.
ہم انٹرفیس درآمد کرنے کے بعد، ہم نے طریقہ کی وضاحت.
>> چلو صرف یہاں میانو کہنے دو صرف باہر پرنٹ گی
"ہیلو دنیا!" کنسول کے لئے.
اور عمل کے بعد فائل، ہم بہت زیادہ کیا کر رہے ہیں.
یہ بنیادی طور پر ایک کلاس ہے ایک کلاس کے لئے اعلان.
تو اب سوال، بن جاتا ہے کس طرح آپ کو ایک متغیر کا اعلان کرتے ہیں؟
جس طرح تم ایک تخلیق کرنے کے لئے ایک کلاس کا استعمال کرتے ہیں مقصد سی میں یہاں لکھا ہے.
>> آپ سب سے پہلے اس کی وضاحت یہ، ایک بلی پوائنٹر ہے
مقصد سی میں ہر چیز کی وجہ سے آخر میں ایک پوائنٹر کے طور پر لاگو کیا جاتا ہے.
اور آپ کو کلاس کو فون، انہیں فون بنیادی طور پر malloc کی ہے جس میں alloc کے، کے طور پر،
آپریٹنگ سسٹم کہہ کہ تم سے اس اعتراض کے لئے کچھ میموری کی جگہ کی ضرورت ہے.
اس کے بعد آپ کو کسی چیز ہے پہلے سے ہی اور آپ کو صرف اس کی ابتدا.
یہ صرف کنونشن ہے.
میں نے تھوڑا سا عجیب ہے کہ یہ ہے، لیکن یہ ایپل کی چیزیں کرتا ہے اصل میں کس طرح ہے.
>> خصوصیات ہے بتائے اصل میں بہت سیدھا.
اس پر بہت ملتا جلتا ہے جب آپ کیا کر رہے ہیں
آپ کو کچھ مخصوص بتائے رہے ہیں. struct کے اندر میدان.
آپ کو صرف متغیر ہے ، جائیداد نام نام،
اور اس کے لئے ایک مخصوص قدر تفویض.
اور ایک طریقہ فون کی طرح ہے.
بلا ایک طریقہ ہے بنیادی طور پر میں کے بارے میں بات کیا
مقصد سی میں کسی بھی طریقے فون کرنے کے لئے
>> آپ میں، کسی چیز گزر رہے ہیں اس صورت یہ، myCat ہونے جا رہا ہے
اور آپ کو طریقہ کار کے نام گزر رہے ہیں.
آپ کو اعتراض کرنے کی بات کر رہے ہیں کے طور پر اگر، آپ میانو چاہئے کہ myCat،.
یہ بہت دلچسپ ہے.
اس کے بعد، ایک ہے مزید ضروری ڈیزائن پیٹرن
ہم کے بارے میں بات کرنے کی ضرورت ہے کہ اصل ایس کوڈ کو حاصل کرنے سے پہلے.
کہ ڈیزائن پیٹرن کہا جاتا ہے واقعہ پروگرامنگ کارفرما.
یہ بھی سب سے زیادہ میں سے شاید ایک ہے iOS پروگرامنگ میں بنیادی خیالات.
>> تو آپ شاید بالکل وہی جو نہیں جانتے واقعہ پر مبنی پروگرامنگ، ہے
لیکن یہ واقعی اتنا خوفناک نہیں ہے.
ویسے یہ حقیقت میں، آپ کو کرنا پڑے پہلے سے ہی اس سے پہلے کیا.
یہ آپ کو شاید ہے لائنوں میں سے ایک ہے پہلے سے ہی گزشتہ [اشراوی] میں لکھا
CS50 کی، google.maps.event.addListener (مارکر،
)} {)، تقریب ("کلک" :.
آپ ہیں اس لائن پر کال کر بنیادی طور پر کمپیوٹر کہہ
واقعہ کہا جاتا کہ جب بھی ، مارکر پر ہوتا ہے "پر کلک کریں"
اس تقریب کا استعمال کرتے ہیں.
>> اس سے بہت مختلف ہے آپ mario.c میں کیا.
mario.c میں آپ کو صرف پروگرام چلائیں ایک بار، یہ آپ کو ایک پیداوار فراہم کرتا ہے،
اور آپ کیا کر رہے ہیں.
یہ قسم کی طرح ہیں ایک شاٹ کے پروگراموں.
واقعہ پر مبنی پروگراموں بہت، بہت مختلف ہیں.
فیس بک کے ایک سے ہے، کا تصور کرتے ہیں شاٹ پروگرام یہ واقعی اچھا نہیں ہے.
آپ کو صرف فیس بک کے پاس جاؤ ایک بار اور یہ ہو چکا ہے.
یہ آپ کو کچھ فراہم کرتی ہے اور آپ کو اسے واپس کبھی نہیں ملا.
آپ کو مزید کچھ بھی نہیں ملا.
>> تو یہاں، خاص طور پر ہم استعمال کرتے نمونہ ہے
واقعہ تا کہ، کارفرما ہر کام کرے گا
کی بنیاد پر پکڑا جا کیا واقعہ ہوا ہے.
مثال کے طور پر، اگر ہم ایک بٹن اور ہم وضاحت
اس بٹن کلک کیا جاتا ہے کہ جب بھی، نامی تقریب کہتے ہیں "ہیلو دنیا!"
اس راہ میں ہم واقعی سکتے ہیں تقریب منطق کا انتظام
ایک انتہائی لچکدار انداز میں بہہ.
صارف نہیں کیا ہے یا ایک تقریب کال کر سکتے ہیں کہ پہلے سے ہی بلایا گیا ہے.
یہ مکمل طور پر صارفین کو کیا کرتے ہیں کی بنیاد پر ہے.
>> تو ہم یہ ہے دیکھ سکتے ہیں mario.c مقابلے میں اصل میں بہت بہتر.
اور اچھی خبر یہ ہے کہ ہے اصل میں نہیں ایک نیا تصور.
تم لوگوں کو پہلے ہی کیا ہے کہ گزشتہ مسئلہ میں مقرر کیا گیا.
تاکہ مقصد سی میں موجود ہیں تین مختلف ڈایا گرام
واقعہ پر مبنی پروگرامنگ کے لئے.
پہلی آریھ ہے ہدف کارروائی بلایا،
جہاں آپ کو ایک بٹن کو پابند کوئی تقریب کے ساتھ پریس.
آپ پر کلک کریں جب بھی چلو صرف، کہنے دو کچھ بٹن، آپ کو کچھ تقریب کہتے ہیں.
یہ بہت آسان ہدف کارروائی ہے.
>> دوسری بات ہے اصل میں سب سے مشکل سے ایک،
اس پروٹوکول پر وفد کو کہا جاتا ہے.
ہم وضاحت کرنے جا رہے ہیں بڑی تفصیل سے بعد میں اس.
اور تیسرا طریقہ اطلاع ہے.
یہ اصل نہیں ہے بہت اہم جہاں تک
ہم فکر مند ہیں کے طور پر، موقع کیونکہ آپ کے نوٹیفکیشن استعمال کرنے کے لئے جا رہے ہیں
آپ کی آخری منصوبے میں بہت کم ہے.
تو ہم نے اس حصہ کو چھوڑ دیں لئے جا رہے ہیں.
>> اور ہم کودو جا رہے ہیں پروٹوکول پر وفد میں.
تو بالکل ایک پروٹوکول ہے؟
یا ایک وفد بالکل کیا ہے؟
کے ساتھ شروع کرنے کے پروٹوکول کے بارے میں بات کرتے ہیں.
پروٹوکولز واقعات سوا کچھ نہیں ہیں.
لیکن ان واقعات کو دیا جاتا ہے ایپل کی طرف سے آپ کے ساتھ شروع کرنے کے لئے.
مثال کے طور پر، میں نہیں ہوں تم میں سے کس طرح بہت سے مکمل طور پر یقین
لوگ ایپل کے اصل استعمال اے پی پی میل یا رابطہ،
لیکن ہر بار تم سکرال میز اور مخصوص سیل دبائیں
میز پر، کہ ایک واقعہ ہے.
>> اور آپ کیا کرنا چاہتے ہیں تو خود کی طرف سے واقعہ ہے کہ،
یہ اصل میں تھوڑا سا مشکل ہے.
تاکہ ایپل بھی ہے کہ آپ کو دیا ہے آپ کو صرف براہ راست استعمال کر سکتے ہیں تاکہ
واقعہ اپنے اپنے طور پر کچھ کرنے کے لئے.
پروٹوکولز اصل میں ہیں واقعی، واقعی بڑے پیمانے پر استعمال
میں مقصد سی ویسے میں حقیقت یہ ہے، ہر ایک کو اے پی پی
کچھ پکڑا اے پی پی کے مندوب ہے.
نازک کے اندر کے تمام ہے اے پی پی کو لوڈ کرنے کے لئے پروٹوکول.
>> چلو صرف وہاں ہے کہنے دو اے پی پی کے لئے ایک تقریب سے لوڈ کیا.
آپ کرنے کے بعد تو کیا ہونا چاہئے ایک اپلی کیشن پیدا، آپ کو اے پی پی کھولنے کے بعد،
کے بعد آپ کو بعد اپلی کیشن کو بند، یا تم سو آئی فون رکھ دیا.
ان کی ہے کہ تمام واقعات ہیں پہلے سے ہی آپ کو دیا گیا.
اور اصل میں ان ذرات اندر کوئی عمل درآمد نہیں ہو جائے گا.
ایپل صرف اس تقریب نے تم سے کہا کچھ ایونٹ ہوتا ہے جب کچھ نہیں ہوگا،
لیکن آپ کو اس کے ساتھ کیا کرتے ہیں تقریب میں آپ کو مکمل طور پر منحصر ہے.
>> وفد بنیادی طور پر ہے کلاس کو بتا رہا
اگر آپ ان کے پروٹوکول کو ہینڈل کرنا چاہئے کہ.
یہ تھوڑا سا ہے مبہم، لیکن یہ ہو جائے گا
ہم کرتے ہیں جب زیادہ واضح کارروائی میں ے کوڈ.
پروٹوکول پر وفد اصل میں ایک ہے احساس میں انتہائی مضبوط طریقہ کار
کہ ہم نے وفد کرتے ہیں تو ایک مخصوص طبقے پر،
ہم بنیادی طور پر سنبھال سکتے ہیں واقعات کے تمام قسم کے
ہمارے پاس کسی بھی طبقے کو استعمال کرتے ہوئے، بہت آسان آلہ.
>> تو ایک فوری مثال کے طور پر پروٹوکول پر وفد
میں صرف کے بارے میں بات کی ہو جائے گا.
اس پروٹوکول خاص طور پر کہا جاتا ہے tableview [اشراوی] کردار کو منتخب
[میں؟ انڈیکس؟] [؟ ماضی. ؟] تو یہ ایک پکڑا جائے گا تو ایسی صورت کے جب آپ
اصل میں ایک مخصوص پر نل آپ tableview میں سیل،
چلو صرف آپ کی میل میں کہنے دو یا آپ کے رابطے کی اے پی پی میں.
>> ایک تقریب کے اندر بھی نہیں تھا اصل میں کچھ نہیں کر رہے.
کام نہیں کرتا ڈیفالٹ کی طرف سے کچھ بھی.
لیکن اگر آپ وضاحت کر سکتے ہیں کیا تقریب کرتا ہے،
آپ کو اپنے اے پی پی سے باہر کرنا چاہتے کیا دیا.
بہت آسان آلہ.
اور سب کے ساتھ کہ ، میں بنیادی طور پر کہا جا رہا ہے
کچھ بہت بنیادی نحو کا احاطہ اور مقصد سی کے لئے بنیادی تصور
پروگرامنگ، اور ہم نے کچھ ایس کوڈ بھی کر سکتے ہیں.
بہت زیادہ دلچسپ.
اتنی ایس کوڈ اصل میں ایک ہے تھوڑا سا بھاری اکثریت سے
اگر آپ پہلی مرتبہ اسے کھولتے ہیں تو.
>> ایک فوری نوٹ، لہذا آپ کو اگر iOS ترقی کرنا چاہتا ہوں،
میں انتہائی آپ ایک میک مشورہ دیتے ہیں.
پر iOS ترقی کر رہی ہے کیونکہ ونڈوز واقعی مشکل، واقعی ہے.
یہ ممکن ہے، لیکن یہ بہت مشکل ہے.
اور تم ضرور کرنا جی ترمیم استعمال نہیں کرنا چاہتے.
تو کے کوڈ میں ہمارے پاس ہے کئی مختلف علاقوں.
آپ سب سے پہلے کے لئے کھولنے جب کوڈ آپ کو ایک ثانوی نیویگیشن علاقے دیکھیں گے،
جس میں بنیادی طور پر آپ سب کو ظاہر کرتا ہے اپنے موجودہ منصوبے میں ہے کہ فائلوں.
>> آپ کو ایک ٹول بار کے علاقے، ہے جس بنیادی طور پر خیالات کا انتظام کیا جاتا ہے،
یا کسی چھوٹی سی فوری ایس کوڈ خود کے بارے اوزار.
اور یہ اصل ایڈیٹر علاقہ ہے.
یہ علاقہ بہت ملتا جلتا جی ترمیم ہے، جی ترمیم کے مقابلے میں لیکن زیادہ بہتر.
اور اس حق کے علاقے میں، ہے افادیت کے علاقے بلایا.
علاقہ جب واقعی آسان ہو جاتا ہے آپ انٹرفیس تخلیق یا وضاحت کر رہے ہیں
آپ کے اپلی کیشن کے لئے کچھ فوری سیٹو.
>> اور آخری علاقے ٹھیک کرنا ہے.
اس علاقے کنسول پر مشتمل ہے.
تو کیا تم printf کا کہنا ہے کہ جب بھی، یا، ہمارے معاملے میں nslog
تمام نتائج ہیں جا یہاں پرنٹ کرنے کے لئے.
ٹھیک ہے؟
میرے خیال میں ہم واقعی بہت تیزی سے ایسا کر سکتے ہیں کا اندازہ لگانا iOS پروگرامنگ کے لئے ایک مثال.
اور اصل میں اپ ے کوڈ کھول دیں.
لہذا اگر آپ کو اپ ایس کوڈ کھولنے ہر وقت، یہ بات ہے اس طرح کچھ ظاہر کرنے کے لئے کی جا رہی.
یہ آپ کو پوچھنا جا رہا ہے تم کیا کرنا چاہتے ہو؟
تم سے کچھ شروع کرنا چاہتے ہیں بنیادی طور پر بے ترتیب، ایک کھیل کا میدان، آپ
صرف کے بغیر کوڈ جانچ کر سکتے ہیں اصل میں کسی بھی اپلی کیشن کے لئے ارتکاب.
>> آپ کو ایک نئے منصوبے بنانے کے لئے چاہتے ہیں؟
یا اگر آپ جاری رکھنا چاہتے ہیں موجودہ منصوبے پر کام کر رہے؟
ہمارے معاملے میں ہم جا رہے ہیں ایک نئے منصوبے بنانے کے لئے.
تو یہ، واقعی بہت اچھا ایس کی کوڈ اصل میں پہلے سے ہی ہے
کچھ ٹیمپلیٹ آپ کو دیا اشیاء کو پیدا کرنے کے لئے.
آپ کو ایک کھیل کرنا چاہتے ہیں تو، کوڈ S اصل میں آپ کے لئے ایک کھیل کے سانچے ہے،
، صفحہ بنیاد پر ایپلی کیشنز ہے ٹیب کی بنیاد پر درخواست.
اس صورت میں، ہم جا رہے ہیں بہت سادہ کچھ کرنے کے لئے،
اور ہم نے ایک استعمال کرنے کے لئے جا رہے ہیں ایک نقطہ نظر کی درخواست.
>> اس کے بعد صرف آپ کو فون کرنے کے لئے کیا چاہتے ہیں آپ کی مصنوعات، اور، تمہارا نام کیا ہے
کیا آپ کی شناخت کنندہ ہے، اور کیا آپ کی زبان استعمال کروں.
یہاں ہم کرنا نہیں چاہتے ہیں کور ڈیٹا کا استعمال کرتے ہوئے کی جانچ پڑتال.
کور ڈیٹا بنیادی طور پر ایک databasing iOS ہے.
آپ کور ڈیٹا کرتے ہیں تو، ے کوڈ کی وضاحت کی جا رہی ہے
آپ کے لئے ایک بہت زیادہ پیچیدہ کلاسیں.
تو ہم، سادہ سب کچھ رکھنے کے لئے بالکل اسی کور ڈیٹا کے بغیر کیا کرنے جا
ٹھیک ہے اب.
>> ہم کرنے جا رہے ہیں مسئلے کو استعمال کرتے ہوئے مسئلہ that-- ہے
ہم پیدا ہونے کے لئے جا رہے ہیں کہ ہم اس بنیادی طور پر C سے ماریو درآمد کرنا چاہتے ہیں
ایک iOS اپلی کیشن کے لئے.
تو چلو ماریو-کے iOS کہ بلا لے.
یقینا آپ کو آپ کیا وضاحت اپنے منصوبے میں ڈال کرنا چاہتے ہیں.
اور ہم وہاں چلتے ہیں.
>> تو یہ تھوڑا سا ہے زبردست، لیکن یہ اصل میں ہے
کیا اگر ہم سلائڈ پر دیکھا.
اور سب سے پہلے علاقے ہم ابھی دیکھیں بنیادی طور پر اس منصوبے کی ترتیب ہے.
تو سب کچھ آپ کرنا چاہتے ہیں منصوبے کے، آلہ کس قسم کی،
چلو صرف کہنے دو آلہ کس قسم آپ کو اپنے اے پی پی پر ظاہر کرنا چاہتے ہیں؟
یہ آئی فون، رکن کی یا آفاقی ہے؟
آلہ واقفیت، یہ سب اتنا.
بہت اہم نہیں، لیکن ہو، لیکن یہ کر سکتا ہے
آپ کو قائم جہاں ایک جگہ ہے اپنے منصوبے اگر آپ اصل
ایپل سٹور کرنے کے لئے نصب کرنا چاہتے ہیں.
>> ٹھیک ہے، چلو کو دیکھو ہمارے کوڈ اندر ہے کہ کچھ.
کی فائل نےوگیٹر کے ذریعے جانا.
اور ان تمام فائلوں ہے کہ پہلے سے ہی ہیں بہت اچھا سانچے، کے ساتھ آیا.
تو ہم نے ان میں سے ایک پر کلک کریں جب یہ اس کی طرح لگتا ہے.
جی ترمیم پر بہت ملتا جلتا.
لیکن آپ دیکھ سکتے ہیں کہ نحو اجاگر شاید ہے
میں تھوڑا بہت اچھے.
اور یہ اصل میں زیادہ ہے، جی ایڈیٹنگ سے زیادہ طاقتور.
اور آپ کو آٹو مکمل کر سکتے ہیں آپ کے لئے بہت سی چیزیں،
ہم بہت جلد دیکھیں گے کے طور پر.
>> کے طور پر اچھی طرح ٹھیک کرنا کے علاقے کھول دو.
ٹھیک ہے، ہم دیکھ سکتے ہیں کے طور پر، کنسول یہیں پر ہے.
اس سے آپ کو جہاں دیکھنے کے لئے جا رہے ہیں کیا ہے آپ printf یا کچھ nsloging میں ہیں.
مزید ado کے بغیر تو، اصل میں چلو اے پی پی کے مرتب اور دیکھتے ہیں کیا ہوتا.
ایک ضروری سہولت کے لئے ایس کوڈ، کہ ے کوڈ آن ہے
ایک فون سمیلیٹر کے ساتھ آتا ہے.
تو آپ کو ایک کی ضرورت کے لئے کی ضرورت نہیں ہے آئی فون، آپ کے منصوبے کی کوشش کرنا
ایس کوڈ کے لئے کہ انکرن کر سکتے ہیں آپ، جیسا کہ ہم ابھی دیکھ سکتے ہیں.
>> یہ بہت اچھی بات ہے.
یہ ایک چھوٹی سی لے جا رہا ہے وقت کا سا مرتب کرنے کے لئے
اور بنیادی طور پر ہمارے پاس ہے ایک خالی درخواست،
جس میں اصل میں کچھ نہیں کرتا.
لیکن اس سے آگاہ کریں.
یہ بہت خوفناک ہے.
یہ ہہ، بہت سے بھی زیادہ بہتر ہے؟
ٹھیک ہے، تو چلو کچھ شامل کرنے کی کوشش کریں.
ایک تھوڑا سا ہے کہ ایک فائل یہاں عجیب اسٹوری بورڈ کہا جاتا ہے.
یہ اصل میں ایک بہت اچھا ہے ے کوڈ کے لئے خوفناک خصوصیت.
کیونکہ ے کوڈ میں، آپ کو ڈریگ اصل میں کر سکتے ہیں اور انٹرفیس پر عناصر چھوڑ
اور یہ براہ راست دکھایا جائے گا.
چلو کہ کی کوشش.
>> ہم یہاں "ہیلو دنیا!" ایک لیبل ڈراپ
ہم اس سنٹر کر سکتے ہیں.
کافی ٹھنڈا.
اب ہم یہ سٹاپ تخروپن چلاتے ہیں.
یہاں ہم "ہیلو دنیا!" ہے
ہم بھی ابھی تک کسی بھی کوڈنگ ایسا نہیں کیا.
کیا heck کیا ہو رہا ہے؟
اس کو کس طرح طاقتور ہے انٹرفیس بلڈر ہو سکتا ہے.
کسی نے بھی کہا ہے کہ آپ کر سکتے ہیں شاید صرف
لکھنے کے بغیر ایک اپلی کیشن مکمل کوڈ کا شاید ایک ہزار لائنوں
بالکل اسی انٹرفیس بلڈر کا استعمال کرتے ہوئے کی طرف سے.
لیکن یہ شاید نہیں ہے سب سے بہتر طریقہ یہ کرنا ہو گا.
>> اب اصل کوڈنگ کے لئے نیچے اترو.
فائل کے لئے ڈھانچہ اتنا اصل میں واقعی دلچسپ ہے
، کیونکہ جیسا کہ آپ دیکھ سکتے ہیں کے طور پر، وہاں کہیں بھی کوئی اہم تقریب ہے.
دیکھ رہے ہو؟
ہم نے پہلے ذکر کیا ہے، اگر آپ کو یہ دیکھ سکتے ہیں کہ
ایک عمل درآمد فائل ہے ایک مخصوص طبقے کے لئے.
لیکن کوئی اہم کہیں بھی نہیں ہے.
تو جہاں اہم ہے؟
اصل میں، وہاں ایک اہم ہے، لیکن اہم اصل میں آپ سے پوشیدہ نہیں ہے.
اہم یہاں ہے.
کہ واقف لگ رہا ہے.
>> تو بنیادی طور پر کیا ہے iOS اہم اندر کر رہا ہے
اہم ہے جب بھی یہ ہے کہ بنیادی طور پر ہے جس میں کہا جاتا
اے پی پی، یہ قتل ہے جب بھی AppDelegate نامی ایک اعتراض پیدا.
میں نے پہلے ذکر کیا ہے، پوری اے پی پی اصل میں خود کی طرف سے کسی چیز ہے.
بنیادی طور پر، اس طرح میں اتنی iOS اپلی کیشن سنکلک کہہ رہی ہے
یہ ٹھیک ہے، میں پیدا کرنے کے لئے جا رہا ہوں AppDelegate نامی ایک مصنوعات،
اور یہ کہ میری اے پی پی کی جا رہی ہے.
لہذا آپ کو جانے کی ضرورت ہے کہ AppDelegate ذریعے
اور اس آدمی کیا کر رہا ہے دیکھ.
میرا کام میرے لئے کیا جاتا ہے.
>> اور AppDelegate میں آپ دیکھ سکتے ہیں کہ بعض بہت ہی عجیب افعال ہیں،
اچھا اصل میں کرنے کے طریقوں، کہ ایپل نے تم کو دیا ہے.
یہ کیا ہیں؟
ان اصل میں صرف پروٹوکول ہیں اس کے بارے میں بات کر رہا تھا.
تو کیا ان واقعات ہیں کہ ایپل کے ساتھ شروع کرنے کے لئے آپ کو دیا ہے.
کچھ بھی نہیں کچھ میں نہیں ہے ابھی کے افعال میں سے،
لیکن ہم ابتدا کرنا چاہتے ہیں تو ہماری اے پی پی کے لئے کچھ
کی نمائش میں داخلے سے قبل کسی بھی نقطہ نظر، ہم یہاں اس لئے کہ ایسا.
>> آپ کو صرف نام پڑھ سکتے ہیں اور مجھے لگتا ہے واقعہ اصل میں واقعی واضح ہے.
تو اب اہم پیدا کیا ہے AppDelegate لئے کسی چیز.
اور AppDelegate کیا کرنے جا رہا ہے کیا اصل میں بھی آپ سے پوشیدہ نہیں ہے.
AppDelegate شروع کرنے جا رہا ہے ViewController اسٹاک کو لوڈ.
تو یہ بنیادی طور پر شروع ہو رہا ہے آپ کے پاس ہے کہ تمام خیالات کو لوڈ کرنے میں
اور صرف قول رینڈر تنظیمی ڈھانچے کی بنیاد پر.
>> تو اس معاملے میں ہم صرف ہے یہاں ہے جس میں سے ایک قول،.
تاکہ صرف قول ہے کہ کہا جا رہا ہے.
ViewController منطق یہیں پر ہے.
یہ کہ اصل کوڈ آن ہے ہم نے ابھی دیکھا قول کو کنٹرول کرتا ہے.
ٹھیک ہے، چلو یہاں کچھ کرتے ہیں.
تاکہ viewDidLoad ایک واقعہ کی طرح لگتا ہے، جب یہ بھی ایک مندوب ہے، حقیقت میں،
یہ بھی ایک پروٹوکول ہے.
>> تو دیکھیں، بھری ہوئی ہے جو بھی تقریب کے اندر سب کچھ
پکارا جائے گا.
اس صورت میں ہم ہیلو "دیکھنا چاہیئے سے tianyu! "ہم پروگرام چلاتے ہیں.
یہ تھوڑا سا سست ہو رہی ہے اسٹوری بورڈ کی فائلوں کی تالیف.
اچھی طرح سے یقینا، ہم اس کے لئے ایک پیداوار دیکھتے ہیں.
یہ بہت اچھا ہے.
اب اصل ماریو کرتے ہیں.
مجھے وضاحت کرنے جا رہا ہوں بہت جلد کام.
marioWithLevels: (int میں) کی سطح کے نتائج.
>> ٹھیک ہے، یہ اصل میں بہت اچھا ہے ایس کوڈ آٹو تکمیل کی خصوصیت.
تو اگر آپ کے لئے لکھنے اور درج ٹائپ جب، یہ پہلے سے ہی سانچے دیا ہے
آپ کے لئے، جس میں بہت اچھی بات ہے.
کہ واقعی نظر آنا چاہئے تم لوگوں سے واقف.
معذرت، کہ میری غلطی ہے.
ٹھیک ہے، ڈاؤن لوڈ، اتارنا.
اس منطق واقعی واقف نظر آنا چاہئے تم لوگوں، خاص طور پر صرف ماریو کرنے کے لئے.
>> لیکن اب ہم کو پرنٹ کنسول ہر ایک وقت،
ہم کسی نہ کسی رکھنا چاہتے ہیں کیونکہ ہم چھپائی رہے ہیں کے ٹریک.
ہم استعمال کرتے ہیں کے لئے جا رہے ہیں بعد میں کسی نہ کسی طرح اس کے نتائج،
پرنٹ ظاہر کرنے کے لئے باہر صارف کو نتیجے.
تو بجائے ہم صرف ہو سب کچھ nslogging،
جس میں ہم سب کچھ ذخیرہ کرنے کر رہے ایک تقریب کال نتیجہ میں،
لیکن منطق بالکل ایک ہی ہے.
ہم اس کے، ہم ختم کرنے کے بعد صرف ہمارے نتائج کو پرنٹ.
>> اور یہاں کے بجائے باہر چھپائی میرے نام، ہم نے ایک تقریب کو فون کرنے جا رہے ہیں.
کیا ہوتا ہے دیکھتے ہیں.
افوہ، ظاہر ہے.
ہم نے ایک اچھا ہے یہاں بہت کم پرامڈ.
یہ بنیادی طور پر سی ہے، ہم صرف آپ کو ایک تقریب کہتے ہیں جہاں توڑ
اور کس طرح کی طرح ایک تقریب لگتی ہے.
میں مختلف نہیں ہے.
لیکن یہ اصل میں ہے نہیں بہت دلچسپ ہے یہاں،
ہم دیکھ نہیں رہے ہیں کیونکہ فون اے پی پی سے کچھ بھی.
>> تو آپ کو اصل app-- ایک فون ہے تو آپ اصل میں ماریو کے iOS حق ہے
اب، اگر آپ کو نہیں جا رہے ہیں کچھ بھی دیکھنا ہے کہ
کیونکہ ماریو کے ساتھ کیا کرنا کچھ ہے ایک کنسول میں ان تمام لوگوں کے نتائج
کسی صارف سے چھپے ہوئے ہیں.
اس سے آپ کو دیکھ کر کیا ہے جس میں "ہیلو دنیا!" ہے
اچھا نہیں.
اب ہم صارف کو دیکھ کرنے کی کوشش کرتے ہیں بالکل وہی جو ہم باہر چھپائی رہے ہیں.
تو ہم نے اب لیبل لگانے کے لئے کی ضرورت نہیں ہے.
چلو کوشش کرتے ہیں اور کچھ سمجھ باقی جو مفید ہو سکتا ہے.
>> اصل ایک ہے کہا جاتا ہے کہ عنصر
متن والے فیلڈ، جس کو ہمارے لئے بہت مددگار ثابت ہو.
یہ بنیادی طور پر ایک ایسے خطے کے دکھاتا ہے متن کے ترمیم کی جاسکتی ہے کہ.
تو ہے کہ واقعی مددگار لگ رہا ہے.
اب ہم اسے ھیںچ کر اسے چھوڑ دو.
واہ، ہم نے ایک متن کے نقطہ نظر ہے ہمارے خیال میں واقعی پسند ہیں.
کہ تھوڑا سا بھی بڑا ہے.
چلو اس کا چھوٹا بنا دو.
مرکز میں ڈال.
ساتھ ساتھ اس چھوٹے بنانے کے.
>> اب ہم جو ہم کر سکتے تھے، ایک ٹیکسٹ نقطہ نظر ہے ہمارے حتمی نتیجہ ظاہر کرنے کے لئے استعمال کیا جائے.
لیکن ابھی یہ بات ہے یقینی طور پر کام کرنے والا نہیں
no-- ہے کیونکہ وہاں ViewController ہم صرف
نہیں جانتا کہ وضاحت کی گئی وہاں سے باہر سب ایک ٹیکسٹ نقطہ نظر ہے.
لہذا اگر ہم کسی نہ کسی طرح کرنے کی ضرورت ہے متن کے نقطہ نظر سے جوڑتی ہم صرف
کلاس کے ساتھ پیدا کیا ہے کہ پہلے سے ہی ہمارے ساتھ آیا ہے.
>> ہم ایسا طریقہ ہے اصل میں واقعی جادو.
تاکہ اسٹوری بورڈ کو کھولنے.
وہاں ہے ایک خصوصی [اشراوی] [بلایا؟ اسسٹنٹ؟] [اشراوی].
اگر آپ کو اس پر کلک کرتے ہیں، یہ بات ہے دو فائلوں کو کھولنے کے لئے کی جا رہی.
ایک کے ایک طبقے اور دوسرے سے ایک ہے اس کے لئے ایک اسی قول ہے.
یہ بہت، بہت مددگار ہے.
اور ایسا صرف H فائل کے ذریعے جاتا ہے دو.
قابو میں رکھو، اس [اشراوی] منطق ہے.
کنٹرول دبائیں اور ڈریگ اعلامیے میں متن کے نقطہ نظر.
ہم کہ outputView فون کرنے جا رہے.
رابطہ قائم کریں.
تو یہاں ہم ایک نئی قرار دیا ہے ہمارے ViewController طبقے کے لئے جائیداد.
اور نئے جائیداد صرف متن قول ہے
ہم انٹرفیس کی عمارت میں تشکیل دے دیا ہے.
اس راہ میں ہم کر سکتے تھے تاکہ رسائی تمام ڈیٹا
اور اندر ہے کہ سب کچھ جوڑتوڑ بہت اچھا ہے جس میں پیداوار نقطہ نظر،.
>> ، ہماری اصل کوڈ میں So چلو اس کے ساتھ کچھ کرنا دو.
اس وقت تو ہم پرنٹنگ طرح ہیں جب حتمی نتیجہ باہر ماریو کے لئے،
ہم کچھ بھی نہیں کندےبانی میں ہیں.
میرے خیال میں ہمیں رکھ سکتا مطلب لاگنگ بیان.
اس کے علاوہ، ہم readout کے بھیجنے ہم صرف
پیداوار کے نقطہ نظر، کو پیدا کیا جس ہم صرف پیدا textview ایک UI ہے.
اب ہم دیکھتے ہیں کیا ہوتا.
واہ.
ابھی ہم اپلی کیشن میں ایک پرامڈ ہے.
>> صارف اپنے پیداوار کی وجہ سے دیکھ سکتے ہیں تو ہم اپنے کوڈ سے پیداوار کاپی کیا ہے
ہمارے انٹرفیس کرنے کے لئے.
یہ بہت اچھی بات ہے.
یہ اصل میں ایسا نہیں ہے دلچسپ ہم can-- کیونکہ
تمام اپلی کیشن ہے کر رہا ہے آپ کے لئے ایک پرامڈ دکھا،
اور آپ کو اس کے بارے میں کچھ نہیں کر سکتا ہے.
یہ خاص طور پر دلچسپ نہیں ہے.
تو اب ہم ایک بٹن بنانے دیں کہ خیالات صاف ہو جائے گا.
ایک بٹن مددگار ثابت ہو گا کہ لگتا ہے.
گھسیٹیں اور چھوڑیں.
بٹن ایک.
کے بٹن کو دو.
>> تو ہم نے بائیں کلک کرنے پر بٹن، نقطہ نظر واضح کرنا چاہئے.
سکرین پر کچھ بھی نہیں ہونا چاہئے.
اور ہم پر کلک کریں جب دائیں بٹن، ماریو،
قول دوبارہ ظاہر کی جا رہی ہے.
تو اس طرح ہم بھی کیا جادو کی چیزیں، کنٹرول اور ڈریگ
کلاس اعلان اسسٹنٹ director-- میں
اسسٹنٹ ناظرین میں.
اس صورت میں ہم وضاحت کر رہے ہیں کہ ہے کہ ایک کارروائی ہونا چاہئے.
clearMario.
>> تو یہاں ہم نے پہلے پیدا کیا ہے clearMario نامی ایک ایکشن،
جس میں کہا جائے گا کہ طریقہ ہے ہم بٹن پر واضح دبائیں جب بھی.
ہماری اصل کوڈ میں تو، صرف دو آؤٹ پٹ متن اور پیداوار نقطہ نظر ڈال دیا
کچھ بھی نہیں میں، اور اس طرح یہ بات واضح ہونا ظاہر کرے گا.
اس کے علاوہ، کی تخلیق ہیں runMario نامی ایک اور طریقہ.
اوہ معاف کیجئے گا، کہ ایک پراپرٹی نہیں ہونا چاہئے.
ٹھیک ہے، یہ ہونا چاہئے کے اس کے ساتھ ساتھ ایک کارروائی ہو.
>> اور اس تقریب میں ہے جب کہا جاتا ہے، ہم صرف ماریو دس چلانے.
امید ہے کہ ٹھیک ہو جائے گا.
اسے مرتب کرتا ہے؟
جی ہاں.
اب ہم ایک نقطہ نظر ہے.
ہم ایک پیداوار ہے.
اور ایسا صرف ہوتا ہے دیکھتے ہیں.
وہ چلی گئی ہے.
اسے پھر سے واپس آ گیا ہے.
لہذا ہم یہاں بیان کیا تقریب کے کس قسم
جب پکارا جائے گا ہم کچھ میں ٹائپ کریں،
ہم ایک مخصوص بٹن دبائیں جب.
یہ بنیادی طور پر ہے ہدف کارروائی سکیم
ایونٹ کے لئے کارفرما مقصد سی میں ایک پروگرامنگ
>> اس کے علاوہ، یہ بہت دلچسپ نہیں ہے
ہم سچ کو تبدیل نہیں کر سکتے کیونکہ اہرام کی اونچائی کتنی ہو جائے گا،
تو ہم شاید کسی نہ کسی طرح کرنا چاہتے ہیں صارف کی جانب سے ایک ان پٹ حاصل
اور کی اونچائی تبدیل اہرام جو کچھ وہ پیداوار پر مبنی.
تو ہم ایسا کرنے جا رہے ہیں.
تو ہم نے runMario فون جب اس وقت، ہم صرف ماریو براہ راست فون نہیں کرتے.
اس میں سے ایک کا عنوان.
>> مندوب.
یہ بہت دلچسپ ہے.
ایک مندوب کیا ہے؟
میں یہاں خود ڈال کرنے جا رہا ہوں.
اور ہم کو دیکھنے کے لئے جا رہے ہیں کیا کہ بعد میں مطلب ہے.
تو یہاں ہم بنیادی طور پر پیدا کیا ہے ایک مخصوص مثال ایک UI الرٹ بلایا
نقطہ نظر.
ایک UI الرٹ قول ہے بنیادی طور پر آپ کو کیا
ہر وقت کچھ ٹمٹمانے دیکھیں ان پٹ کے لئے آپ سے کہتا ہے اور اپ،
آپ کوشش کر رہے ہیں کیا ہو گا جب کی طرح ایک اپلی کیشن سٹور پر کچھ خریدنے کے لئے.
>> اس کے علاوہ، آپ کے بعد اسے تخلیق، ہم صرف الرٹ دکھانے.
ٹھیک ہے، صرف فوری طور پر چلو ٹیسٹ کے کہ کام یا نہیں.
کہ بہت اچھا ہے.
اب ہم اصل میں ایک تخلیق ہیں UI الرٹ کے لئے ان پٹ فیلڈ.
یہ ہم ایسا کس طرح ہے.
اور ہم نے ایک ہونا چاہئے الرٹ کے لئے ان پٹ کے نقطہ نظر.
بہت ٹھنڈا.
چلو صرف 10 کہنے دو.
>> یہ درست کچھ نہیں کر رہا اب کال اصل کیونکہ
ماریو عمل کے لئے تبدیل نہیں کیا.
تو یہ ایک چھوٹا سا بن گیا ہے سا عجیب ہے جب بھی، کیونکہ
ہم، جب بھی ہم نیچے ایک بٹن دبائیں الرٹ نقطہ نظر میں ایک بٹن دبائیں،
کچھ، کچھ نہیں ہونا چاہئے لیکن ایسا ہوتا نہیں ہے.
ہم یہ کیسے پکڑ سکتا ہوں؟
کیسے کر ہم ایک صارف جانتے ہیں کہ ایک انتباہ قول کو برطرف کردیا
اور پہلے ہی کی وجہ سے، ایک بڑی تعداد میں داخل ہوئے ٹھیک ہے اب کچھ بھی نہیں اصل میں ہو رہا.
>> ویسے، آپ اندازہ ہو سکتا یہ درست ہے، وفد.
پس سب کے علاوہ میں ان کا اعلان،
ہم ایک نئی وفد سے شامل کرنے کی ضرورت اس UI الرٹ قول مندوب کو بلایا.
ہر ایک ہیں تاکہ تعامل یا تقریب
ہم ضرورت کے لئے جا رہے ہیں کہ UI الرٹ نظر سے
سنبھالا جا رہا ہے اس کے ساتھ ساتھ ہماری کلاس کی طرف سے.
>> پس اس کے علاوہ میں، ہو جائے گا انڈیکس میں الرٹ قول بٹن پر کلک کریں.
اس تک پہنچ جاتا ہے.
ہم ہے کہ صورت میں نے پہلے ہی اس طرح ہم نے
ایک پروٹوکول پتہ چلا کہ جب واقعہ سنبھال لیں گے
ہم نے کیا بٹن پر کلک کریں الرٹ قول پر.
تو ہر وقت ہے کہ ہم برخاست الرٹ قول، ایسا نہیں ہونے دینا چاہئے.
مجھے صرف بہت جلد اس کی جانچ کرتے ہیں.
اچھی طرح سے یقینا، ہم یہاں تک پہنچ چکے ہیں.
>> تو یہاں، کیا ہم نہیں کریں گے دراصل اصل ہے حاصل
تو ہم باہر نکلنا چاہتا ہوں INT کے حاصل ہم پہلے کی ہے کہ متن
الرٹ نظر میں داخل ہوئے.
اور متن کی بنیاد پر، ہم ہیں ماریو ظاہر کرنے کے لئے کی جا رہی.
یہ بہت تیزی سے بدل جاتا ہے باہر یہ اصل میں کام کرتا ہے یا نہیں اگر.
اس صورت میں، ہم ان پٹ ہے تو، ہم 10 کو دیکھنا چاہئے، 10، کا کہنا ہے کہ.
>> بہت اچھا، ہم یہاں ایک نمبر ہے.
یہ بہت اچھی بات ہے.
اب آخری مرحلہ تو be-- گا آخری مرحلہ ہم ابھی کیا کرنے کی ضرورت
صرف ایک کے ساتھ ماریو کو فون کر رہا ہے سطح کی ان پٹ پر مبنی
کہ ہمیں چوکس نظر میں ڈال دیا ہے.
تو ہم نے تبدیل کرنے کی ضرورت iOS کے میں اس جملے.
جامد اتپرواہ بہت خوفناک ہے.
اور پھر ہم صرف خود کو فون marioWithLevels قدر.
کی مرضی کو دیکھنے دیں کہ اصل میں کام کریں یا نہ کریں.
>> ہم پہلے ہی ایک پرامڈ دی کر رہے ہیں.
کی اونچائی تبدیل کرنے کی کوشش کرتے ہیں.
کہ اصل میں کام کرتا.
یہ بہت اچھا ہے.
کہ اب آپ کر سکتے ہیں تو صرف ان پٹ کو آپ چاہتے ہیں کسی بھی قیمت.
چلو صرف چار کہنے دو.
بہت خوفناک ہے.
اس طرح یہ بنیادی طور پر ہے واقعی ایک فوری مثال
کے ایس کوڈ میں ایک منصوبہ بنانے کا طریقہ اور واقعی میں فوری طور پر تار کرنے کے طریقے
کچھ واقعی بہت سادہ واقعات اور افعال.
>> تاکہ منبع جا رہی ہے بعد میں لائن ڈال دیا جائے گا.
آپ دلچسپی رکھتے ہیں تو اگر iOS کے ماریو کیسے کام کرتا ہے میں،
میں نے بالکل ایک ہی ڈال کرنے کے لئے جا رہا ہوں بعد CS50 کی ویب سائٹ پر منصوبوں.
ہم بنیادی طور پر کے ساتھ کیا کر رہے ہیں موسم گرما میں، ہم اور ختم کرنے سے پہلے
میں تو صرف تم لوگ اشارہ کرنا چاہتے ہیں کچھ واقعی خوفناک وسائل کہ
آن لائن دستیاب ہیں.
>> ظاہر ہے ایپل دستاویزات بہت مدد گار بننے جا رہی ہے.
لیکن اس کے علاوہ میں، مجھے خاص طور پر ، چار ذرائع، کوڈ اسکول کی سفارش کرتے ہیں
درخت کے گھر، AppCoda اور WWDC کے ویڈیوز.
کوڈ اسکول اور درخت کے گھر ہیں دو آن لائن تعلیم کی ویب سائٹس،
جس میں خاص طور پر توجہ مرکوز سافٹ ویئر انجینئرنگ پر.
خاص طور پر کوڈ کو اسکول کے لئے، وہ iOS پر واقعی بہت اچھا سبق ہے.
>> کہ اس کے لئے واقعی ایک فوری مثال ہے.
وہ اصل میں ایک بہت cute-- تخلیق اس چھوٹی سی پیاری آئی فون کی طرف دیکھو
وہاں پر یار، یہ بہت خوفناک ہے.
اور جس طرح سے وہ مقصد اس بات کی وضاحت C نحو بالکل واضح ہے.
درخت کے گھر پر ایک ہی ہے.
اور AppCoda ایک فورم ہے.
یہ اصل میں چلایا گیا تھا کہ ایک بلاگ ہے ایک بہت تجربہ کار مقصد سی کی طرف سے
پروگرامر.
اور AppCoda میں ان تمام سبق ہیں بہت مختصر اور لاگو کرنے کے لئے آسان،
انتہائی سفارش کی.
>> اور اگر آپ کو ایک ڈویلپر ہیں، ضرور چیک کر جانا
کہ کس طرح WWDC ویڈیوز کو جہاں آپ کر سکتے ہیں تازہ ترین iOS پروگرامنگ کے بارے میں جاننے کے
کی تکنیک، APIs اور لائبریریوں.
تو یہ بہت زیادہ ہے سیمینار کے لئے یہ.
بہت بہت شکریہ.
اور میں آپ کو مزہ آئے امید ہے کہ آپ کے اپنے iOS اپلی کیشن پیدا.