1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [سیمینار] [iOS: ایک مالک کی طرح اطلاقات لکھنا] 2 00:00:02,000 --> 00:00:04,000 [ٹومی MacWilliam] [ہارورڈ یونیورسٹی] 3 00:00:04,000 --> 00:00:08,000 [یہ CS50 ہے.] [CS50.TV] 4 00:00:08,000 --> 00:00:12,000 >> ٹھیک ہے، سب، iOS کا استقبال: ایک مالک کی طرح اطلاقات لکھنا. 5 00:00:12,000 --> 00:00:16,000 یہ سیمینار فون کے لئے اطلاقات کو لکھنے پر توجہ مرکوز کی جا رہی ہے 6 00:00:16,000 --> 00:00:19,000 اور رکن کے لئے کے نتیجے میں اطلاقات لکھنے، اور اسی طرح ہم نے بنیادی طور پر کے ذریعے چلنے کے لئے جا رہے ہیں 7 00:00:19,000 --> 00:00:23,000 کس طرح ایک اپلی کیشن کو بنانے کے لئے کے ایک جوڑے کے مختلف مثالیں Tic دوسس پیر کی طرح ایک سادہ کھیل، 8 00:00:23,000 --> 00:00:26,000 یا اگر آپ کو نیوز ریڈر کے کسی نہ کسی طرح ایک اپلی کیشن بنانے میں زیادہ دلچسپی رکھتے ہیں 9 00:00:26,000 --> 00:00:30,000 یا کچھ اور ہے کہ انٹرنیٹ میں وہ ساتھ ساتھ کے بارے میں بات کریں گے کے ساتھ انٹرایکٹ کر سکے. 10 00:00:30,000 --> 00:00:32,000 یہ ہمارا مختصر ایجنڈا ہے. 11 00:00:32,000 --> 00:00:36,000 >> IOS اطلاقات مقصد C-نامی زبان میں لکھا جاتا ہے، 12 00:00:36,000 --> 00:00:39,000 اور اسی طرح یہ ایک چھوٹا سا C کی طرح لیکن واقعی نہیں بالکل تھوڑا سا ہے، 13 00:00:39,000 --> 00:00:41,000 تو ہم زبان خود کے بارے میں تھوڑا بہت بات کر جائے گی 14 00:00:41,000 --> 00:00:45,000 اور پھر کس طرح فون اس اپلی کیشن کو کہا جاتا XCode پروگرام کا استعمال کرتے ہوئے اطلاقات کی تعمیر، 15 00:00:45,000 --> 00:00:48,000 اگر آپ اسے ڈاؤن لوڈ نہیں کیا ہے ابھی تک ڈاؤن لوڈ، اتارنا اب شروع کرنے کے لئے آزاد محسوس کرتے ہیں. 16 00:00:48,000 --> 00:00:50,000 کئی گیگا بائٹ ہے. 17 00:00:50,000 --> 00:00:54,000 یہ اپلی کیشن سٹور پر مفت ہے، تو آپ کو میک ہے کی ضرورت ہو گی 18 00:00:54,000 --> 00:00:57,000 مثالی طور پر OS ایکس کا تازہ ترین ورژن چل رہا 19 00:00:57,000 --> 00:00:59,000 اگر آپ ان کے ساتھ نہیں ہو مسئلہ نہیں. 20 00:00:59,000 --> 00:01:02,000 ہم نے آپ کے استعمال کے لئے سائنس دستیاب مرکز میں Macs ہیں 21 00:01:02,000 --> 00:01:05,000 XCode نصب، تو ان کی ترقی کے لئے استعمال کرنے کے لئے بلا جھجھک. 22 00:01:05,000 --> 00:01:07,000 اگر آپ کو ایک اپلی کیشن کرنا چاہتے ہیں لیکن ایک میک نہیں ہے، فکر نہ کرو. 23 00:01:07,000 --> 00:01:09,000 کیمپس وسائل کی اس کے لئے بہت کچھ ہے. 24 00:01:09,000 --> 00:01:15,000 اور تو ہم مختلف اطلاقات کو آپ کو بنا سکتے ہیں کے 2 بڑے مثالیں شامل کرنے جا رہے ہیں. 25 00:01:15,000 --> 00:01:19,000 مقصد C-تکنیکی C. کے سپر سیٹ کیا کہتے ہیں 26 00:01:19,000 --> 00:01:24,000 اس کا مطلب یہ ہے کہ ہے کہ کسی بھی C کوڈ بھی درست کوڈ مقصد C ہے. 27 00:01:24,000 --> 00:01:29,000 اس کا مطلب یہ ہے کہ ہم ڈکٹ کی قسم C. کچھ اضافی خصوصیات پر ٹیپ 28 00:01:29,000 --> 00:01:33,000 ان کی خصوصیات میں سے کچھ کبھی malloc دوبارہ لکھنے شامل نہیں ہونے، بھگوان کا شکر ہے، 29 00:01:33,000 --> 00:01:36,000 ان پاگل اشارہ کے بارے میں فکر کرنے کی ضرورت ہے اور انہیں آزاد اور جو چیزیں 30 00:01:36,000 --> 00:01:40,000 آپ سی کے بارے میں نفرت کرتا اور اس قسم کا مقصد C میں چلے گئے. 31 00:01:40,000 --> 00:01:43,000 >> اب، اس کا مقصد C-بھی ایک بہت بڑا معیار لائبریری ہے، 32 00:01:43,000 --> 00:01:47,000 لہذا بہت زیادہ فعالیت مقصد C-مفت اندر کے لئے ہے. 33 00:01:47,000 --> 00:01:50,000 جب ہم PHP لکھ رہے تھے یاد ہم نے محسوس کیا ہے کہ ہم سے چلا گیا 34 00:01:50,000 --> 00:01:54,000 یہ سب سے چھوٹی ان تمام پاگل چیزیں جو آپ کر سکتے ہیں کے وشال لائبریری کی زبان ہے. 35 00:01:54,000 --> 00:01:56,000 ایک ہی بات iOS میں ہوتا ہے. 36 00:01:56,000 --> 00:01:59,000 بدھ کیلنڈر کی طرح چیزوں کے لئے اشیاء ہے، اور سچ میں کچھ 37 00:01:59,000 --> 00:02:05,000 آپ کو شاید مقصد-C کے عمل میں پہلے سے ہی موجود ہے ممکنہ طور پر سوچ سکتے ہیں. 38 00:02:05,000 --> 00:02:08,000 مقصد C-کا مقصد حصہ کچھ حوالہ ہے 39 00:02:08,000 --> 00:02:11,000 کہا جاتا پروگرامنگ آبجیکٹ پر مبنی. 40 00:02:11,000 --> 00:02:14,000 یہ ایک نیا تصور کی طرح ہے، لیکن ہم اصل میں زیادہ تر سیکھا ہے 41 00:02:14,000 --> 00:02:17,000 ان تصورات کی پہلے ہی بہت ہے. 42 00:02:17,000 --> 00:02:19,000 آبجیکٹ پر مبنی پروگرامنگ کے پیچھے خیال یہ ہے کہ آپ کو تشکیل جا رہے ہیں 43 00:02:19,000 --> 00:02:23,000 ان چیزوں کے ارد گرد آپ کے کوڈ کا ایک بہت کلاس کہا جاتا ہے، 44 00:02:23,000 --> 00:02:26,000 اور ان کلاسوں نے واقعی structs عما ہیں. 45 00:02:26,000 --> 00:02:30,000 struct کے اندر ہم نے بنیادی طور پر یہاں کہا کہ ایک بات یہ ہے، 46 00:02:30,000 --> 00:02:32,000 اور اس بات کے ارکان ہو سکتا ہے. 47 00:02:32,000 --> 00:02:35,000 مثال کے طور پر، ایک لنک کی فہرست میں ایک نوڈ سے دوسری چیزوں کے کر سکتے ہیں ہے 48 00:02:35,000 --> 00:02:38,000 ایک قیمت کی طرح،، فہرست میں اگلے نوڈ پوائنٹر 49 00:02:38,000 --> 00:02:44,000 اور مل کر کہ پوائنٹر اور اس قدر struct کی یہ ایک مثال کے طور پر مشتمل ہے. 50 00:02:44,000 --> 00:02:47,000 طبقات بہت ملتے جلتے ہیں سوائے 51 00:02:47,000 --> 00:02:50,000 کلاس ان کے اندر کام بھی کر سکتے ہیں. 52 00:02:50,000 --> 00:02:54,000 جب ہم نے ایک struct کا اعلان کر دیا ہے، ہم int ن یا نوڈ اگلے * ہی کہہ سکتا ہے. 53 00:02:54,000 --> 00:02:57,000 >> اب ہم مقصد C کے ساتھ کام کرتا ہے اصل میں ڈال کر سکتے ہیں 54 00:02:57,000 --> 00:02:59,000 کے اندر وہ چیزیں. 55 00:02:59,000 --> 00:03:03,000 ایک اور چیز کلاس میں کہا گیا ہے کہ کر سکتے ہیں ہے کہ وہ دوسری کلاس سے ڈیٹا وارث کر سکتے ہیں. 56 00:03:03,000 --> 00:03:07,000 مثال کے طور پر، ہم نے کلاس مقصد C بلٹ میں ایک گروپ میں تلاش کریں گے. 57 00:03:07,000 --> 00:03:11,000 ان میں سے ایک طبقے ہو سکتا ہے کہ تو پردے کے لئے نظر کی نمائندگی کرتا ہے، 58 00:03:11,000 --> 00:03:14,000 اور اس لئے میں کہہ کر میرے اپنے نقطہ نظر کو لاگو کرنے کے لئے کرنا چاہتے ہیں 59 00:03:14,000 --> 00:03:18,000 ہم بنیادی طور پر ایپل میں سے زیادہ کسی کا کہنا ہے کہ، شاید واقعی اچھے لوگ، 60 00:03:18,000 --> 00:03:21,000 میرے لئے اس کلاس نے لکھا ہے، اور یہ بٹن کی نمائش جیسی چیزوں ہینڈل 61 00:03:21,000 --> 00:03:25,000 یا سکرین دے، اور ہم واقعی دکھ ہو گا 62 00:03:25,000 --> 00:03:28,000 کہ تمام فعالیت خود کو لاگو کرنے کے لئے، اور اسی طرح صرف کی طرف سے 63 00:03:28,000 --> 00:03:31,000 ڈیٹا inheriting ہمارے پاس سب کچھ ہے کہ آپ اس کلاس میں کیا کہہ سکتے ہیں 64 00:03:31,000 --> 00:03:34,000 میں نے بھی میری کلاس کے اندر چاہتے ہیں، اور پھر میں کچھ دیگر چیزیں کرنے کے لئے جا رہا ہوں، 65 00:03:34,000 --> 00:03:37,000 یعنی ایک اپلی کیشن پر عمل در آمد کی. 66 00:03:37,000 --> 00:03:40,000 یہ ہے کہ وہ کیا لفظ وراثت کا مطلب ہے کہ. ہم نے ایک سے زیادہ ٹھوس مثال کے طور پر دیکھیں گے. 67 00:03:40,000 --> 00:03:42,000 >> اور آخر میں، آبجیکٹ پر مبنی پروگرامنگ کے ساتھ کلید یہ ہے کہ 68 00:03:42,000 --> 00:03:45,000 یہ ڈیٹا encapsulation کی طرف جاتا ہے. 69 00:03:45,000 --> 00:03:48,000 میں ہماری پریشانی میں سے کچھ کا تعین کرتا ہے ہم ان بڑا، عالمی متغیر کر سکتے ہیں 70 00:03:48,000 --> 00:03:51,000 اور ہر جگہ globals، اور یہ کہ ہے کہ ہم کس طرح ریاست کے ٹریک کو برقرار رکھنے چاہئے. ہے. 71 00:03:51,000 --> 00:03:55,000 کلاس کے ساتھ ہم کسی چیز کے اندر کے بارے میں معلومات encapsulating شروع کر سکتے ہیں. 72 00:03:55,000 --> 00:03:58,000 اگر ہم ہمارے اپلی کیشن پر ایک سکرین ہے، ہم سے کوئی ڈیٹا نہیں کی ضرورت ہے 73 00:03:58,000 --> 00:04:01,000 اس کے بارے میں ہمارے اے پی پی کے اندر میں ایک اور سکرین، 74 00:04:01,000 --> 00:04:04,000 اور اس کلاس کے اندر اندر چیزوں encapsulating کی طرف سے اس اصل کی طرف جاتا ہے 75 00:04:04,000 --> 00:04:08,000 زیادہ بہتر کے کوڈ کا ڈیزائن، اور یہ اضافی خصوصیات میں سے کچھ کے ساتھ ممکن ہے 76 00:04:08,000 --> 00:04:11,000 مقصد C-. 77 00:04:11,000 --> 00:04:15,000 Forewarning، مقصد C-نحو کیلے ہے. 78 00:04:15,000 --> 00:04:19,000 یہ کچھ نہیں ہم پہلے دیکھا ہے کی طرح ہے، 79 00:04:19,000 --> 00:04:22,000 تو یہ سیکھنے وکر عادی ہو تو تھوڑا سا ہے 80 00:04:22,000 --> 00:04:24,000 کیا اس heck کیا مطلب ہے؟ 81 00:04:24,000 --> 00:04:27,000 لیکن ایک بار آپ نے پہلے کہ ابتدائی سیکھنے وکر یہ واقعی، واقعی ہموار ہے 82 00:04:27,000 --> 00:04:29,000 اطلاقات لکھنا شروع. 83 00:04:29,000 --> 00:04:33,000 >> ایک کلاس کا اعلان کرنے کے لئے، یہاں کہنا میری کلاس ہے، یہ موجود ہے، 84 00:04:33,000 --> 00:04:35,000 اور شاید یہاں کچھ چیزیں ہیں کہ میں بعد میں وضاحت کرنے جا رہا ہوں، 85 00:04:35,000 --> 00:04:38,000 میں @ انٹرفیس کہنے جا رہا ہوں. 86 00:04:38,000 --> 00:04:41,000 میں @ انٹرفیس کہنے جا رہا ہوں. میں میری کلاس میں ایک نام دینے جا رہا ہوں. 87 00:04:41,000 --> 00:04:43,000 اور پھر بعد میں کہیں اور میں آخر @ کہنے جا رہا ہوں، 88 00:04:43,000 --> 00:04:46,000 @ انٹرفیس اور @ اختتام کے درمیان میں سب کچھ 89 00:04:46,000 --> 00:04:48,000 میری کلاس ہو جائے گا. 90 00:04:48,000 --> 00:04:51,000 یہ ہمارے H فائلوں کے اندر کیا ہے جا رہا ہے. 91 00:04:51,000 --> 00:04:55,000 جیسا کہ سی ہمارے H فائلوں. بنیادی طور پر یہاں نے کہا کہ کچھ چیزیں موجود ہیں. 92 00:04:55,000 --> 00:04:57,000 میں تم سے ضروری نہیں کہہ رہا ہوں جو انہوں نے ابھی تک کرتے ہیں، 93 00:04:57,000 --> 00:04:59,000 لیکن سنکلک جانتے ہیں کہ وہ موجود ہیں کی ضرورت ہے. 94 00:04:59,000 --> 00:05:04,000 بعد ہماری میٹر کے اندر فائلوں کیونکہ مقصد C-M- 95 00:05:04,000 --> 00:05:08,000 کہاں ہے ہم اصل میں ان کلاسوں کی وضاحت کرنے جا رہے ہیں. 96 00:05:08,000 --> 00:05:11,000 ہمارے سی فائلوں. کی طرح، ہم نے افعال کے لئے عمل درآمد کو فراہم کی. 97 00:05:11,000 --> 00:05:15,000 اندر ہم یہاں ہماری فائل میٹر. کہنے جا رہے ہیں وہ ہے جو کے افعال میں سے سب 98 00:05:15,000 --> 00:05:18,000 میری کلاس کیا وہ سب کے اندر. 99 00:05:18,000 --> 00:05:22,000 اور آخر میں ایک struct، اندر ہم ان گھوبگھرالی منحنی خطوط وحدانی کے اندر کہہ سکتے 100 00:05:22,000 --> 00:05:25,000 int ن یا نوڈ اگلے *، 101 00:05:25,000 --> 00:05:28,000 اور ہم مقصد C میں مطلوبہ الفاظ @ املاک کو استعمال کرنے کے لئے جا رہے ہیں، 102 00:05:28,000 --> 00:05:31,000 اور یہ ہے جو خصوصیات کی وضاحت کرنے جا رہا ہے، 103 00:05:31,000 --> 00:05:36,000 یا کام کرتا ہے نہ کہ میری کلاس کا ایک حصہ ہیں. 104 00:05:36,000 --> 00:05:40,000 >> افعال کالنگ مقصد C-بھی کیلا ہے. 105 00:05:40,000 --> 00:05:43,000 جب ہم سی افعال کا اعلان کیا ہم int FOO کی طرح کچھ نے کہا کہ 106 00:05:43,000 --> 00:05:46,000 اور کھلے قوس اور پھر اس کے دلائل کی ایک فہرست دی ہے. 107 00:05:46,000 --> 00:05:51,000 یہ وہی ہے جو طریقوں یا افعال اعلان مقصد C کی طرح لگتا ہے. 108 00:05:51,000 --> 00:05:54,000 اگر میں ایک تقریب یا ایک طریقہ کا اعلان کرنا چاہتے ہیں 109 00:05:54,000 --> 00:05:58,000 جہاں میں طریقہ کہہ رہا ہوں واقعی میں صرف ایک تقریب میں ہے کہ ایک طبقے کے ایک رکن ہے، 110 00:05:58,000 --> 00:06:01,000 تو تبادلہ کی قسم، لیکن سچ میں نہیں، 111 00:06:01,000 --> 00:06:03,000 تو میرے طریقے کے اندر میں ایک نیا طریقہ تشکیل دینا چاہتے ہیں. 112 00:06:03,000 --> 00:06:06,000 یہ کچھ بھی نہیں ہے میں واپس جا رہا ہے، تو اس قسم کی باطل ہو جا رہا ہے. 113 00:06:06,000 --> 00:06:08,000 یہ میری تقریب کی واپسی کی قسم ہے. 114 00:06:08,000 --> 00:06:11,000 اب ہم parens یہاں ہے کیونکہ مجھے پتہ نہیں ہے. 115 00:06:11,000 --> 00:06:14,000 اگلا، دوسرا اپنی تقریب کے نام پر کی جا رہی ہے، 116 00:06:14,000 --> 00:06:17,000 اور پھر آخر میں ہم صرف ہم سی میں تھا کی طرح ایک نیم وقفہ ہے 117 00:06:17,000 --> 00:06:19,000 کیا یہاں نیا ہے اس آدمی ہے. 118 00:06:19,000 --> 00:06:22,000 یہ ہیفین اصل میں ضروری ہے، اور کیا ہے اس کا کہنا ہے کہ ہے کہ 119 00:06:22,000 --> 00:06:26,000 یہاں یہ طریقہ ایک طبقے کی ایک مثال کے طور پر فون کیا ہوگا. 120 00:06:26,000 --> 00:06:29,000 >> کے بعد ہم نے ہمارے structs کا اعلان شاید ہم جیسے کچھ کہا 121 00:06:29,000 --> 00:06:32,000 struct نوڈ N، کہ اور اصل میں پیدا 122 00:06:32,000 --> 00:06:35,000 یا ان structs میں سے ایک مثال تاکہ میں کام کر بھی شروع کر سکتا ہے 123 00:06:35,000 --> 00:06:38,000 اس کے اندر کیا ہے، تو اس ڈیش کا مطلب یہ ہے کہ ہم نے 124 00:06:38,000 --> 00:06:41,000 کلاس instantiate ہم مثال طرح کہ struct 125 00:06:41,000 --> 00:06:43,000 اس سے پہلے کہ ہم اس پر اس طریقے کو فون کر سکتے ہیں. 126 00:06:43,000 --> 00:06:46,000 اگر میں اپنے طریقے کے دلائل انہوں نے مزید کہا شروع کرنا چاہتے ہیں 127 00:06:46,000 --> 00:06:48,000 اس سے بھی زیادہ کیلے ملتی ہے. 128 00:06:48,000 --> 00:06:50,000 اپنے طریقے کا نام ہے. 129 00:06:50,000 --> 00:06:53,000 اس وقت میں ایک بڑی آنت رہا ہوں اور یہ بڑی آنت کے بعد اسے یہاں کا کہنا ہے کہ کچھ دلائل آتا ہے. 130 00:06:53,000 --> 00:06:56,000 یہ طریقہ ایک دلیل لیتا ہے. 131 00:06:56,000 --> 00:06:59,000 اس کی دلیل کی قسم ایک int ہے، اور یہ دلیل کے نام پر ہے 132 00:06:59,000 --> 00:07:03,000 یا متغیر ہے کہ میں نے طریقہ کار کے اندر کا استعمال کرتے ہوئے شروع کرنے کے لئے جا رہا ہوں میں کہا جاتا ہے. 133 00:07:03,000 --> 00:07:05,000 ایک بار پھر، یہ طریقہ ہے. یہ ایک دلیل لیتا ہے. 134 00:07:05,000 --> 00:07:10,000 >> اگر آپ مزید دلائل انہوں نے مزید کہا شروع کرنا چاہتے ہیں تو زیادہ کیلے ہو جاتا ہے 135 00:07:10,000 --> 00:07:13,000 کہ ہم اس برہدانتر ہے جو یہاں کا کہنا ہے کہ دلائل کی فہرست آتا ہے ہے. 136 00:07:13,000 --> 00:07:15,000 یہ پہلی دلیل ایک عدد صحیح ہے. 137 00:07:15,000 --> 00:07:17,000 اب، یہ دوسری دلیل دلچسپ ہے. 138 00:07:17,000 --> 00:07:20,000 متغیر کہ میں میری تقریب کے اندر استعمال کرنے جا رہا ہوں 139 00:07:20,000 --> 00:07:23,000 ہے F کہا جاتا ہے، تو اندر میں میری تقریب کے کہہ سکتے 140 00:07:23,000 --> 00:07:25,000 F + = 1 یا کچھ اور. 141 00:07:25,000 --> 00:07:30,000 یہ بات بنیادی طور پر کہ بحث یا پیرامیٹر کے لئے ایک چابی ہے. 142 00:07:30,000 --> 00:07:34,000 جیسا کہ ہم نے کلیدی قدر جوڑوں تھے اور JSON یا ساہچری arrays کی طرح کچھ 143 00:07:34,000 --> 00:07:37,000 مقصد C-کہتے ہیں، ٹھیک ہے کا فیصلہ کیا، صرف اس لئے کہ یہ بہت واضح ہے 144 00:07:37,000 --> 00:07:39,000 جب آپ کو ایک طریقہ ہے جو ان تمام پیرامیٹرز ہیں کہتے ہیں 145 00:07:39,000 --> 00:07:41,000 میں اصل میں ان کے نام کے لئے جا رہا ہوں. 146 00:07:41,000 --> 00:07:45,000 جب آپ کے پاس ایک طریقہ کہتے ہیں، آپ andFloat اصل میں کہیں گے، 147 00:07:45,000 --> 00:07:47,000 اور پھر آپ کو اس کے پاس اندر کریں گے 148 00:07:47,000 --> 00:07:50,000 >> دلچسپ بات یہ ہے کہ یہ ایک نام نہیں ہے، لیکن دوسرے پہلوؤں ہیں، 149 00:07:50,000 --> 00:07:53,000 اگر ایسا ہے تو ہم نے ایک 3rd دلیل تھی میں andFloat کہہ سکتے 150 00:07:53,000 --> 00:07:56,000 اور ایک اور فلوٹ اور اسی طرح کی. 151 00:07:56,000 --> 00:08:01,000 جب میں ان طریقوں کو کہتے ہیں یہ کورس کیلے کی ہے، 152 00:08:01,000 --> 00:08:04,000 اگر ایسا ہے تو میں کسی چیز ہے، اور میں نامی FOO طریقہ کار کی وضاحت، 153 00:08:04,000 --> 00:08:09,000 اور میں نے اسے فون کرنے کی بجائے FOO کھلا / بند parens کا کہنا ہے چاہتے ہیں 154 00:08:09,000 --> 00:08:11,000 میں بریکٹ کھولنے کے لئے جا رہا ہوں. 155 00:08:11,000 --> 00:08:13,000 یہ میرے طریقے کے نام پر ہے. 156 00:08:13,000 --> 00:08:17,000 میں خانے کو بند کرنے جا رہا ہوں، اور یہ اعتراض ہے میں اس پر بات کر رہا ہوں. 157 00:08:17,000 --> 00:08:20,000 یاد رکھو، ان طریقوں میں سے تمام اقسام کے اندر اندر موجود 158 00:08:20,000 --> 00:08:23,000 کیونکہ کلاس میں ان کے اندر وضاحت کے طریقے کر سکتے ہیں. 159 00:08:23,000 --> 00:08:26,000 >> یہاں میں منمانے کچھ طبقے کی کسی چیز کو پیدا کیا ہے، 160 00:08:26,000 --> 00:08:28,000 اور اس سے یہ ہے کہ ایسا کرنے کے لئے نحو ہے. 161 00:08:28,000 --> 00:08:31,000 اس میں کسی چیز کو بنانے کے 2 مراحل ہیں. 162 00:08:31,000 --> 00:08:34,000 کا کہنا ہے کہ اس سلسلے میں پہلے قدم کے میں خلا مختص کرنا چاہتے ہیں ہے. 163 00:08:34,000 --> 00:08:37,000 کیا یہ ایک malloc کے برابر ہے. ہم malloc نہیں کہنے کی ضرورت نہیں ہے. 164 00:08:37,000 --> 00:08:42,000 ہم نے میٹر گرا دیا، alloc اسے بنایا، اور میٹر کے ساتھ سی کی جگہ ہے. 165 00:08:42,000 --> 00:08:47,000 ہم alloc کچھ کے بعد تو ہم اس کی ابتدا کرنے کی ضرورت ہے. 166 00:08:47,000 --> 00:08:49,000 بنیادی طور پر جب آپ اشیاء بنانے کے آپ کو کچھ منطق ہے کرنا چاہتے ہیں کر سکتے ہیں 167 00:08:49,000 --> 00:08:53,000 کہ جب وہ پیدا کر رہے ہیں executes، آپ کو کچھ پہلے سے طے شدہ اقدار میں منتقل کر سکتی ہیں 168 00:08:53,000 --> 00:08:57,000 یا اس طرح کچھ، اور تو اس init طریقہ ہے جو اصل میں اعتراض پیدا. 169 00:08:57,000 --> 00:08:59,000 ہم پہلے خلا مختص، جیسا کہ ہم C میں کیا، 170 00:08:59,000 --> 00:09:04,000 اور پھر ہم اس کی ابتدا، جو یا کر سکتے ہیں ایک بہت ساری نہیں. 171 00:09:04,000 --> 00:09:07,000 اس کے بعد ہم کسی چیز کو اے میں اس بات کو واپس آ رہے ہیں. 172 00:09:07,000 --> 00:09:09,000 یہاں ایک ستارہ ہے کیونکہ یہ تکنیکی طور پر ایک پوائنٹر ہے، 173 00:09:09,000 --> 00:09:12,000 لیکن فکر نہ کرو، اشارہ ہے کہ اب مقصد C میں بڑی ڈیل نہیں ہیں. 174 00:09:12,000 --> 00:09:15,000 >> اب ہم نے یہ کہا جاتا NSObject کلاس مثال ہے، 175 00:09:15,000 --> 00:09:19,000 اور یہ تو صرف ایک بے ترتیب کلاس ہے کہ ایپل ہے ہے. 176 00:09:19,000 --> 00:09:22,000 ہم اس مثال ہے، اور اب میں اس قسم کی ایک مثال کے طور پر ہے 177 00:09:22,000 --> 00:09:25,000 اس شئی کو اے میں، تو اس کا مطلب یہ ہے کہ اگر میں وضاحت کی گئی 178 00:09:25,000 --> 00:09:29,000 ان طریقوں میں نے ان سے اس طرح کہہ سکتے ہیں. 179 00:09:29,000 --> 00:09:31,000 اسی طرح، اگر میں ایک دلیل کے ساتھ ایک طریقہ پر کال کرنا چاہتا تھا، 180 00:09:31,000 --> 00:09:34,000 تو اس بار طریقہ ہے، یہ ایک دلیل لیتا ہے، 181 00:09:34,000 --> 00:09:38,000 اور یہاں باز ہے: qux طریقہ ہے، تو اس میں 2 دلائل لیتا ہے. 182 00:09:38,000 --> 00:09:44,000 یہ اس شئی کو اے ایک تقریب میں بلا رہا ہے. 183 00:09:44,000 --> 00:09:46,000 احساس ہے؟ 184 00:09:46,000 --> 00:09:50,000 نحو کا کوئی مطلب ہے، لیکن آپ کی قسم کے لئے استعمال کیا ہونا چاہئے. 185 00:09:50,000 --> 00:09:54,000 >> ٹھیک ہے، چلو کچھ چیزیں ہیں جو مقصد C-میں تعمیر کر رہے ہیں کے بارے میں بات 186 00:09:54,000 --> 00:09:56,000 C. میں ضروری نہیں تھے تعمیر 187 00:09:56,000 --> 00:09:59,000 C میں ہم اس قسم کی یہ پاگل کردار arrays کے طور پر ڈور کے ساتھ سامنا کرنا پڑا، 188 00:09:59,000 --> 00:10:01,000 اور یہ واقعی پریشان ہے. 189 00:10:01,000 --> 00:10:04,000 مقصد C-ہم سب کے لئے میں تعمیر ہونے والوں ہے، اور اس میں بنا ہوا ہے 190 00:10:04,000 --> 00:10:06,000 یہ کہا جاتا NSString کلاس کا استعمال کرتے ہوئے. 191 00:10:06,000 --> 00:10:10,000 جب میں ایک NSString ہم زیادہ arcane نحو ہے بنانا چاہتے ہیں. 192 00:10:10,000 --> 00:10:15,000 بلکہ "cs50" ہم کا کہنا ہے کہ @ "cs50" کہہ رہے ہیں سے 193 00:10:15,000 --> 00:10:17,000 اور اس مقصد C میں ڈور اعلان کے لئے نحو ہے. 194 00:10:17,000 --> 00:10:21,000 یہ بھول جاتے ہیں، ایسا نہیں کرنا بہت آسان ہے. 195 00:10:21,000 --> 00:10:24,000 اب، ایک بار میں یہ ہے، یہ ایک تار ہے، لیکن محسوس 196 00:10:24,000 --> 00:10:26,000 یہ واقعی صرف کسی چیز ہے. 197 00:10:26,000 --> 00:10:30,000 میں نے کہا کہ NSString، جس کا مطلب ہے کہ میں کلاس مثال 198 00:10:30,000 --> 00:10:32,000 NSString، جو کسی اور نے میرے لئے لکھا نامی، 199 00:10:32,000 --> 00:10:35,000 اور وہ اس کے بارے میں بہت اچھے تھے، اور تو اب 200 00:10:35,000 --> 00:10:37,000 میں اس پر طریقوں کو فون شروع کر سکتے ہیں. 201 00:10:37,000 --> 00:10:40,000 اگر میں اس کے اعتراض پر طریقہ کی لمبائی فون 202 00:10:40,000 --> 00:10:43,000 آپ کے وزٹرز کا ریکارڈ رکھا سٹرنگ کی لمبائی واپس جا رہا ہے. 203 00:10:43,000 --> 00:10:45,000 یہ سی میں صرف strlen کی طرح ہے 204 00:10:45,000 --> 00:10:47,000 یہ 4 واپس آ جائیں گے. 205 00:10:47,000 --> 00:10:51,000 >> اسی طرح ایک اور طریقہ کار کے بارے میں دیکھ بھال کرنا چاہتے ہیں کر سکتے ہیں اس characterAtIndex ہے. 206 00:10:51,000 --> 00:10:54,000 یہ ایک طریقہ ہے کہ اس کے تار پر کا کہنا ہے کہ ہے 207 00:10:54,000 --> 00:10:57,000 میں آپ zeroth کردار کو حاصل کرنے کے لئے چاہتے ہیں، 208 00:10:57,000 --> 00:10:59,000 اور اسی طرح یہ آپ کے وزٹرز کا ریکارڈ رکھا کردار C واپس کریں گے، 209 00:10:59,000 --> 00:11:02,000 اور وہاں ان طریقوں میں سے ایک پوری جھوبڈ ہے کہ آپ واقعی آسانی سے گوگل کر سکتے ہیں ہے. 210 00:11:02,000 --> 00:11:07,000 ایپل کی دستاویزات عظیم ہے اور ہم تھوڑا سا میں اس پر ایک نظر لے لیں گے. 211 00:11:07,000 --> 00:11:09,000 وہ ڈور ہیں. 212 00:11:09,000 --> 00:11:11,000 ہم نے بھی متغیر سائز arrays اندر تشکیل دے دیا گیا 213 00:11:11,000 --> 00:11:13,000 C میں یاد ہے جب ہم نے ایک صف کا اعلان کر دیا 214 00:11:13,000 --> 00:11:16,000 ہم کا کہنا ہے کہ آپ کے پاس 5 عناصر ہیں، کہانی کا اختتام ہے. 215 00:11:16,000 --> 00:11:18,000 ہم شروع کریں جب ہم جاوا سکرپٹ اور پی ایچ پی سے ہے، 216 00:11:18,000 --> 00:11:20,000 عناصر کو انہوں نے مزید کہا یا عناصر منتقل طرح کام. 217 00:11:20,000 --> 00:11:22,000 ہم مقصد C میں بھی ایسا ہی کر سکتے ہیں. 218 00:11:22,000 --> 00:11:26,000 بجائے عام C راستے میں ایک صف بنا 219 00:11:26,000 --> 00:11:30,000 ہم دوبارہ ایک NSMutableArray کہا جاتا کلاس ہے. 220 00:11:30,000 --> 00:11:33,000 بھی NSArray ہے، 221 00:11:33,000 --> 00:11:35,000 اور یہ بنیادی طور پر کچھ صف encapsulate کی جا رہی ہے. 222 00:11:35,000 --> 00:11:38,000 اس کا کہنا ہے کہ پہلی چیز جو میں کرنا چاہتا ہوں ہے میں مختص کرنا چاہتے ہیں 223 00:11:38,000 --> 00:11:41,000 ایک نئی صف کے لئے جگہ، اور اس کے بعد میں نے اسے مختص 224 00:11:41,000 --> 00:11:43,000 میں نے تو اس کی ابتدا کرنے کی ضرورت ہے. 225 00:11:43,000 --> 00:11:45,000 ایک بار پھر، صرف ان 2 طریقوں کو بلا رہا ہے. 226 00:11:45,000 --> 00:11:48,000 اب یہ ہے کہ اس شئی کا اندر ایک کا مطلب ہے کہ 227 00:11:48,000 --> 00:11:50,000 میں ایک خالی صف وہاں بیٹھی ہے. 228 00:11:50,000 --> 00:11:54,000 اگر میں اس صف میں کچھ اضافہ کرنا چاہتے ہیں، میں addObject طریقہ کہہ سکتے ہیں. 229 00:11:54,000 --> 00:11:59,000 میں صف ایک کسی چیز کو شامل کرنا چاہتے ہیں، اور میں CS50 سٹرنگ کو شامل کرنے کے لئے چاہتے ہیں. 230 00:11:59,000 --> 00:12:02,000 اگر میں اس کے برعکس دور کرنے کے لئے میں یہ کہہ سکتا ہوں چاہتے تھے میں کرنا چاہتے ہیں 231 00:12:02,000 --> 00:12:09,000 صف پر پہلی جگہ پر مقصد کو ہٹانے یا اعتراض. 232 00:12:09,000 --> 00:12:11,000 >> احساس ہے؟ 233 00:12:11,000 --> 00:12:14,000 ٹھیک ہے، تم نے قسم کی اس مربع بریکٹ بات کرنے کے لئے استعمال کرنے کے لئے. 234 00:12:14,000 --> 00:12:18,000 ویسے، آپ کے پاس ایپل کی لائبریریوں کے ایک بہت کے اندر اس NS نظر آئے گا. 235 00:12:18,000 --> 00:12:21,000 NS اصل میں اگلا قدم، جس میں اسٹیو نوکریاں پہلے کمپنیوں میں سے ایک تھا کے لئے کھڑا ہے، 236 00:12:21,000 --> 00:12:24,000 اور یہ کہ جہاں وہ واقعی کے کوڈ کا ایک بہت لکھنے شروع کر دیا 237 00:12:24,000 --> 00:12:27,000 میک OS X اور دوسری چیزیں سب کے لئے بنیاد کی طرح کے طور پر، 238 00:12:27,000 --> 00:12:32,000 اور تو اس NS ہے یہ اچھا میراث بھی ویسی ہی کی طرح پہلے کمپنیوں میں سے ایک چللاو 239 00:12:32,000 --> 00:12:34,000 واپس جب ایپل نے سب سے پہلے شروع کیا گیا تھا. 240 00:12:34,000 --> 00:12:36,000 وہ ہر جگہ ہے. 241 00:12:36,000 --> 00:12:41,000 کی ایک سے زیادہ جامع مثال کے طور پر مقصد C پر ایک نظر لے. 242 00:12:41,000 --> 00:12:44,000 یہاں میں XCode کے اندر ہوں. 243 00:12:44,000 --> 00:12:47,000 یہاں حاصل کرنے کے لئے، میں نے سب سے پہلے اپلی کیشن سٹور سے XCode ڈاؤن لوڈ، 244 00:12:47,000 --> 00:12:50,000 اسے کھول دیا، اور اس کے بعد میں نے فائل گئے تھے یہاں، 245 00:12:50,000 --> 00:12:54,000 یہاں نئے، اور پھر منصوبے. 246 00:12:54,000 --> 00:12:57,000 کے بعد مجھے کیا ہے کہ میں نے سب سے ان کے اختیارات کیا میں بنانا ہے، 247 00:12:57,000 --> 00:12:59,000 اور ہم نے ان کے اختیارات پر ایک نظر بعد میں لے لیں گے، 248 00:12:59,000 --> 00:13:03,000 لیکن صرف اس مثال کے لئے، کیونکہ ہم ابھی تک ایک اپلی کیشن ہے اصل میں نہیں کر رہے ہیں جا 249 00:13:03,000 --> 00:13:06,000 میں یہاں آیا، اور میں نے کہا کہ کمانڈ لائن کا آلہ، 250 00:13:06,000 --> 00:13:09,000 اور یہ ایک اپلی کیشن ہے کہ میں کمانڈ لائن میں چلا سکتا ہے ہے 251 00:13:09,000 --> 00:13:12,000 جیسا کہ ہم ہے C. سے چل رہا 252 00:13:12,000 --> 00:13:16,000 یہ ہے کہ میں کس طرح اس منصوبے کو پیدا کیا، اور اب میں یہاں ہوں، 253 00:13:16,000 --> 00:13:20,000 تو اس فائل میں پہلا دیکھو، اور یہ بہت واقف نظر آنا چاہئے. 254 00:13:20,000 --> 00:13:24,000 میں ایک int نام ہے. میرے دوست کے argc، میرے دوسرے دوست argv ہے. 255 00:13:24,000 --> 00:13:30,000 اور ہم دیکھتے ہیں کہ یہ میری پہلی درخواست کا مقصد C کے لئے لاگ ان کی بات یہ ہے کر سکتے ہیں. 256 00:13:30,000 --> 00:13:32,000 اب ہم اس کو نظر انداز کر سکتے ہیں. 257 00:13:32,000 --> 00:13:35,000 یہ بنیادی طور پر کچھ یاد داشت مینجمنٹ چیزیں یہ ہے کہ آپ کو واقعی نہیں کریں گے 258 00:13:35,000 --> 00:13:37,000 کبھی کے بارے میں فکر کرنے کی ضرورت ہے. 259 00:13:37,000 --> 00:13:39,000 >> چلو یہ پہلی بلاک میں یہاں دیکھو. 260 00:13:39,000 --> 00:13:46,000 یہ پہلی سطر، اگر میں کہتا ہوں Student کی * یلس = [[Student کی alloc init]] کیا ہے کہ کر؟ 261 00:13:46,000 --> 00:13:50,000 یہ پہلا طالب علم، یہ شاید ایک کلاس ہے. 262 00:13:50,000 --> 00:13:54,000 یہ ایک کلاس ہے کہ ایپل نے لکھا نہیں ہے، لیکن یہ ایک کلاس ہے کہ میں نے لکھا ہے. 263 00:13:54,000 --> 00:13:57,000 پہلی چیز جو میں کرنا چاہتا ہوں ہے میں ایک نیا طالب علم کے لئے جگہ مختص کرنا چاہتے ہیں، 264 00:13:57,000 --> 00:14:00,000 اور پھر میں نے اسے ابتدا کرنا چاہتے ہیں، تو یہ آپ کے وزٹرز کا ریکارڈ رکھا واپس دیتا ہے 265 00:14:00,000 --> 00:14:05,000 اس نئے طالب علم اعتراض، اور میں نامی یلس متغیر میں اس ذخیرہ کرنے رہا ہوں. 266 00:14:05,000 --> 00:14:07,000 اس کلاس سے کہاں سے آئے؟ 267 00:14:07,000 --> 00:14:12,000 ٹھیک ہے، یہاں بائیں طرف ہیں میری منصوبہ کے اندر مختلف فائلوں کی سب. 268 00:14:12,000 --> 00:14:16,000 ہم یہاں میں ایک Student.h ہے اور Student.m ہے کر سکتے ہیں. 269 00:14:16,000 --> 00:14:20,000 H فائل، یاد ہے، جہاں میں سب کا اعلان 270 00:14:20,000 --> 00:14:22,000 جو کلاس کے اندر اندر موجود گی. 271 00:14:22,000 --> 00:14:25,000 >> چلو، اس پر ایک نظر لے. 272 00:14:25,000 --> 00:14:29,000 ٹھیک ہے، یہاں ہم اس @ انٹرفیس ہے، اور اس کا کہنا ہے کہ جو یہاں آتا ہے 273 00:14:29,000 --> 00:14:33,000 میری کلاس کے اندر اندر سب کچھ موجود کا اعلان کیا. 274 00:14:33,000 --> 00:14:36,000 اس وقت میں نے ایک بڑی آنت ہے. اس وقت میں اس NSObject چیز ہے. 275 00:14:36,000 --> 00:14:40,000 یہ بڑی آنت وراثت سا ہم پہلے تھوڑا سا پر بحث کر رہے ہیں کا ابیوینجک ہے. 276 00:14:40,000 --> 00:14:43,000 اس کا کہنا ہے کہ سب کچھ ایک NSObject کر سکتے ہیں 277 00:14:43,000 --> 00:14:46,000 NSObject یہ کسی کی طرف سے لکھا گیا کلاس کہاں ہے، 278 00:14:46,000 --> 00:14:50,000 سب کچھ اس NSObject کر سکتے ہیں، میں ایسا کرنے کے قابل بننا چاہتا ہوں. 279 00:14:50,000 --> 00:14:54,000 کہہ کر: NSObject اس کا مطلب یہ ہے کہ بنیادی طور پر میں 280 00:14:54,000 --> 00:14:58,000 ایک اور طبقے کی فعالیت کے سب وراثت میں ملا. 281 00:14:58,000 --> 00:15:02,000 یہ واقعی کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے مختلف طریقوں اور خصوصیات میں اس کا استعمال کر سکتے ہیں ایک مکمل جھوبڈ دی. 282 00:15:02,000 --> 00:15:05,000 یہاں ذیل میں 2 خصوصیات پیدا کر رہا ہوں. 283 00:15:05,000 --> 00:15:08,000 یہ میرے طالب علم کا مطلب ہے کہ، اگر یہ ایک struct تھے، یہ 2 چیزیں ہو گی 284 00:15:08,000 --> 00:15:11,000 میرے struct کے اندر، تو ہر طالب علم کو ایک کا نام ہے 285 00:15:11,000 --> 00:15:14,000 جو ایک تار ہے، اور ایک طالب علم بھی ایک جماعت ہے، 286 00:15:14,000 --> 00:15:17,000 جس میں ایک int ہے. 287 00:15:17,000 --> 00:15:23,000 >> آخر میں، یہاں ذیل میں اپنے طالب علم کے لئے ایک طریقہ تخلیق کرنے جا رہا ہوں. 288 00:15:23,000 --> 00:15:26,000 میں نے فون کیا میرا طریقہ، initWithName، اور یہ ایک دلیل لیتا ہے، 289 00:15:26,000 --> 00:15:31,000 اور یہ دلیل ایک سٹرنگ ہے، اور میں نے اس کا نام ہے. 290 00:15:31,000 --> 00:15:35,000 اب ہم کس طرح ہم واقعی اس کلاس کو لاگو کو دیکھو. 291 00:15:35,000 --> 00:15:38,000 یہاں، اب میں میرے M فائل کے اندر ہوں، 292 00:15:38,000 --> 00:15:40,000 عمل کے لئے میٹر، مجھے لگتا ہے. 293 00:15:40,000 --> 00:15:44,000 میں میری عملدرآمد میرا آخر، اور یہاں جہاں میں اصل میں وضاحت کر رہا ہوں 294 00:15:44,000 --> 00:15:47,000 کیا initWithName ہے. 295 00:15:47,000 --> 00:15:50,000 میں initWithName، اپنے پیرامیٹر کے نام پر، اور پھر یہ ہے 296 00:15:50,000 --> 00:15:53,000 جہاں میں اصل میں ایک طالب علم کی تشکیل کر رہا ہوں، 297 00:15:53,000 --> 00:15:56,000 اور تو یہ تھوڑا سا خفیہ ہے، لیکن یہ ہی boilerplate کی طرح ہے 298 00:15:56,000 --> 00:15:58,000 ہے کہ آپ کو آپ کے constructors میں شامل کرنا چاہتے ہیں. 299 00:15:58,000 --> 00:16:02,000 یہ ابتدا یہاں تقریب، initWithName، تعمیر کی ایک قسم ہے. 300 00:16:02,000 --> 00:16:05,000 تم بنیادی طور پر ایک نئے طالب علم اعتراض کی تعمیر کر رہے ہیں 301 00:16:05,000 --> 00:16:07,000 اور شاید اس کے اندر کچھ ڈیٹا بھیجنے. 302 00:16:07,000 --> 00:16:11,000 پہلی چیز جو میں کرنا چاہتا ہوں ہے میں اس سپر بات پر init فون کرنا چاہتے ہیں. 303 00:16:11,000 --> 00:16:15,000 >> یاد رکھیں کہ میں H فائل میں جب یہاں واپس نے کہا کہ 304 00:16:15,000 --> 00:16:21,000 کہ سب کچھ ایک NSObject ہے ایک طالب علم بھی ہے. 305 00:16:21,000 --> 00:16:24,000 اس کا مطلب یہ ہے کہ جب میں ایک طالب علم ہے، میں بھی کرنے کی ضرورت نہیں ہے بناتے ہیں 306 00:16:24,000 --> 00:16:28,000 یقینی بنائیں کہ NSObject کہ میں سے اس ڈیٹا کے تمام inheriting رہا ہوں 307 00:16:28,000 --> 00:16:32,000 بھی مناسب طریقے سے initialized. 308 00:16:32,000 --> 00:16:36,000 یہ میں کیا کہنے کی ضرورت سپر اصل میں والدین طبقے کا حوالہ جا رہا ہے 309 00:16:36,000 --> 00:16:39,000 کہ میں سے inheriting رہا ہوں، تو مجھے یقین ہے کہ میں ابتدا کرنا چاہتے ہیں 310 00:16:39,000 --> 00:16:43,000 سب کچھ ہے کہ میں پر منحصر ہے اس سے پہلے کہ میں اس کو استعمال کرنے کی کوشش کر رہے شروع کر رہا ہوں. 311 00:16:43,000 --> 00:16:46,000 پھر اگر وہ initialized صحیح طریقے سے اس سے صرف یہ کہہ رہی کی طرح ہے اگر malloc 312 00:16:46,000 --> 00:16:50,000 کیا، شہوت انگیز null واپس نہیں تو میں کچھ خصوصیات کی ترتیب کرنا شروع کر سکتے ہیں. 313 00:16:50,000 --> 00:16:54,000 >> جاوا سکرپٹ اور پی ایچ پی میں ہم نے اس مطلوبہ الفاظ کے اس نے فون کیا تھا، 314 00:16:54,000 --> 00:16:58,000 اور اس کے ایک طبقے کی موجودہ مثال کے طور پر کہا جاتا ہے. 315 00:16:58,000 --> 00:17:00,000 مقصد C میں ہم نے یہ خود کہتے ہیں. 316 00:17:00,000 --> 00:17:04,000 جب میں self.name کا کہنا ہے کہ، اس کا مطلب ہے کہ اعتراض 317 00:17:04,000 --> 00:17:07,000 میں صرف پیدا کیا جب میں نے کہا کہ طالب علم alloc init، 318 00:17:07,000 --> 00:17:09,000 کہ مجھے واپس کسی چیز کو دینے جا رہا ہے. 319 00:17:09,000 --> 00:17:12,000 اس کا مطلب ہے کہ میں اس شئی کا نام مقرر کرنا چاہتے ہیں 320 00:17:12,000 --> 00:17:15,000 جو کچھ بھی میں صرف اندر منظور 321 00:17:15,000 --> 00:17:18,000 سی طرح، ہم اس نقطہ کے ساتھ کے اراکین تک رسائی حاصل کرتے ہیں، 322 00:17:18,000 --> 00:17:21,000 تو self.name طالب علم شئی کا نام کا کہنا ہے کہ 323 00:17:21,000 --> 00:17:24,000 اب جو کچھ بھی آپ نے ابھی اندر منظور 324 00:17:24,000 --> 00:17:28,000 اور تو آخر میں اس کو واپس تو میں واقعی کچھ واپس حاصل کر سکتے ہیں. 325 00:17:28,000 --> 00:17:30,000 >> سوال؟ 326 00:17:30,000 --> 00:17:34,000 ٹھیک ہے، تو یہ خود = سپر init، 327 00:17:34,000 --> 00:17:37,000 اگر آپ کے پاس وراثت چیزیں مکمل طور پر نہیں سمجھ نہیں فکر مت کرو. 328 00:17:37,000 --> 00:17:40,000 صرف اتنا جانتا ہوں کہ اگر تم نے کبھی خود اپنے init طریقہ بنانے کے لئے کرنا چاہتے ہیں 329 00:17:40,000 --> 00:17:42,000 یہ کرتے ہیں، اور تم جانا اچھا ہو جائے گا. 330 00:17:42,000 --> 00:17:44,000 جی ہاں >> [Student کی] کیا خیال ہے؟ اگر خود کا کیا مطلب ہے. 331 00:17:44,000 --> 00:17:49,000 اس کا مطلب یہ ہے جب ہم کچھ ہم ہمیشہ اگر شہوت انگیز null برابر تھا کی جانچ پڑتال، malloc 332 00:17:49,000 --> 00:17:51,000 اور اگر شہوت انگیز null تھا، تو پھر ہم باہر ہو گیا تھا. 333 00:17:51,000 --> 00:17:55,000 یہ ایک ہی بات ہے، کیونکہ اگر اس کی واپسی، شہوت انگیز null، تو پھر ہم شاید seg غلطی جا رہے ہیں 334 00:17:55,000 --> 00:17:57,000 اگر ہم یہ جوڑتوڑ کرنے کی کوشش شروع کر دیں. 335 00:17:57,000 --> 00:18:01,000 کہ ہمارے طالب علم کلاس ہے. 336 00:18:01,000 --> 00:18:03,000 اس کا مطلب یہ ہے کہ ہم دو طریقوں میں سے ایک میں ہمارے طلباء کو ابتدا کر سکتے ہیں. 337 00:18:03,000 --> 00:18:08,000 اگر میرا کا کہنا ہے کہ طالب علم alloc init میں اس طریقہ کار کا استعمال نہیں کر رہا ہوں کہ میں نے صرف لکھا، 338 00:18:08,000 --> 00:18:11,000 اور اس کے بجائے میں alice.name صرف اسے کہہ سکتے ہیں، 339 00:18:11,000 --> 00:18:14,000 اور اب میں اس خاصیت کا نام قائم کرنے جا رہا ہوں. 340 00:18:14,000 --> 00:18:17,000 >> اسی طرح، اگر میں کہ initWithName طریقہ کو استعمال کرنا چاہتے ہیں 341 00:18:17,000 --> 00:18:20,000 میں alloc صرف، تو بجائے کہنا init کہہ رہے ہیں 342 00:18:20,000 --> 00:18:24,000 میں وہ طریقہ ہے کہ میں نے ابھی پیدا فون کرنے جا رہا ہوں، اور میں باب میں منظور کرنے جا رہا ہوں. 343 00:18:24,000 --> 00:18:30,000 اس وقت، اس شئی کو باب ایک باب کے برابر نام ہے. 344 00:18:30,000 --> 00:18:35,000 ٹھیک ہے، یہاں ذیل میں اس NSMutableArray ہے کہ ہم نے پہلے میں دیکھا کا استعمال کرتے ہوئے کر رہا ہوں. 345 00:18:35,000 --> 00:18:38,000 میں space.Then آونٹن رہا ہوں میں ایک نئی صف کی ابتدا کر رہا ہوں. 346 00:18:38,000 --> 00:18:40,000 میں اس کی 2 چیزیں شامل کی جا رہی ہوں. 347 00:18:40,000 --> 00:18:43,000 یہ صف اب طالب علم کی اشیاء کی ڈگری حاصل کی ہے. 348 00:18:43,000 --> 00:18:46,000 یاد رکھیں کہ کہیں میں کہنا ہے کہ اس کے طالب علموں کی ایک صف ہے کی کیا ضرورت تھی. 349 00:18:46,000 --> 00:18:48,000 میں نے کہا کہ یہ ایک صف مدت ہے،. 350 00:18:48,000 --> 00:18:50,000 پھر میں ڈال دیا ہے اس میں سے جو کچھ بھی اندر ہے کہ میں چاہتا ہوں کر سکتے ہیں. 351 00:18:50,000 --> 00:18:52,000 یہاں میں 2 اشیاء ہے. 352 00:18:52,000 --> 00:18:56,000 >> آخر میں، میں یہاں دوسرے اعتراض ہے، اس TF. 353 00:18:56,000 --> 00:18:59,000 یہاں TF.h میں بنیادی طور پر ایک ہی بات ہے. 354 00:18:59,000 --> 00:19:01,000 میں NSObject سے، اور راہ کی طرف سے inheriting رہا ہوں، 355 00:19:01,000 --> 00:19:03,000 جب آپ کلاس بنانے کے یہ سب آپ کے لئے کیا جاتا ہے، 356 00:19:03,000 --> 00:19:06,000 انٹرفیس boilerplate اس قسم کی ہے. 357 00:19:06,000 --> 00:19:08,000 یہ طالب علموں کی ایک خاصیت ہے. 358 00:19:08,000 --> 00:19:15,000 میں ایک جوڑے کے طریقوں ہے کہ ایک پوری بہت واقعی نہیں کرتے ہیں، 359 00:19:15,000 --> 00:19:18,000 اور تو اس کا مطلب ہے کہ بعد میں اس TF اعتراض بنانے کے 360 00:19:18,000 --> 00:19:23,000 میں اس طرح اس پر اس طریقے سے گریڈ کو فون کر سکتے ہیں. 361 00:19:23,000 --> 00:19:26,000 مقصد C-نحو پر کوئی بھی سوال ہیں اس سے پہلے کہ ہم کچھ اور میں منتقل شروع 362 00:19:26,000 --> 00:19:30,000 دلچسپ اطلاقات کی ترقی چیزیں؟ 363 00:19:30,000 --> 00:19:34,000 >> ٹھیک ہے، تو اصل میں ایک موبائل اپلی کیشن. 364 00:19:34,000 --> 00:19:39,000 اپنے فون اپلی کیشن کے بنیادی کلاس میں کہا گیا ہے کہ تم اندر کا استعمال کریں گے کنٹرولرز کہا جاتا ہے، 365 00:19:39,000 --> 00:19:42,000 اور ایک نقطہ نظر کنٹرولر بنیادی طور پر ایک سکرین کی نمائندگی کرتا ہے 366 00:19:42,000 --> 00:19:46,000 آپ کے اپلی کیشن کے اندر، اگر ایسا ہے تو میں موسیقی کے اپلی کیشن پر مثال کے طور پر میں ہوں، 367 00:19:46,000 --> 00:19:50,000 ایک نقطہ نظر کنٹرولر جس میں میں اپنے فون پر تمام نغمات دیکھنے کے نقطہ نظر کی نمائندگی کر سکتے ہیں. 368 00:19:50,000 --> 00:19:53,000 ایک اور نقطہ نظر کنٹرولر جب میں ایک گانے پر کلک کریں اور کھیل شروع کر سکتا 369 00:19:53,000 --> 00:19:55,000 یا جیسا کہ میں فنکاروں میں نیچے کھدائی کر رہا ہوں. 370 00:19:55,000 --> 00:19:59,000 ان مختلف سکرین کے ہر ایک مختلف نقطہ نظر کنٹرولر کے طور پر نمائندگی کیا جا سکتا ہے، 371 00:19:59,000 --> 00:20:04,000 اور ایک نقطہ نظر کنٹرولر واقعی میں صرف ایک طبقے کا کہنا ہے کہ اس کی سکرین کس طرح کام کرتا ہے ہے. 372 00:20:04,000 --> 00:20:07,000 چیزیں ایک نقطہ نظر کنٹرولر کے اندر، ہم خصوصیات کے لئے جا رہے ہیں، 373 00:20:07,000 --> 00:20:10,000 ایک بٹن کی طرح باتیں ہمارے خیال کنٹرولر کی ایک خاصیت جا رہا ہے. 374 00:20:10,000 --> 00:20:13,000 >> ہم بھی طریقے جا رہے ہیں، اور ان میں بنیادی طور پر ایونٹ handlers ہیں. 375 00:20:13,000 --> 00:20:16,000 یہ طریقہ کا کہنا ہے کہ جب آپ یہ بٹن دبائیں 376 00:20:16,000 --> 00:20:19,000 میں کچھ کرنا چاہتے ہیں، اور آخر میں ایک بار پھر، 377 00:20:19,000 --> 00:20:24,000 ہم اس خود مطلوبہ الفاظ کا استعمال کرتے ہوئے موجودہ مثال کے طور پر تک رسائی حاصل کرنے جا رہے ہیں. 378 00:20:24,000 --> 00:20:29,000 iOS میں انٹرفیس کے لئے کی تعمیر اصل میں ہے بہت، بہت آسان ہے. 379 00:20:29,000 --> 00:20:32,000 انہوں نے یہ اچھا ڈریگ اور ڈراپ انٹرفیس بلڈر نامی انٹرفیس ہے، 380 00:20:32,000 --> 00:20:37,000 اور 2 بنیادی تصورات میں کہا گیا ہے کہ اپنے مقصد C اپ انٹرفیس بلڈر تار 381 00:20:37,000 --> 00:20:40,000 IBOutlet اور IBAction ہیں. 382 00:20:40,000 --> 00:20:44,000 ایک IBOutlet صرف کا کہنا ہے کہ اگر آپ کو ایک جائیداد کا اعلان ہے کہ ایک بٹن ہے، 383 00:20:44,000 --> 00:20:47,000 اور آپ نے اسے آپ کی اصل UI میں کچھ ہک چاہتے ہیں، 384 00:20:47,000 --> 00:20:49,000 آپ کا کہنا ہے کہ یہ ایک دکان ہے جا رہے ہیں. 385 00:20:49,000 --> 00:20:51,000 اسی طرح، اگر آپ کو ایک ایونٹ ہینڈلر کی نمائندگی کرنا چاہتے ہیں 386 00:20:51,000 --> 00:20:54,000 تو آپ کا کہنا ہے کہ یہ ایک عمل ہے جا رہے ہیں. 387 00:20:54,000 --> 00:20:57,000 >> اصل میں اس گرافیکل نمائندگی تار 388 00:20:57,000 --> 00:21:00,000 اور اپنا کوڈ یہ بہت، بہت آسان ہے. 389 00:21:00,000 --> 00:21:03,000 اگر آپ ایک IBOutlet منسلک کرنا چاہتے ہیں، تمام تمہیں کیا کرنا ہے ہے کلک کنٹرول، 390 00:21:03,000 --> 00:21:05,000 اور ہم یہ واقعی جلد کی ایک مثال کے طور پر دیکھیں گے. 391 00:21:05,000 --> 00:21:07,000 کلک آپ کو کنٹرول جہاں یہ دیکھیں کنٹرولر کا کہنا ہے کہ. 392 00:21:07,000 --> 00:21:09,000 آپ کو انٹرفیس میں کھینچ کر لائیں جا رہے ہیں، یا اس کے برعکس، 393 00:21:09,000 --> 00:21:13,000 اگر آپ کو ایک ایونٹ ہینڈلر ہک کرنا چاہتے ہیں تو آپ انٹرفیس سے کھینچ کر لائیں جا رہے ہیں 394 00:21:13,000 --> 00:21:15,000 دوسری سمت میں ہے. 395 00:21:15,000 --> 00:21:20,000 ہم ایک بہت سادہ iOS مثال کے طور پر میں ایک نظر ڈالیں. 396 00:21:20,000 --> 00:21:23,000 >> میں ایک نئی منصوبہ بندی تیار ہوں. 397 00:21:23,000 --> 00:21:25,000 میں نے درخواست پر یہاں آنے جا رہا ہوں، 398 00:21:25,000 --> 00:21:28,000 اور میں اکیلی دیکھیں درخواست پر کلک کریں کے لئے جا رہا ہوں. 399 00:21:28,000 --> 00:21:31,000 میں اگلے کلک کرنے کے لئے جا رہا ہوں. میں اپنے منصوبے کا نام دیں گے. 400 00:21:31,000 --> 00:21:33,000 میں اسے خوش میں فون کرتا ہوں. 401 00:21:33,000 --> 00:21:36,000 دلچسپ بات یہ ہے، ایپل سنبھالنے آپ کو کسی مصنوعات کے بارے میں اس کے تیار پیدا کر رہے ہیں 402 00:21:36,000 --> 00:21:38,000 تاکہ تم اسے فروخت اور وہ پیسہ کمانے کے لئے کر سکتے ہیں کر سکتے ہیں. 403 00:21:38,000 --> 00:21:41,000 نیچے میں یہاں کا کہنا ہے کہ یہ ایک موبائل اپلی کیشن ہے کے لئے جا رہا ہوں. 404 00:21:41,000 --> 00:21:44,000 آپ نے ایک رکن کی اے پی پی کی تشکیل دیں، یا اگر آپ ان اطلاقات کی ایک بنانا چاہتے ہیں کر سکتے ہیں 405 00:21:44,000 --> 00:21:47,000 ہے کہ دونوں آلات آپ ایسا بھی کر سکتے ہیں کی حمایت کرتا ہے. 406 00:21:47,000 --> 00:21:49,000 یہ ہیں کیا آپ تمہاری checkmarks کی طرح نظر آنا چاہتے ہیں. 407 00:21:49,000 --> 00:21:51,000 >> آپ storyboards، جس پر ہم بعد میں دیکھیں گے استعمال کرنے کے لئے چاہتے ہیں، 408 00:21:51,000 --> 00:21:54,000 اور آپ کو یقینی طور پر خود کار طریقے سے حوالہ گنتی کا استعمال کرنا چاہتے ہیں، 409 00:21:54,000 --> 00:21:58,000 جو کہ ایک اچھی خصوصیت ہے جو آپ کو malloc اور آزاد کا کہنا ہے کہ کرنے سے روکتا ہے ہے. 410 00:21:58,000 --> 00:22:03,000 جب تک آپ کال malloc اور آزاد کرنا چاہتے ہیں، میں نے اس کی جانچ پڑتال کو چھوڑ گے. 411 00:22:03,000 --> 00:22:07,000 میں اگلے پر کلک کریں، اور آخر میں، اس نے مجھ سے پوچھا کہاں جا رہے ہیں میں اسے بچانے کے لئے کرنا چاہتے ہیں کریں گے. 412 00:22:07,000 --> 00:22:14,000 میں پیدا مارا، اور ہم یہاں جائیں گے. 413 00:22:14,000 --> 00:22:16,000 میں ایک نیا منصوبہ بنایا ہے. 414 00:22:16,000 --> 00:22:19,000 بائیں پر تمام فائلوں ہیں جو میری منصوبہ کے اندر ہیں ہیں، 415 00:22:19,000 --> 00:22:22,000 نوٹس اور یہ کہ میں ایک مکمل جھوبڈ ہے، اور میں نے کچھ بھی نہیں کیا. 416 00:22:22,000 --> 00:22:24,000 IOS بہت اچھا ہے. 417 00:22:24,000 --> 00:22:27,000 >> مثال کے طور پر،، اس ViewController.h 418 00:22:27,000 --> 00:22:30,000 یہ اپنے پہلے قول کنٹرولر کی نمائندگی کرنے جا رہا ہے، 419 00:22:30,000 --> 00:22:32,000 میرے اے پی پی کے اندر پہلی سکرین ہے. 420 00:22:32,000 --> 00:22:34,000 اب ہم جانتے ہیں کہ کیا یہ کہہ رہا ہے. 421 00:22:34,000 --> 00:22:36,000 ہم کہہ رہے ہیں میں یہ کلاس ViewController کو بلا رہا ہوں رہے ہیں، 422 00:22:36,000 --> 00:22:40,000 اور ایک ViewController سب کچھ ہے کہ ایک UIViewController ہے کرتا ہے، 423 00:22:40,000 --> 00:22:43,000 اور اس کے، پھر، کچھ کلاس ہے کہ ایپل نے لکھا ہے کہ ہمارے لئے ہاتھ چیزیں بہت کرتا ہے ہے 424 00:22:43,000 --> 00:22:46,000 پسند کی سکرین کو ظاہر. 425 00:22:46,000 --> 00:22:50,000 یہاں ہے جہاں میں وضاحت میرے خیال کنٹرولر کرتا ہے میں شروع کر سکتے ہیں، 426 00:22:50,000 --> 00:22:52,000 اور یہ پتہ چلا ہے کہ میں واقعی میں اس میں سے کسی کی ضرورت نہیں ہے. 427 00:22:52,000 --> 00:22:55,000 یہ boilerplate کوڈ ہے کہ ایپل کے وزٹرز کا ریکارڈ رکھا جائے گا. میرے مفت کے لئے فراہم کرتا ہے ہے. 428 00:22:55,000 --> 00:22:59,000 میں ہے کہ پہلی سطر کی ضرورت ہے، یا میں نے ایک کلاس کی ضرورت نہیں ہے، 429 00:22:59,000 --> 00:23:02,000 تو ہم اس سے چھٹکارا حاصل کر سکتے ہیں اور اس سے چھٹکارا حاصل کر سکتے ہیں. 430 00:23:02,000 --> 00:23:05,000 ٹھیک ہے، تو یہ میرا خالی سکرین ہے. 431 00:23:05,000 --> 00:23:08,000 >> اب ہم اس MainStoryboard.storyboard پر کلک کریں، 432 00:23:08,000 --> 00:23:11,000 اور یہ وہ جگہ ہے جہاں سے اسے دلچسپ حاصل کرنے کے لئے شروع ہوتا ہے. 433 00:23:11,000 --> 00:23:14,000 یہ میری اپلی کیشن پر پہلی سکرین کی نمائندگی کرتا ہے. 434 00:23:14,000 --> 00:23:17,000 اگر میں ایک بٹن کو شامل کرنے کے لئے چاہتے ہیں، میں HTML میں ایک بٹن ٹیگ بنانے کے لئے تھا. 435 00:23:17,000 --> 00:23:20,000 لوڈ، اتارنا Android میں آپ کو ایک بٹن کے ٹیگ کو پیدا کرنے کی ہے، 436 00:23:20,000 --> 00:23:23,000 لیکن اگر میں iOS میں نیچے نیچے دائیں یہاں آنے 437 00:23:23,000 --> 00:23:27,000 اور اگر میں یہاں اس 3rd ایک پر کلک کریں جہاں یہ آبجیکٹ کا کہنا ہے کہ، 438 00:23:27,000 --> 00:23:31,000 اور میں ذیل میں سکرال، یا میں بٹن کے لئے تلاش شروع کر سکتے ہیں کر سکتے ہیں. 439 00:23:31,000 --> 00:23:35,000 اور ایک بٹن نظر آئے گا، اگر ایسا ہے تو میں واقعی میں اور چھوڑ یہ حق وہاں کھینچ کر لائیں، 440 00:23:35,000 --> 00:23:38,000 میں صرف اپنے اپلی کیشن پر اس کی سکرین پر ایک بٹن کا اضافہ کر دیا ہے. 441 00:23:38,000 --> 00:23:41,000 اگر میں متن کو تبدیل کرنا چاہتے ہیں، میں اسے ڈبل کلک کر سکتے ہیں، 442 00:23:41,000 --> 00:23:47,000 کچھ enticing کی طرح کا کہنا ہے کہ "مجھے دبائیں." 443 00:23:47,000 --> 00:23:51,000 ٹھیک ہے، اب اگر میں اس اپلی کیشن کو چلاتے ہیں، تو ہم اسے مرتب، 444 00:23:51,000 --> 00:23:54,000 تو اسے چلانے کے لئے، میں سب سے اوپر بائیں سمت میں کھیل کے بٹن پر کلک کریں، اور وہاں میرا اے پی پی ہے. 445 00:23:54,000 --> 00:23:58,000 میں نے کچھ نہیں کیا، اور میں نے ایک پیاری لگ فون اپلی کیشن ہے. 446 00:23:58,000 --> 00:24:01,000 اگر میں اس کو روکنے کے لئے چاہتے ہیں، تو آپ کو سٹاپ کے بٹن پر کلک کر سکتے ہیں 447 00:24:01,000 --> 00:24:03,000 کیونکہ اس سے زیادہ مزہ آتا ہے. 448 00:24:03,000 --> 00:24:07,000 >> چلو کا کہنا ہے کہ کہ میں نے اصل میں جب میں نے یہ بٹن دبائیں ہونے کے لئے کچھ کرنا چاہتے ہیں. 449 00:24:07,000 --> 00:24:09,000 کہ کہ میں کیا کرنے کی ضرورت ہے ہے مجھے بنانے کی ضرورت ہے 450 00:24:09,000 --> 00:24:13,000 ایک نیا ایونٹ ہینڈلر یا کارروائی ہے. 451 00:24:13,000 --> 00:24:16,000 اس کا مطلب یہ ہے کہ میں کوئی طریقہ ہے کہ میں نے فون کرنا چاہتے ہیں بنانے کے لئے کی ضرورت ہے 452 00:24:16,000 --> 00:24:18,000 جب میں بٹن دبائیں، تو ایک نیا طریقہ تخلیق. 453 00:24:18,000 --> 00:24:20,000 میں ViewController.h کے اندر ہوں. 454 00:24:20,000 --> 00:24:22,000 کا کہنا ہے کہ ایک طریقہ کار موجود ہے کرنے کی ضرورت ہے. 455 00:24:22,000 --> 00:24:26,000 میں پہلے ہیفین کی ضرورت ہے کیونکہ میں نقطہ نظر کے کنٹرولر اس بلا جا رہا ہوں. 456 00:24:26,000 --> 00:24:28,000 میں یہ ایک قسم دینے کی ضرورت ہے. 457 00:24:28,000 --> 00:24:31,000 اس کی قسم کہ IBAction بات یہ ہے کہ ہم پہلے دیکھا جا رہا ہے. 458 00:24:31,000 --> 00:24:35,000 یہ ایک ایونٹ ہینڈلر ہے، اسے ایک IBAction واپس جا رہا ہے، 459 00:24:35,000 --> 00:24:38,000 اور اس XCode میں ایک اشارہ ہے کہ کہنا ہے 460 00:24:38,000 --> 00:24:40,000 اس میں کچھ کچھ تار کرنا چاہتے ہیں ہے. 461 00:24:40,000 --> 00:24:45,000 میں یہ buttonPressed نیم وقفہ، کی طرح کا نام دیتے ہیں، کر سکتے ہیں. 462 00:24:45,000 --> 00:24:48,000 >> اب مجھے میری کلاس کے اندر ایک نیا طریقہ قرار دیا ہے. 463 00:24:48,000 --> 00:24:50,000 میں نے کہا کہ یہ طریقہ کار موجود ہے ہے. 464 00:24:50,000 --> 00:24:53,000 اب ViewController.m میں آئے، 465 00:24:53,000 --> 00:24:56,000 اور کا کہنا ہے کہ اس طریقے سے کیا کر سکتے ہیں. 466 00:24:56,000 --> 00:25:03,000 اگر میں ٹائپ کرنا شروع کریں، مثال کے طور پر، buttonPressed (باطل) 467 00:25:03,000 --> 00:25:06,000 نوٹس XCode واقعی بہت اچھا ہے اور میرے لئے autocompletes ہے. 468 00:25:06,000 --> 00:25:09,000 یہ واقعی حیرت انگیز ہے. 469 00:25:09,000 --> 00:25:12,000 یہاں یاد رکھیں کہ کے اندر فائل میٹر. میں باطل بھی کہہ سکتے ہیں، 470 00:25:12,000 --> 00:25:15,000 اور یہ ہے کیونکہ کہ IBAction اصل میں ایک قسم نہیں ہے. 471 00:25:15,000 --> 00:25:19,000 یہ اصل میں کہیں بیان کیا ہے hashtag صفر ہو، 472 00:25:19,000 --> 00:25:22,000 اور پھر یہ تو صرف XCode پر ایک اشارہ ہے جو یہ کہتا ہے ہے 473 00:25:22,000 --> 00:25:25,000 میں یہ ایک ایونٹ ہینڈلر کرنا چاہتے ہیں، اور ہم دیکھتے ہیں کیوں صرف ایک سیکنڈ میں کریں گے. 474 00:25:25,000 --> 00:25:28,000 جب اس بٹن دبایا جاتا ہے، میں پریشان کچھ کرنے کے لئے جا رہا ہوں 475 00:25:28,000 --> 00:25:30,000 ایک پاپ اپ ظاہر طرح. 476 00:25:30,000 --> 00:25:35,000 >> ہے کہ میں اس قسم کی ایک نئی مثال کے طور پر کہا جاتا UIAlertView تشکیل دے سکتے ہیں، 477 00:25:35,000 --> 00:25:39,000 اور یہ ایک کلاس ہے کہ ایپل نے لکھا ہے کہ پریشان پاپ اپ کو ظاہر کرنے کے لئے جا رہا ہے ہے. 478 00:25:39,000 --> 00:25:43,000 ہم اس پاپ اپ انتباہ کو فون کریں، اور میں 2 اقدامات ہیں کریں گے، اس اعتراض بنانے کے یاد،. 479 00:25:43,000 --> 00:25:46,000 پہلی بات میں کیا کرنے کی ضرورت ہے کی جگہ مختص کی ہے. 480 00:25:46,000 --> 00:25:48,000 میں ایک UIAlertView چاہتے ہیں. 481 00:25:48,000 --> 00:25:51,000 میں خلا مختص کرنا چاہتے ہیں. یہ میرا پہلا طریقہ ہے. 482 00:25:51,000 --> 00:25:53,000 میری اگلی طریقہ ہے میں اسے ابتدا کرنا چاہتے ہیں، 483 00:25:53,000 --> 00:25:58,000 اور اس لئے میں اس بڑے، لمبے وقت کہا جاتا initWithTitle طریقہ ہے. 484 00:25:58,000 --> 00:26:01,000 یہ بنیادی طور پر کنٹرول کیا یہ پاپ اپ کا کہنا ہے کہ جا رہا ہے. 485 00:26:01,000 --> 00:26:04,000 میرے پاپ اپ کا عنوان ہو سکتا ہے ہیلو. 486 00:26:04,000 --> 00:26:08,000 یہ پاپ اپ کا پیغام "یہ iOS ہے" کر سکتے ہیں. 487 00:26:08,000 --> 00:26:10,000 مندوب بات، مجھے نہیں پتہ ہے کہ وہ کیا ہے. 488 00:26:10,000 --> 00:26:13,000 چلو کا کہنا ہے کہ یہ کچھ بھی نہیں ہے. 489 00:26:13,000 --> 00:26:18,000 اب بٹن جو دکھائے جا رہا ہے پسند نہیں "اس بات کا یقین ہے،" کچھ کہہ سکتے ہیں 490 00:26:18,000 --> 00:26:24,000 اور میں کسی دوسرے کے بٹن کو واقعی نہیں کرنا چاہتے ہیں، تو ہم کو خارج کر دیں اور بریکٹ بند. 491 00:26:24,000 --> 00:26:27,000 >> ٹھیک ہے، میں نے ایک اضافی بنایا. ہم وہاں جا رہے ہیں. 492 00:26:27,000 --> 00:26:30,000 اس کا یہ ہے کس طرح میں نے ایک نیا پاپ اپ تشکیل دے سکتے ہیں. 493 00:26:30,000 --> 00:26:35,000 اگر میں واقعی پاپ اپ دکھانا چاہتا ہوں میں شو طریقہ سے بات کرنا چاہتے ہیں. 494 00:26:35,000 --> 00:26:38,000 کہ میں ہوشیار اور شو کا کہنا ہے کہ کر سکتے ہیں کرنے کے لئے، 495 00:26:38,000 --> 00:26:40,000 اور پھر خود تکمیل سپر اچھی تھی. 496 00:26:40,000 --> 00:26:42,000 اگر میں بھول گیا تھا وہ کیا تھا، اگر میں صرف کی میں ٹائپ ہے، 497 00:26:42,000 --> 00:26:45,000 میں یہاں کے ذریعے سکرال معلوم کرنا کہ وہ کیا تھا، 498 00:26:45,000 --> 00:26:48,000 اور یہ اچھی طرح سے فلٹر. 499 00:26:48,000 --> 00:26:52,000 اب میں اس نئے پاپ اپ بنایا. 500 00:26:52,000 --> 00:26:55,000 ہم کیا مندوب کا مطلب بعد میں واپس آئیں گے، 501 00:26:55,000 --> 00:26:58,000 اور اب میں یہ کہنا چاہتے ہیں میں اس طریقہ کار کو فائرنگ کرنا چاہتے ہیں 502 00:26:58,000 --> 00:27:01,000 تاکہ جب میں بٹن دبائیں، میں میری اسٹوری بورڈ پر واپس آنے جا رہا ہوں، 503 00:27:01,000 --> 00:27:04,000 اور میں اب اس IBAction پر منسلک کرنا چاہتے ہیں. 504 00:27:04,000 --> 00:27:06,000 پہلی چیز جو آپ کرنا چاہتے ہیں کے بٹن پر کلک کریں. 505 00:27:06,000 --> 00:27:08,000 جب میں نے یہ بٹن دبائیں میں ہونے کے لیے کچھ کرنا چاہتا ہوں. 506 00:27:08,000 --> 00:27:10,000 میں کنٹرول سنبھال نہیں جا رہا ہوں. 507 00:27:10,000 --> 00:27:13,000 میں پر کلک کریں اور بٹن سے کھینچ کر لائیں جا رہا ہوں 508 00:27:13,000 --> 00:27:15,000 جہاں یہاں یہ دیکھیں کنٹرولر کا کہنا ہے کہ. 509 00:27:15,000 --> 00:27:17,000 ہم دیکھتے ہیں کہ یہ اچھی طرح سے لائٹس کر سکتے ہیں. 510 00:27:17,000 --> 00:27:22,000 >> اگر میں اپنے ماؤس کے ساتھ چلتے ہیں، میں اب یہاں اس پاپ اپ ہے، جہاں میں نے کچھ اختیارات ہیں. 511 00:27:22,000 --> 00:27:24,000 ان میں سے ایک واقعات میں رجسٹر کر سکتے ہیں ہے. 512 00:27:24,000 --> 00:27:28,000 یہ ان طریقوں میں IBActions کے طور پر میری H فائل میں اعلان کیا ہے. 513 00:27:28,000 --> 00:27:31,000 اس طرح XCode جانتا ہے جو اس فہرست میں ظاہر کرنا چاہئے، 514 00:27:31,000 --> 00:27:33,000 تاکہ صرف ایک اشارہ ہے. 515 00:27:33,000 --> 00:27:37,000 اگر میں پر زور دیا کے بٹن پر کلک کریں، اب میں ایونٹ ہینڈلر ہے. 516 00:27:37,000 --> 00:27:41,000 جاوا اسکرپٹ میں ہم کا کہنا ہے کہ میں کچھ کوڈ ہے جو کہ ایونٹ ہینڈلر درج ہے تھا. 517 00:27:41,000 --> 00:27:43,000 مقصد C میں یہ واقعی اتنا آسان تھا. 518 00:27:43,000 --> 00:27:46,000 اگر میں نے اس کو دوبارہ چلائیں 519 00:27:46,000 --> 00:27:49,000 اب جب میں بٹن دبائیں میرے ایونٹ ہینڈلر گولی چلانے کی جا رہی ہے، 520 00:27:49,000 --> 00:27:51,000 اور میں یہ پاپ اپ حاصل کرنے کے لئے جا رہا ہوں. 521 00:27:51,000 --> 00:27:54,000 سپر، سپر وہاں سادہ ہے. 522 00:27:54,000 --> 00:27:57,000 >> اگر تم نے کبھی واقعات رجسٹرڈ رکھا جائے ہوا کے تمام کو دیکھنے کے لئے چاہتے ہیں 523 00:27:57,000 --> 00:28:00,000 حصہ میں اس بٹن پر اگر کلک کریں 524 00:28:00,000 --> 00:28:02,000 اور میں دائیں جانب آتے ہیں یہاں 525 00:28:02,000 --> 00:28:05,000 سب سے پہلے آپ کو یہاں دیکھ کر میں بٹن کی قسم کی طرح کام کرتے ہیں کر سکتے ہیں کر سکتے ہیں، 526 00:28:05,000 --> 00:28:08,000 اگر ایسا ہے تو آپ ان کی یا رابطہ کریں کے بٹن میں سے ایک کرنا چاہتے ہیں 527 00:28:08,000 --> 00:28:10,000 جو کچھ بھی یا 528 00:28:10,000 --> 00:28:13,000 اگر میں واقعات جو اس بٹن پر ہیں سب کو دیکھنے کے لئے چاہتے ہیں 529 00:28:13,000 --> 00:28:16,000 اگر میں یہاں سے دائیں جانب پورے راستے آتے 530 00:28:16,000 --> 00:28:19,000 ہم واقعات میں ان مختلف واقعات کے سب یہاں دیکھ سکتے ہیں. 531 00:28:19,000 --> 00:28:23,000 میں بٹن دبائیں، جب میں بٹن کے، جب میں نل کو دوگنا یا جو کچھ بھی کر سکتے ہیں، 532 00:28:23,000 --> 00:28:26,000 اور ایک میں صرف رجسٹرڈ ہے اس واقعہ کو ٹچ فون کیا تھا اندر، 533 00:28:26,000 --> 00:28:29,000 اور اس کا کہنا ہے کہ کہ جیسے ہی میری انگلی بٹن آتا ہے 534 00:28:29,000 --> 00:28:32,000 اس صورت آگ جا رہا ہے، اور یہ کہ بالکل وہی جو صرف ہوا ہے. 535 00:28:32,000 --> 00:28:36,000 یہ ڈیفالٹ بٹن دبایا ایونٹ کی قسم ہے. 536 00:28:36,000 --> 00:28:39,000 >> کوئی بھی سوال اب تک؟ 537 00:28:39,000 --> 00:28:43,000 ٹھیک ہے، یہ ہے کہ ہم کس طرح اپنے کوڈ میں چیزیں تار شروع کر سکتے ہیں 538 00:28:43,000 --> 00:28:46,000 ہمارے انٹرفیس کے اندر چیزوں میں. 539 00:28:46,000 --> 00:28:49,000 یاد ہے سب سے پہلے جس چیز سے ہمیں کرنا پڑا کوڈ کو تلاش کرنے کے لئے تھا، 540 00:28:49,000 --> 00:28:54,000 اور پھر ہم نے کوڈ وائرڈ انٹرفیس، 541 00:28:54,000 --> 00:28:57,000 اور ہماری سب سے پہلے اے پی پی ہے. 542 00:28:57,000 --> 00:29:00,000 ٹھیک ہے، یہ واقعی ڈاؤن لوڈ، اتارنا تھا، اور ہم نے اس بٹن کو پیدا ہے. 543 00:29:00,000 --> 00:29:03,000 اگر ہم ایسا کرتے ہیں خصوصیات کا ایک گروپ بنانے کے لئے کی ضرورت نہیں کرنا چاہتے 544 00:29:03,000 --> 00:29:05,000 یہ بٹن کی نمائندگی ہے؟ 545 00:29:05,000 --> 00:29:08,000 مثال کے طور پر، میں نے Tic دوسس پیر میں 9 بٹن ہے، 546 00:29:08,000 --> 00:29:11,000 اور یہ سپر، سپر 9 اوقات کھینچ کر لائیں اور چھوڑ کر پریشان ہو جائے گا 547 00:29:11,000 --> 00:29:14,000 یا اگر میں 81 سے Tic دوسس پیر کے بجائے 9 کرنا پڑے 548 00:29:14,000 --> 00:29:17,000 اور میں اور 81 بار چھوڑنے کیلئے کھینچیں تھا، اور یہ کہ لنگڑے ہے. 549 00:29:17,000 --> 00:29:20,000 بجائے ہم کیا کر سکتے ہیں بہت ایک HTML کی طرح ہے 550 00:29:20,000 --> 00:29:23,000 ہم شناخت اور نام کی طرح چیزوں کو جب تھے اور ہم سب چیزوں کے لئے تلاش کر سکتے ہیں 551 00:29:23,000 --> 00:29:27,000 ان کی ID کی طرف سے، iOS میں بھی اسی طرح تصور کہا جاتا ٹیگز ہے. 552 00:29:27,000 --> 00:29:31,000 >> ایک ٹیگ صرف ایک جزو کے لئے ایک منفرد عددی شناخت کنندہ ہے. 553 00:29:31,000 --> 00:29:34,000 اگر میں کہتا ہوں کہ یہ 0 کے ایک ٹیگ ہے، مثال کے طور پر، 554 00:29:34,000 --> 00:29:38,000 اگر میں نے ایک بٹن بنانے اور 0 ٹیگ دے، اور ہم دیکھتے ہیں کہ کس طرح صرف ایک سیکنڈ میں ایسا کریں گے، 555 00:29:38,000 --> 00:29:41,000 اگر میں اس بٹن کو حاصل کرنے کے لئے کرنا چاہتے ہیں، میں صرف میں فون کرنا چاہتے ہیں کہہ سکتے ہیں 556 00:29:41,000 --> 00:29:45,000 ، اعتراض پر یہاں طریقہ viewWithTag 557 00:29:45,000 --> 00:29:48,000 مثال کے طور پر، self.view، جس میں موجودہ سکرین کی نمائندگی کرتا ہے. 558 00:29:48,000 --> 00:29:53,000 اگر میں اس viewWithTag طریقہ کہتے ہیں، میں 0 ٹیگ کے ساتھ واپس بٹن پر ھیںچو جا رہا ہوں. 559 00:29:53,000 --> 00:29:58,000 کی عمارت Tic دوسس پیر کی طرف سے اس پر ایک نظر لے. 560 00:29:58,000 --> 00:30:01,000 سب سے پہلے، یہ میرا اسٹوری بورڈ ہے. 561 00:30:01,000 --> 00:30:05,000 میں نے ان 10 UI بٹن کو تشکیل دے دیا ہے. 562 00:30:05,000 --> 00:30:07,000 نوٹس وہ سب کے سب ایک ہی سائز رہے ہیں. 563 00:30:07,000 --> 00:30:11,000 اگر میں ان میں سے ایک پر کلک کریں اور میں یہاں پر یہ حق کی طرف واپس آتے ہیں 564 00:30:11,000 --> 00:30:15,000 آپ کو دیکھ کر میں نے فونٹ ایڈجسٹ یہیں ہے، تو میں نے فونٹ بنایا تھوڑا سا بڑا کریں گے، 565 00:30:15,000 --> 00:30:19,000 لیکن جو میں نے بھی کیا تھا میں اس ٹیگ کو مقرر کیا ہے. 566 00:30:19,000 --> 00:30:23,000 میں نے کہا کہ یہ 1 ایک ٹیگ ہے، اور یہ کہ سب سے اوپر بائیں ہے. 567 00:30:23,000 --> 00:30:26,000 >> اب، اگر میں کسی دوسرے کے بٹن پر کلک کریں، یہ دوسری طرح 568 00:30:26,000 --> 00:30:29,000 اب آپ دیکھتے ہیں کہ میرے ٹیگ 2 گے. 569 00:30:29,000 --> 00:30:32,000 ان بٹنوں میں سے ہر ایک صرف ایک منفرد ٹیگ ہے، 570 00:30:32,000 --> 00:30:35,000 اور تو اس کے بعد کس طرح میں کر رہا ہوں بات چیت شروع کرنے کے لئے جا رہا 571 00:30:35,000 --> 00:30:38,000 میری اے پی پی کے ساتھ. 572 00:30:38,000 --> 00:30:40,000 یہ ایک ہی منظر کنٹرولر کے سب اندر ہے، 573 00:30:40,000 --> 00:30:42,000 لیکن یہاں ہے جو ہم نے. 574 00:30:42,000 --> 00:30:44,000 ہم نے 3 خصوصیات یہاں ہے. 575 00:30:44,000 --> 00:30:49,000 پہلا اور آخری ایک میرے بورڈ کے ریاست کی نمائندگی کرنے جا رہے ہیں. 576 00:30:49,000 --> 00:30:53,000 بنیادی طور پر یہ پہلا جہاں XS اور OS کی نمائندگی صف ہے. 577 00:30:53,000 --> 00:30:57,000 یہ ایک دوسرے یہاں ہمیں بتاتا ہے جس کی باری ہے. 578 00:30:57,000 --> 00:31:01,000 آپکو محسوس ہو گا کہ میں بھی ان چیزوں کو یہاں پڑے گا. 579 00:31:01,000 --> 00:31:05,000 سے پہلے جب ہم خصوصیات کا اعلان کیا ہم نے انہیں ایک کا نام اور ایک قسم دی. 580 00:31:05,000 --> 00:31:08,000 ہم نے ان سے بھی کچھ اضافی معلومات یہاں دے سکتے ہیں. 581 00:31:08,000 --> 00:31:11,000 یہ پہلا nonatomic کا کہنا ہے کہ، اور اس کا کہنا ہے کہ 582 00:31:11,000 --> 00:31:16,000 بنیادی طور پر صرف ایک ہی چیز کبھی ایک وقت میں اس متغیر پر تک رسائی حاصل رکھا جائے گا کی کوشش کر رہے ہیں. 583 00:31:16,000 --> 00:31:19,000 آپ کو زیادہ پیچیدہ اطلاقات کثیر موضوع ہیں کر سکتے ہیں، 584 00:31:19,000 --> 00:31:22,000 اور اس طرح پہلے ہم نے شروع میں مختلف موضوعات تھے، 585 00:31:22,000 --> 00:31:25,000 اور مختلف sprites مختلف چیزیں ایک ہی وقت میں کر رہا کیا جا سکتا ہے. 586 00:31:25,000 --> 00:31:29,000 >> اگر یہ بات ہے، جو کچھ میں نہیں ہے کہ ہم تلاش کریں گے نہیں ہے، 587 00:31:29,000 --> 00:31:33,000 اگر ہم nonatomic کا کہنا ہے کہ یہ اصل میں چیزیں تیزی سے تھوڑا سا بنانے کے لئے جا رہا ہے. 588 00:31:33,000 --> 00:31:37,000 ہم نے بھی اس ملاقات کی تفویض، مضبوط، یا کمزور بات ہے. 589 00:31:37,000 --> 00:31:40,000 تفویض یہ صرف کا کہنا ہے کہ یہ ایک معیاری کی قسم ہے. 590 00:31:40,000 --> 00:31:43,000 یہ ایک چیز یا پوائنٹر نہیں ہے کیونکہ یہ صرف ایک bool ہے، 591 00:31:43,000 --> 00:31:46,000 تو bool مقصد C میں بنایا گیا ہے. 592 00:31:46,000 --> 00:31:49,000 اس کا کہنا ہے کہ یہاں اشارہ کے ساتھ پسند ہیں کچھ بھی کرنے کی کوشش نہیں کی ہے. 593 00:31:49,000 --> 00:31:51,000 یہ ایک باقاعدہ پرانے scaler ہے. 594 00:31:51,000 --> 00:31:54,000 مضبوط اور کمزور، اس کمزور اصل میں جو یہ کہتا ہے 595 00:31:54,000 --> 00:31:57,000 میں ہے یہ نقطہ نظر کنٹرولر میں کچھ کی طرف اشارہ کرنا چاہتے ہیں. 596 00:31:57,000 --> 00:32:00,000 میں جا رہا ہوں اصل میں مختص کرنے کے لئے نہیں کر رہا ہوں یا یہ خود init. 597 00:32:00,000 --> 00:32:04,000 انٹرفیس بلڈر، جب میں اے پی پی چلاتے ہیں، کہ ابتدا سے نمٹنے کے لئے کی جا رہی ہے. 598 00:32:04,000 --> 00:32:07,000 اگر میں کمزور کہتے ہیں، جو یہ کہتا ہے کہ کسی نے اس بنانے کے لئے کیا جا رہا ہے. 599 00:32:07,000 --> 00:32:09,000 اگر میں مضبوط کا کہنا ہے کہ، اس کا کہنا ہے کہ ہے کہ میں ایک بننے کے لئے جا رہا ہوں 600 00:32:09,000 --> 00:32:12,000 کہ یہ بورڈ شئی پیدا کر رہا ہے، 601 00:32:12,000 --> 00:32:14,000 اور اس میں یہاں کچھ اور طریقوں یہاں ہے، 602 00:32:14,000 --> 00:32:18,000 مثال کے طور پر، جب نیا کھیل کے بٹن دبایا جاتا ہے کے لئے ایک ایکشن 603 00:32:18,000 --> 00:32:20,000 جب دوسرے بٹنوں میں سے کسی پر زور دیا کر رہے ہیں کے لئے ایک ایکشن، 604 00:32:20,000 --> 00:32:23,000 اور وغیرہ. 605 00:32:23,000 --> 00:32:26,000 >> ہم Tic دوسس پیر کی منطق کے بہت زیادہ میں نہیں ملے گا، 606 00:32:26,000 --> 00:32:30,000 اگرچہ یہ بہت دلچسپ ہے، لیکن پر ایک نظر لے 607 00:32:30,000 --> 00:32:33,000 چیزیں ہیں کہ ہم iOS کے اندر کر سکتے ہیں میں سے کچھ ہیں. 608 00:32:33,000 --> 00:32:35,000 یہ نیا کھیل کا طریقہ فائرنگ کی جا رہی ہے 609 00:32:35,000 --> 00:32:37,000 میں نیا کھیل کے بٹن جب بھی دبائیں. 610 00:32:37,000 --> 00:32:41,000 ہک ہے کہ کیا میں صرف میری اسٹوری بورڈ کو آنے کی. 611 00:32:41,000 --> 00:32:43,000 میں نیا کھیل پر کلک کیا. 612 00:32:43,000 --> 00:32:47,000 اگر میں حق پر یہاں میں یہ دیکھ سکتا 613 00:32:47,000 --> 00:32:50,000 ہے newGame کے طریقہ کار سے منسلک اندر ممبر چھونا. 614 00:32:50,000 --> 00:32:53,000 یہی وجہ ہے کہ اس فائرنگ کرنے کے لئے کی جا رہی ہے. 615 00:32:53,000 --> 00:32:56,000 newGame طریقہ کوئی سیٹ اپ کیا جا رہا ہے. 616 00:32:56,000 --> 00:32:59,000 اس کا کہنا ہے کہ میں آپ کو بورڈ کے ریاست کو صاف کرنا چاہتے ہیں جا رہا ہے. 617 00:32:59,000 --> 00:33:01,000 یہ تبدیلی arrays پر ایک اچھا طریقہ ہے. 618 00:33:01,000 --> 00:33:03,000 اس کا کہنا ہے کہ اب X باری ہے جا رہا ہے، 619 00:33:03,000 --> 00:33:07,000 اور اب میں اس viewWithTag بات کا فائدہ لے جا رہا ہوں. 620 00:33:07,000 --> 00:33:11,000 >> میں جانتا ہوں کہ میرا بٹن کے ٹیگز 1-9 ہیں، 621 00:33:11,000 --> 00:33:13,000 اور یہ کہ کچھ میں منمانے اٹھایا ہے. 622 00:33:13,000 --> 00:33:15,000 اگر میں ہر بٹن کے متن خالی ہو جائے قائم کرنے کے لئے کرنا چاہتے ہیں 623 00:33:15,000 --> 00:33:17,000 کیونکہ میں صرف ایک نیا کھیل شروع کر دیا اور میں نے کوئی نہیں کرنا چاہتا 624 00:33:17,000 --> 00:33:20,000 XS یا OS سے زیادہ میں نے یہ کر سکتے ہیں چھوڑ. 625 00:33:20,000 --> 00:33:24,000 میں کہتا ہوں کہ میں ٹیگ کے ساتھ، 1، 2، 3، 4 وغیرہ کی ضرورت ہے کر سکتے ہیں. 626 00:33:24,000 --> 00:33:27,000 یہ ایک مختلف بٹن ہر بار ھیںچو گا. 627 00:33:27,000 --> 00:33:30,000 یہاں میں یہ UIButton ڈالا جا رہا ہوں. 628 00:33:30,000 --> 00:33:33,000 جیسا کہ ہم نے floats اور اس کے برعکس ints ڈال کر سکتے ہیں 629 00:33:33,000 --> 00:33:37,000 اس کا کہنا ہے کہ میں ایک UIButton اس پر ڈال کرنا چاہتے ہیں. 630 00:33:37,000 --> 00:33:40,000 اس کا مطلب ہے کہ اس کی قسم UIButton * ہو جائے گا 631 00:33:40,000 --> 00:33:43,000 اشارہ کی وجہ سے، لیکن فکر مت کرو، وہ خوفناک نہیں ہو. 632 00:33:43,000 --> 00:33:47,000 >> ایک بار میں اس بٹن کو میں اس پر ایک طریقہ کو فون کرنے جا رہا ہوں. 633 00:33:47,000 --> 00:33:50,000 یہ طریقہ کو setTitle forState کہا جاتا ہے، اور تو اس کا کہنا ہے کہ 634 00:33:50,000 --> 00:33:53,000 میں بٹن کے متن خالی سٹرنگ پر قائم کرنے کے لئے کرنا چاہتے ہیں، 635 00:33:53,000 --> 00:33:57,000 اور میں نے اسے خالی سٹرنگ ہے جب وہ نہیں دبایا ہے کرنا چاہتے ہیں. 636 00:33:57,000 --> 00:34:01,000 اگر میں اس طریقے کا استعمال کرتے ہوئے کر رہا ہوں، میں بٹن کے متن کو تبدیل کر سکتے ہیں 637 00:34:01,000 --> 00:34:04,000 جیسے ہی کوئی یہ مار دیتی ہے، لیکن ہم کہتے ہیں کہ جب بٹن صرف وہاں بیٹھی ہے کرنا چاہتے ہیں 638 00:34:04,000 --> 00:34:07,000 میں متن کو خالی کرنا چاہتے ہیں. 639 00:34:07,000 --> 00:34:10,000 آخر میں، ہم اپنے بورڈ کی ابتدا کرنے جا رہے ہیں، 640 00:34:10,000 --> 00:34:12,000 اور میں کہتا ہوں کہ سب کچھ 0 فی الحال کے لئے جا رہا ہوں، 641 00:34:12,000 --> 00:34:15,000 تو یہ بورڈ کے ارکان immutable تبدیلی صف ہے، 642 00:34:15,000 --> 00:34:21,000 جس کا مطلب ہے کہ میں addObject طریقہ کار اور اس کے صرف ایک 0 اندر کال کر سکتے ہیں. 643 00:34:21,000 --> 00:34:23,000 یہی ہوتا ہے جب میں ایک نیا کھیل بنانے کے. 644 00:34:23,000 --> 00:34:25,000 >> کی ایک دوسرے پر ایک نظر لے. 645 00:34:25,000 --> 00:34:28,000 یہ طریقہ IBAction ہے کہ اس پر زور دیا جا رہا ہے 646 00:34:28,000 --> 00:34:31,000 ہر بار ان چوکوں میں سے ایک پر زور دیا ہے. 647 00:34:31,000 --> 00:34:33,000 اب ہم یہاں کچھ Tic دوسس پیر منطق ہے. 648 00:34:33,000 --> 00:34:36,000 ہم اندازہ لگا جس کی باری ہے، 649 00:34:36,000 --> 00:34:39,000 کی بنیاد پر اور اس پر ہم یا تو ایک X یا O قائم، 650 00:34:39,000 --> 00:34:43,000 لیکن ہم دیکھیں گے کہ ہم نے اس ایک ہی ایونٹ ہینڈلر reusing رہے ہیں 651 00:34:43,000 --> 00:34:45,000 ان بٹنوں میں سے ہر ایک کے لئے. 652 00:34:45,000 --> 00:34:49,000 اس کا مطلب یہ ہے کہ میں سب سے اوپر بائیں بٹن کے لئے ایک طریقہ نہیں ہے، 653 00:34:49,000 --> 00:34:52,000 نیچے دائیں بٹن کے لئے ایک مختلف طریقہ ہے، اگرچہ کہ میں کیا کیا جا سکتا ہے. 654 00:34:52,000 --> 00:34:54,000 یہ واقعی میں بہت اچھا ڈیزائن نہیں کیا جائے گا. 655 00:34:54,000 --> 00:34:57,000 میں یہاں کیا کر رہا ہوں میں اصل تعین کرنے جا رہا ہوں 656 00:34:57,000 --> 00:35:00,000 کے بٹن پر زور دیا گیا تھا ٹیگ کیا ہے. 657 00:35:00,000 --> 00:35:04,000 آپ کو نوٹس ہے کہ یہ کھیل کا طریقہ کار ایک دلیل لیتا ہے. 658 00:35:04,000 --> 00:35:07,000 یہ مرسل کہتے ہیں، اور کیا مرسل ہے مرسل ہے جا رہا 659 00:35:07,000 --> 00:35:10,000 بالکل کیا وسلم ایکشن لیا گیا تھا نمائندگی کرتے ہیں. 660 00:35:10,000 --> 00:35:15,000 اگر میں نے ایک بٹن دبائیں، یہ مرسل کہ UIButton جا رہا ہے 661 00:35:15,000 --> 00:35:18,000 تاکہ اس میں اصل میں زور دیا گیا ہے، کا مطلب ہے کہ وہ UIButton 662 00:35:18,000 --> 00:35:20,000 ایک ٹیگ ہے کیونکہ میں ایک ٹیگ پیدا کیا. 663 00:35:20,000 --> 00:35:23,000 >> اگر میں ٹیگ کو حاصل کرنے کے لئے کرنا چاہتے ہیں، میں صرف کہہ سکتے ہیں 664 00:35:23,000 --> 00:35:26,000 بھیجنے والے کا ٹیگ چاہتے ہیں، 665 00:35:26,000 --> 00:35:28,000 اور پھر سے، میں صرف ایک UIButton ہے casted. 666 00:35:28,000 --> 00:35:32,000 مجھے نہیں پتہ کہ مرسل ایک UIButton ہو جائے گا ہو سکتا ہے. 667 00:35:32,000 --> 00:35:34,000 یہ ایک UIButton ہمیشہ نہیں ہے. 668 00:35:34,000 --> 00:35:36,000 میں مثال کے طور پر، اسی ایونٹ ہینڈلر کریں سکتی ہے 669 00:35:36,000 --> 00:35:38,000  ایک بٹن ایک سلائیڈر کے لئے ایک کے لئے ایک کے لئے. 670 00:35:38,000 --> 00:35:40,000 اس صورت میں، میں جانتا ہوں کہ وہ سب کے بٹن ہیں، تو میں کہنے جا رہا ہوں 671 00:35:40,000 --> 00:35:43,000 میں یہ ایک بٹن کرنا چاہتے ہیں، اور پھر میں ٹیگ حاصل کر سکتے ہیں، 672 00:35:43,000 --> 00:35:48,000 اور اب میں ٹیگ سے پتہ ہے جہاں میں بورڈ کے اندر ہوں. 673 00:35:48,000 --> 00:35:51,000 تو پھر مجھے بھی X یا O، باری پلٹائیں کر سکتے ہیں صرف اسے مقرر کر سکتے ہیں، 674 00:35:51,000 --> 00:35:54,000 چیک کرنے کے لیے جو cetera ET جیت لیا ہے. 675 00:35:54,000 --> 00:35:59,000 >> یہ اب تک میں آپ کا کوئی سوال ہے؟ 676 00:35:59,000 --> 00:36:02,000 ٹھیک ہے، تمام کوڈ کو ہم پوسٹ آن لائن ہم بہت زیادہ میں حاصل کرنے کے لئے نہیں کرنا چاہتا 677 00:36:02,000 --> 00:36:06,000 Tic دوسس پیر منطق کے، لیکن اب آپ واقعی دیکھ سکتے ہیں 678 00:36:06,000 --> 00:36:09,000 ہم سب کر رہے ہیں ہم اس صف پر looping کر رہے ہیں، 679 00:36:09,000 --> 00:36:13,000 تو ہم یہاں loops کے لئے ایک جوڑے کی ہے، اور ہم صرف دیکھ موازنہ کر رہے ہیں 680 00:36:13,000 --> 00:36:18,000 کیا ہم تمام قطار، اس طرح ایک کالم یا کسی بھی چیز میں ایک میچ میں ایک میچ ہے. 681 00:36:18,000 --> 00:36:21,000 اصل میں اس اپلی کیشن کو چلانے کے لئے، اگر میں ان بٹنوں میں سے ایک نل 682 00:36:21,000 --> 00:36:24,000 تو ہے کہ کھیل کا طریقہ نکالا گیا ہے، اس کا مطلب ہے کہ میں صرف مقرر 683 00:36:24,000 --> 00:36:31,000 بٹن ایک X، لہذا اب اس بٹن کو ایک O اور تو، 684 00:36:31,000 --> 00:36:35,000 اور وہ ہے کہ ہم کس طرح اس ایک صفحے اپلی کیشن کے ساتھ بات چیت شروع کر رہے ہیں. 685 00:36:35,000 --> 00:36:38,000 >> ، ہم کوڈ پوسٹ کریں گے، کہ peruse بلا جھجھک 686 00:36:38,000 --> 00:36:43,000 لیکن اب کچھ اطلاقات صرف ایک صفحے سے زیادہ ہیں کے بارے میں بات کریں. 687 00:36:43,000 --> 00:36:47,000 Tic دوسس پیر کے طور پر پر جوش تھا iOS کے اندر اطلاقات کی ایک بہت 688 00:36:47,000 --> 00:36:50,000 ایک سے زیادہ کی سکرین کے ساتھ چیزوں کے نیچے ان ڈرل کی طرح ہیں. 689 00:36:50,000 --> 00:36:54,000 پہلا تصور یہ ہے کہ ہم کے بارے میں بات کرنے کی ضرورت ہو گی پروٹوکولز ہیں، 690 00:36:54,000 --> 00:36:57,000 اور ایک پروٹوکول صرف طریقوں میں سے ایک سیٹ ہے 691 00:36:57,000 --> 00:36:59,000 کہ آپ وضاحت وعدہ کر سکتے ہیں. 692 00:36:59,000 --> 00:37:02,000 اگر میں 2 طریقوں کے ساتھ اس نئے پروٹوکول، یہ پہلا تخلیق، 693 00:37:02,000 --> 00:37:05,000 اگر واپسی کی قسم کی باطل ہے، میں اسے FOO سے ملاقات کی. 694 00:37:05,000 --> 00:37:07,000 اس میں کوئی بحث نہیں لیتا ہے. میں ایک اور طریقہ ہے. 695 00:37:07,000 --> 00:37:11,000 یہ ایک int واپس. میں نے اسے بار، اور یہ ایک دلیل لیتا ہے. 696 00:37:11,000 --> 00:37:14,000 یہ سب پروٹوکول یہ ہے کہ SomeProtocol بلایا یہاں، 697 00:37:14,000 --> 00:37:19,000 یہ ہیں کہ کسی عمل درآمد کر سکتے ہیں کی ایک سیٹ ہے. 698 00:37:19,000 --> 00:37:22,000 میں اس پروٹوکول کے اندر نہیں کیا FOO کرتا ہے. 699 00:37:22,000 --> 00:37:26,000 اس کے بجائے، میں آپ FOO وضاحت اگر آپ کرنا چاہتے ہیں کر سکتے ہیں کے لئے صرف یہ کہہ رہا ہوں. 700 00:37:26,000 --> 00:37:30,000 اگر میں ایک نقطہ نظر کنٹرولر پیدا ہوں یا ایک کلاس پیدا 701 00:37:30,000 --> 00:37:33,000 میں کہ کلاس کے وعدہ کے اندر عمل درآمد کر سکتے ہیں 702 00:37:33,000 --> 00:37:40,000 ان طریقوں میں سے کچھ، تو مثال کے طور پر اگر، کا کہنا ہے کہ 703 00:37:40,000 --> 00:37:43,000 اس کا کہنا ہے کہ میں نے تم سے وعدہ کر رہا ہوں کہ اندر 704 00:37:43,000 --> 00:37:50,000 اس قول کنٹرولر طبقے کی میں FOO اور بار دونوں کے لئے تعریف کر جائے گا. 705 00:37:50,000 --> 00:37:52,000 >> یہی وجہ ہے کہ مفید ہے؟ 706 00:37:52,000 --> 00:37:55,000 iOS کے اندر بہت سے اجزاء میں سے اس کا فائدہ اٹھانے کی 707 00:37:55,000 --> 00:37:58,000 ڈیزائن پیٹرن کے وفد سے ملاقات کی، اور جو وفد کا کہنا ہے کہ 708 00:37:58,000 --> 00:38:01,000 یہ ہے کہ، مثال کے طور پر، اگر میں ایک ٹیکسٹ باکس ہے 709 00:38:01,000 --> 00:38:04,000 اور کچھ واقعات جو کہ اپنے متن کے باکس کے اندر رکھا جائے رجسٹرڈ کیا جا سکتا ہے ہے، 710 00:38:04,000 --> 00:38:07,000 بلکہ الگ الگ واقعات میں کیا کر سکتے ہیں بنانے سے ہے، میں کہہ سکتے ہیں 711 00:38:07,000 --> 00:38:10,000 اس ٹیکسٹ باکس کے مندوب کو کچھ اعتراض ہو جائے گا. 712 00:38:10,000 --> 00:38:13,000 جب میں کہتا ہوں کہ اب یہ ایک مندوب ہے اس کا مطلب ہے کہ کہ 713 00:38:13,000 --> 00:38:16,000 کچھ جب بھی تقریب گے متن والے باکس میں فائرنگ 714 00:38:16,000 --> 00:38:18,000 بجائے یہ یا ایسا کچھ کریں 715 00:38:18,000 --> 00:38:21,000 یہ صرف مندوب کے طریقہ کار سے فون چل رہا ہے. 716 00:38:21,000 --> 00:38:24,000 مثال کے طور پر، اندر میں میرے ٹیکسٹ باکس کے لئے جب میں پریس کے لئے ایک طریقہ ہے 717 00:38:24,000 --> 00:38:27,000 کہ نیچے دائیں میں بٹن کیا ہے، 718 00:38:27,000 --> 00:38:30,000 اور اس کی بجائے ایونٹ ہینڈلر میں کیا کہہ سکتا ہوں کر رہا ہے 719 00:38:30,000 --> 00:38:34,000 ٹیکسٹ باکس، یہاں کسی چیز ہے کہ میں نے تم پر ایک طریقہ سے بات کرنا چاہتے ہیں 720 00:38:34,000 --> 00:38:37,000 ہر بار کسی نے کیا بٹن پریس، 721 00:38:37,000 --> 00:38:40,000 اور اس کا مطلب ہے کہ وہ چیز کچھ پروٹوکول پر عملدرآمد کرنے کے لئے ہے 722 00:38:40,000 --> 00:38:45,000 جو یہ کہتا ہے کہ میں کہ کیا بٹن کارروائی کی وضاحت کرنے کے لئے وعدہ کرتا ہوں، 723 00:38:45,000 --> 00:38:47,000 کیونکہ اگر یہ طریقہ بیان نہیں ہے اور تم نے کیا کیا پریس، 724 00:38:47,000 --> 00:38:49,000 تو اس مبہم ہونے جا رہا ہے. 725 00:38:49,000 --> 00:38:55,000 >> کی ایک مثال کے طور پر ایک نظر لے. 726 00:38:55,000 --> 00:38:58,000 میں یہاں صرف ایک ٹیکسٹ باکس ہے، 727 00:38:58,000 --> 00:39:04,000 اور اس دائیں جانب پر یہاں اس ٹیکسٹ باکس کی خصوصیات میں سے ایک مندوب ہے. 728 00:39:04,000 --> 00:39:06,000 یہ کلاس کی ایک خاصیت ہے. 729 00:39:06,000 --> 00:39:09,000 میں یہاں کیا کیا ہے میں کلک کیا کنٹرول، اور میں اس جگہ کو یہاں سے گھسیٹ 730 00:39:09,000 --> 00:39:13,000 قول کنٹرولر، اور یہ کہ اب اس متن کے خانے کے مندوب کا کہنا ہے کہ 731 00:39:13,000 --> 00:39:18,000 نقطہ نظر کنٹرولر ہو جائے گا. 732 00:39:18,000 --> 00:39:20,000 اس کا مطلب یہ ہے کہ جب کچھ اعمال، بلکہ اندراج سے ہو 733 00:39:20,000 --> 00:39:25,000 علیحدہ ایونٹ handlers میں تمہیں ان کے مندوب پر بھیجنے کے لئے چاہتے ہیں. 734 00:39:25,000 --> 00:39:28,000 اب میرے خیال کنٹرولر پر ایک نظر لے. 735 00:39:28,000 --> 00:39:32,000 H فائل کے اندر میں نے ایک وعدہ کیا ہے. 736 00:39:32,000 --> 00:39:36,000 میں اس پروٹوکول کے اندر کچھ طریقوں کو نافذ کرنے کا وعدہ کیا ہے 737 00:39:36,000 --> 00:39:38,000 کہا جاتا UITextFieldDelegate، بار، 738 00:39:38,000 --> 00:39:42,000 یہ تو صرف کچھ چیزیں ہیں کہ میں پر عملدرآمد کرنے کا انتخاب کر سکتے ہیں میں سے کچھ کی فہرست ہے. 739 00:39:42,000 --> 00:39:46,000 >> اگر میں اپنے میٹر. فائل میں یہاں آتے ہیں، میں نے ایک ایسا طریقہ کو لاگو کیا ہے. 740 00:39:46,000 --> 00:39:49,000 میں اسے textFieldShouldReturn بلایا ہے 741 00:39:49,000 --> 00:39:52,000 اس لیے کہ وہ ہے جو پروٹوکول کے اندر بلایا گیا تھا. 742 00:39:52,000 --> 00:39:57,000 اور اب جب بھی میں اس متن والے فیلڈ کی کیا بٹن کے اندر پریس 743 00:39:57,000 --> 00:40:00,000 یہ ہے جو کہا جاتا ہونے جا رہا ہے، تو میں ایک ایونٹ ہینڈلر کا اندراج نہیں کیا ہے. 744 00:40:00,000 --> 00:40:03,000 میں مندوب سے منسلک ہے، اور جب بھی اس ایونٹ کو فائرنگ ہے 745 00:40:03,000 --> 00:40:08,000 یہ طریقہ ہے کہ فون ہو جائے گا ہے، اگر ایسا ہے تو میں یہاں میری اسٹوری بورڈ اور چلانے کے اس 746 00:40:08,000 --> 00:40:11,000 ہم دیکھتے ہیں جبکہ اس لوڈنگ ہے اس کا کیا کر سکتے ہیں. 747 00:40:11,000 --> 00:40:13,000 اپنی سکرین پر مجھے 2 چیزیں ہیں. 748 00:40:13,000 --> 00:40:16,000 میں اس متن والے فیلڈ ہے، اور میں اس لیبل ہے. 749 00:40:16,000 --> 00:40:19,000 میں صرف یہ کہہ رہے میں اس لیبل کا متن چاہتی ہوں 750 00:40:19,000 --> 00:40:23,000 جو بھی صارف متن والے فیلڈ کے اندر میں ٹائپ کے برابر ہو جائے. 751 00:40:23,000 --> 00:40:26,000 یہ اگلی لائن یہاں صرف ایک طریقہ ہے کہ میں بات کر رہا ہوں ہے 752 00:40:26,000 --> 00:40:29,000 متن والے فیلڈ ہے جو یہ کہتا ہے کہ میں آپ کو کی بورڈ کو چھپانے کے لئے چاہتے ہیں. 753 00:40:29,000 --> 00:40:33,000 یہ صرف صوابدیدی طریقہ ہے کہ ایپل کا انتخاب کیا ہے. 754 00:40:33,000 --> 00:40:38,000 >> ایک بار پھر، اس سے پہلے کہ میں کچھ بھی میں نے سب کو تار تھا کیا، تو میں نے سب سے پہلے یہاں آیا تھا. 755 00:40:38,000 --> 00:40:42,000 نقطہ نظر کے کنٹرولر سے میں ٹیکسٹ باکس کو کھینچ کر لائیں. 756 00:40:42,000 --> 00:40:46,000 میں، جاؤ اور میں یہاں دیکھ سکتے ہیں کہ میں نے یہ متن والے فیلڈ جائداد کر سکتے ہیں 757 00:40:46,000 --> 00:40:49,000 پر نقطہ نظر کنٹرولر میں یہاں سے میں نے جائیداد کی وضاحت ہے 758 00:40:49,000 --> 00:40:52,000 ہے کہ ایک متن والے فیلڈ کے ایک IBOutlet ہے. 759 00:40:52,000 --> 00:40:55,000 اس کا کہنا ہے کہ میں اس کی خاصیت کے تار سکتے ہیں. 760 00:40:55,000 --> 00:40:59,000 اپنے UI میں ایک متن والے فیلڈ پر. 761 00:40:59,000 --> 00:41:03,000 اب جب میں اس پر کلک کریں، میں ٹائپ کرنا شروع کر سکتے ہیں. 762 00:41:03,000 --> 00:41:06,000 اب اگر میں نے بٹن پر کلک کریں اس پر گولی چلانے جا رہا ہے 763 00:41:06,000 --> 00:41:08,000 کے نتیجے میں کوئی ایسا واقعہ ہے کہ اب میں جواب دینے کے لئے کر سکتے ہیں. 764 00:41:08,000 --> 00:41:10,000 ایونٹ handlers نہیں ہیں. 765 00:41:10,000 --> 00:41:13,000 اس طرح میں نے صرف کہ کیا بٹن کے جواب میں ہے. 766 00:41:13,000 --> 00:41:15,000 احساس ہے؟ 767 00:41:15,000 --> 00:41:20,000 >> یہ ایک ڈیزائن پیٹرن نہیں ہے کہ تم نے کبھی اپنے آپ کو نہیں مل سکتا ہے 768 00:41:20,000 --> 00:41:23,000 اپنے اپنے پروٹوکول کو پیدا ہے، لیکن صرف اتنا جانتا ہوں کہ کچھ 769 00:41:23,000 --> 00:41:27,000 iOS کے مختلف اجزاء مختلف طریقوں سے واقعات کریں. 770 00:41:27,000 --> 00:41:29,000 بٹن، مثال کے طور پر، ان لوگوں کو IBActions کا استعمال کریں. 771 00:41:29,000 --> 00:41:32,000 متن قطعے، دوسری طرف، کے نمائندوں کو استعمال کرنے کے لئے جا رہے ہیں. 772 00:41:32,000 --> 00:41:36,000 ہم کو دیکھتے ہیں اور آپ کہ دستاویزات کے اندر کی سب دیکھ سکتے ہیں کر سکتے ہیں. 773 00:41:36,000 --> 00:41:41,000 ویسے، اصل میں UI چیزیں ٹن آپ کے لئے iOS میں تعمیر 774 00:41:41,000 --> 00:41:46,000 مثال کے طور پر، جس طرح سے میں نے جو سب سے نیچے کے حق میں کیا کہنا 775 00:41:46,000 --> 00:41:48,000 ہے میں نے اس متن والے فیلڈ کو منتخب کیا ہے. 776 00:41:48,000 --> 00:41:50,000 میں یہاں آئی ہے. 777 00:41:50,000 --> 00:41:53,000 میں تھوڑا scrolled چابی واپس، 778 00:41:53,000 --> 00:41:56,000 اور میں یہ چیزوں کی ایک پوری چڑھانے اصل میں، طرح اگر میں چاہتی ہوں کہ کہنا سکتے ہیں 779 00:41:56,000 --> 00:42:00,000 ہنگامی کال کی بجائے میں یہ نہیں، کر سکتے ہیں جو کہ مکمل طور پر بے ترتیب ہے، 780 00:42:00,000 --> 00:42:02,000 اور مجھے پتہ نہیں کیوں ایک بلٹ میں ہنگامی کال بٹن نہیں ہے، 781 00:42:02,000 --> 00:42:06,000 لیکن وہاں یہ واقعی چھوٹے حروف میں ہنگامی کال کا کہنا ہے کہ. 782 00:42:06,000 --> 00:42:08,000 تم وہاں جاؤ. 783 00:42:08,000 --> 00:42:12,000 >> یقینی طور سے iOS میں ان مختلف اختیارات میں سے تمام کی. 784 00:42:12,000 --> 00:42:14,000 مندوبین پر میں آپ کا کوئی سوال ہے؟ 785 00:42:14,000 --> 00:42:18,000 ایک بار پھر، صرف ایک دلچسپ ڈیزائن پیٹرن ہے کہ آپ کے بارے میں علم ہونا چاہئے. 786 00:42:18,000 --> 00:42:22,000 ٹھیک ہے، چلو اگلے میز کے خیالات پر ایک نظر لے. 787 00:42:22,000 --> 00:42:26,000 ایک میز نقطہ نظر بنیادی طور پر اشیاء کی فہرست ہے کہ تمام iOS میں جگہ ختم ہو گیا ہے ہے. 788 00:42:26,000 --> 00:42:29,000 جب آپ سبھی آپ کے رابطے کے ذریعے flipping کر رہے ہیں، آپ کو تلاش کر رہے ہیں 789 00:42:29,000 --> 00:42:34,000 کی ترتیب کے صفحے پر، اور چیزوں کی فہرست اس طرح کی ایک میز کے نقطہ نظر کو کہا جاتا ہے. 790 00:42:34,000 --> 00:42:37,000 iOS میں ایک میز کے نقطہ نظر کو لاگو کرنے سے بہت آسان ہے. 791 00:42:37,000 --> 00:42:41,000 ایک کلاس ہے کہ اس UIViewController سے نزول فرماتا ہے کرنے کے بجائے 792 00:42:41,000 --> 00:42:44,000 جیسا کہ ہم نے کیا کیا ہے اس سے پہلے کہ ہم صرف بجائے کہنے کی ضرورت ہے 793 00:42:44,000 --> 00:42:46,000 سب کچھ ایک UIViewController میں کرنا چاہتا ہے، 794 00:42:46,000 --> 00:42:50,000 سب کچھ UITableViewController میں کرنا چاہتا ہے کا کہنا ہے کہ، 795 00:42:50,000 --> 00:42:54,000 تاکہ صرف کچھ اضافی چیزیں جو مکمل طور پر ہمارے لئے کیا کر رہے ہیں جوڑتا ہے. 796 00:42:54,000 --> 00:42:58,000 ہم بنیادی طور پر ٹیبل کے اندر خالی میں بھرنے کے لئے بہت تھوڑا کرنے کی ضرورت ہے. 797 00:42:58,000 --> 00:43:02,000 >> کے لئے ایک ٹیبل میں کچھ سوالات کا جواب کرنے کی ضرورت ہے کو ظاہر کرنے کے لئے. 798 00:43:02,000 --> 00:43:06,000 پہلا سوال میں جواب دینے کی ضرورت ہے ہے کتنے حصوں ٹیبل میں ہیں؟ 799 00:43:06,000 --> 00:43:08,000 آپ کو نوٹس ہے جب آپ کو آپ کے رابطے کے اپلی کیشن کے ذریعے flipping رہے ہیں کہ اس قسم کی ہے. 800 00:43:08,000 --> 00:43:12,000 کے طور پر کی طرف سے منظم، تو آپ کو گریڈ ہے، اور آپ کو اس چھوٹی سی ذیلی ہیڈر ہے. 801 00:43:12,000 --> 00:43:14,000 ان میں سے ہر ایک کے حصے کے نام سے جانا جاتا ہے. 802 00:43:14,000 --> 00:43:16,000 تم کر سکتے ہو یا ان کی ضرورت نہیں کر سکتے ہیں. 803 00:43:16,000 --> 00:43:19,000 پہلی بات ہے آپ کیا کرنے کی ضرورت ہے، ایک طریقہ پر عملدرآمد 804 00:43:19,000 --> 00:43:22,000 کہا جاتا tableView: numberOfSectionsInTableView. 805 00:43:22,000 --> 00:43:25,000 یہ صرف واپس آپ کتنے حصوں ہے، 806 00:43:25,000 --> 00:43:29,000 یہ تو ایسا کہیں ایک کو واپس کر سکتے ہیں اگر آپ کے پاس ایک بڑا ٹیبل نقطہ نظر ہے. 807 00:43:29,000 --> 00:43:33,000 اگلے سوال ہے کہ iOS جاننے کی ضرورت ہے ہے آپ کو کس طرح زیادہ لائنیں ہیں؟ 808 00:43:33,000 --> 00:43:36,000 مثال کے طور پر، آپ کو ایک ٹیبل نقطہ نظر کے ذریعے flipping کر رہے ہیں. 809 00:43:36,000 --> 00:43:39,000 آپ گانے، نغمے کی ایک مقررہ تعداد میں اپنے آپ کو تلاش کر رہے ہیں یا رابطے کی ایک مقررہ تعداد ہے. 810 00:43:39,000 --> 00:43:41,000 اگر تم مجھ سے ہیں، ظاہر ہے، بہت سے نہیں، 811 00:43:41,000 --> 00:43:44,000 اور تاکہ طرح iOS جانتا ہے کہ کس طرح بہت سے خلیات کو ظاہر کرنے کے لئے ہے. 812 00:43:44,000 --> 00:43:46,000 >> ایک بار پھر، یہ 3 واپسی کی طرح کچھ کہہ سکتا ہے. 813 00:43:46,000 --> 00:43:49,000 میری میز کے منظر 3 قطار ہے. 814 00:43:49,000 --> 00:43:52,000 آخر میں، iOS کو معلوم ہے کہ ہر سیل کی طرح لگتا ہے کرنے کی ضرورت ہے، 815 00:43:52,000 --> 00:43:54,000 تو کیا یہ اصل میں کیا جا رہا ہے ہے کہ اس طریقے سے نیچے یہاں فون، 816 00:43:54,000 --> 00:43:57,000 اس tableView: cellForRowAtIndexPath. 817 00:43:57,000 --> 00:44:01,000 یہ آپ کی ٹیبل کے اندر ہر ایک سیل پر اس طریقے کو فون کرنے جا رہا ہے. 818 00:44:01,000 --> 00:44:03,000 یہ کیسے جانتے ہو کہ کتنی بار اسے فون کرنے کی ہے؟ 819 00:44:03,000 --> 00:44:06,000 ٹھیک ہے، آپ اس کے اندر کے حصہ میں لائنیں کی تعداد میں بتایا تھا. 820 00:44:06,000 --> 00:44:08,000 ہم ہمارے خلیات میں سے ہر ایک پر اس کو فون کرنے جا رہے ہیں، 821 00:44:08,000 --> 00:44:11,000 اور اس کے اندر ہے جہاں آپ جیسی چیزوں کو اصل میں کیا کر سکتے ہیں 822 00:44:11,000 --> 00:44:16,000 متن کو مقرر کریں یا آپ کو بتاو کہ کیا ہے کہ دائیں جانب تھوڑا نیلے بٹن کرتا ہے. 823 00:44:16,000 --> 00:44:19,000 پیٹرن ان خلیات کو حاصل کرنے کے لئے، ہم نے اس طریقے کو استعمال کرنے کے لئے جا رہے ہیں 824 00:44:19,000 --> 00:44:22,000 کہا جاتا dequeueReusableCellWithIdentifier. 825 00:44:22,000 --> 00:44:29,000 >> مقصد C-اصل میں ان کے طریقہ کار کے ناموں کی مضحکہ خیز لمبائی کے لئے بہت اچھی طرح سے جانا جاتا ہے، 826 00:44:29,000 --> 00:44:32,000 اور یہ سچ نقطہ مثال کے طور پر میں ایک اچھا معاملہ ہے. 827 00:44:32,000 --> 00:44:37,000 کیا یہ طریقہ ہے کا کہنا ہے کہ میں تم مجھ سے ایک سیل کو دینے کے لئے چاہتے ہیں. 828 00:44:37,000 --> 00:44:39,000 صرف ایک iOS بات. 829 00:44:39,000 --> 00:44:41,000 اگر آپ اپنے آئی پوڈ پر 100،000 گانے، نغمے کی طرح کچھ ہے 830 00:44:41,000 --> 00:44:45,000 iOS کرنا نہیں چاہتا ہے 100،000 خلیات مختص، 831 00:44:45,000 --> 00:44:48,000 کیونکہ اگر آپ کو آپ کی فہرست کے سب سے اوپر دیئے گئے ہیں، آپ واقعی میموری مختص کرنے کی ضرورت ہے 832 00:44:48,000 --> 00:44:51,000 سیل جو نیچے 99.000 قطار ہے؟ 833 00:44:51,000 --> 00:44:55,000 نہیں، کیونکہ جیسا کہ آپ سکرول کر رہے ہیں، آپ کے طور پر آپ کے ساتھ جانے کے مختص کی طرح کر سکتے ہیں. 834 00:44:55,000 --> 00:44:57,000 یہ آپ کے لئے کیا جاتا ہے. 835 00:44:57,000 --> 00:44:59,000 آپ اس مورھ کی کارکردگی کی چیزوں کے بارے میں فکر کرنے کی ضرورت نہیں ہے. 836 00:44:59,000 --> 00:45:02,000 آپ کا کہنا ہے کہ آپ کو یہ طریقہ dequeueReusableCellWithIdentifier فون ہے، 837 00:45:02,000 --> 00:45:06,000 اور اس کا کہنا ہے کہ، ٹھیک ہے، اگر آپ میں آپ کے لئے ایک نیا سیل بنانے کے لئے جا رہا ہوں کی ضرورت ہے. 838 00:45:06,000 --> 00:45:09,000 >> لیکن اگر آپ کو ٹیبل کے سب سے نیچے دیئے گئے ہو، اور آپ پہلے سے ہی کچھ خلیات مختص ہے. 839 00:45:09,000 --> 00:45:12,000 ٹیبل کے سب سے اوپر ہے کہ تم سچ میں کسی بھی وقت جلد ہی کرنے کی ضرورت نہیں ہو 840 00:45:12,000 --> 00:45:15,000 میں آپ کو ایک نیا آونٹن کی بجائے واپس ان میں سے ایک دینے جا رہا ہوں، 841 00:45:15,000 --> 00:45:17,000 تو یہ ایک اچھی کارکردگی کی تشویش ہے. 842 00:45:17,000 --> 00:45:21,000 آپ خلیات اپنے آپ کو مختص نہیں ہے. 843 00:45:21,000 --> 00:45:23,000 کہ تم واپس ایک سیل دینے جا رہا ہے. 844 00:45:23,000 --> 00:45:25,000 یہ تمہارے لئے ایک سیل شئی پر واپس جا رہا ہے. 845 00:45:25,000 --> 00:45:28,000 ایک بار جب آپ سیل مقصد آپ اس چیزیں کر سکتے ہیں ہے. 846 00:45:28,000 --> 00:45:32,000 آپ اس متن لیبل نامی جائیداد کے ساتھ سیل کے متن کو مقرر کر سکتے ہیں. 847 00:45:32,000 --> 00:45:36,000 آپ کو حق یا کسی اور بے ترتیب چیزیں اس تیر کو شامل کر سکتے ہیں 848 00:45:36,000 --> 00:45:41,000 یہ دوسری جائیداد کے ساتھ ملاقات کی accessoryType، اور تو اور اس 849 00:45:41,000 --> 00:45:46,000 >> میں اصل میں ایک میز کے نقطہ نظر کو لاگو کرنے کے پر ایک نظر ڈالیں. 850 00:45:46,000 --> 00:45:49,000 جب میں اس منصوبے کو پیدا 851 00:45:49,000 --> 00:45:53,000 انفرادی نقطہ نظر درخواست کہہ کی بجائے دراصل میں یہاں آئی 852 00:45:53,000 --> 00:45:57,000 درخواست مالک کی تفصیل تو بنیادی طور پر یہ میل اپلی کیشن کے مساوی 853 00:45:57,000 --> 00:46:01,000 بائیں ٹیبل نقطہ نظر اور پھر دائیں طرف کے مواد کے ساتھ iPad پر. 854 00:46:01,000 --> 00:46:07,000 آئی پوڈ یا فون پر اس ایک ایک میز قول کے مطابق کی جا رہی ہے. 855 00:46:07,000 --> 00:46:10,000 اس جہاں میں اپنے سٹارٹر کوڈ مل گیا. 856 00:46:10,000 --> 00:46:13,000 >> چلو اسٹوری بورڈ میں پہلی بار ایک نظر ڈالیں. 857 00:46:13,000 --> 00:46:15,000 یہ سب میرے لئے کیا گیا تھا، بنیادی طور پر پیدا. 858 00:46:15,000 --> 00:46:18,000 یہ نیویگیشن بار آپ کے وزٹرز کا ریکارڈ سے ظاہر ہوتا ہے کہ ایک مثال کے طور پر سیل کی طرح نظر سکتی، 859 00:46:18,000 --> 00:46:22,000 اور میں یہ دوہرا، عنوان تبدیل کلک کر سکتے ہیں. 860 00:46:22,000 --> 00:46:25,000 کوئی دوسرے UI کے خدشات میں وہاں سنبھال سکتے ہیں. 861 00:46:25,000 --> 00:46:27,000 ہیڈر کی فائل بہت آسان لگتا ہے. 862 00:46:27,000 --> 00:46:30,000 کہ یہ UIViewController ہے کی بجائے اب ہم یہ کہہ رہا ہے کہ یہ ایک ہے 863 00:46:30,000 --> 00:46:35,000 TableViewController، تو ہم جانتے ہیں کہ ہم ان تمام ٹیبل کے طریقوں کو فون کرنا چاہتے ہیں. 864 00:46:35,000 --> 00:46:38,000 <پیچھے اگلا، دوسرا میں ایک پراپرٹی ہے جس کی نمائندگی کرنے جا رہا ہے پیدا کرنا چاہتے ہیں 865 00:46:38,000 --> 00:46:40,000 میری ٹیبل کے اندر چیزیں. 866 00:46:40,000 --> 00:46:43,000 یہ میز منمانے ظاہر کرنے کے لئے جا رہا ہے 867 00:46:43,000 --> 00:46:46,000 پھل کی ایک فہرست، اور اس لئے میں کچھ صف بنانے کے لئے کی ضرورت ہے 868 00:46:46,000 --> 00:46:49,000 جس میں پھل داخل کر سکتے ہیں. 869 00:46:49,000 --> 00:46:52,000 میرا عمل درآمد فائل پہلی چیز کے اندر میں کرنا چاہتے ہیں 870 00:46:52,000 --> 00:46:55,000 ہے، میں اس بات کا یقین کر لیں کہ میں اس صف ابتدا کرنا چاہتے ہیں. 871 00:46:55,000 --> 00:46:58,000 >> میں alloc init نے کہا کہ میرا پھل صف پیدا، 872 00:46:58,000 --> 00:47:03,000 اور میں نے اسے 4 چیزیں شامل رہا ہوں، جن میں سے ایک دیگر 3 سے زیادہ متنازعہ ہے. 873 00:47:03,000 --> 00:47:06,000 اور اب میں 4 سائز کے ایک صف ہے. 874 00:47:06,000 --> 00:47:08,000 ہم اس CS50 میں ملاتے ہوئے کر رہے ہیں. 875 00:47:08,000 --> 00:47:11,000 اب میں 4 سائز کے ایک صف ہے. 876 00:47:11,000 --> 00:47:13,000 اب میں ان سوالات کے جواب دینے شروع کر رہا ہوں، اور اصل میں، 877 00:47:13,000 --> 00:47:16,000 جب میں اس اپلی کیشن کو پیدا کیا یہ سب پہلے ہی میرے لئے کیا گیا تھا. 878 00:47:16,000 --> 00:47:19,000 میں میز کے خیال میں حصوں کی تعداد ٹائپ نہیں تھا. 879 00:47:19,000 --> 00:47:22,000 یہ پہلے سے ہی وہاں تھا، اور میں خالی میں بھرنے رہا ہوں. 880 00:47:22,000 --> 00:47:24,000 میں کتنے حصے ہیں؟ 881 00:47:24,000 --> 00:47:26,000 ایک. سب کیا ہے. 882 00:47:26,000 --> 00:47:28,000 میں کتنے قطار ہے؟ 883 00:47:28,000 --> 00:47:31,000 تو ٹھیک ہے، میں ہر پھل کے لئے ایک صف ہے، اس کا شمار 884 00:47:31,000 --> 00:47:34,000 کوئی بھی صف ہے جو یہ کہتا ہے کہ کتنا بڑا ہے کی خاصیت ہے؟ 885 00:47:34,000 --> 00:47:36,000 اس کا ہے کتنے قطار میں ہے. 886 00:47:36,000 --> 00:47:42,000 آخر میں، میں کہتا ہوں کہ ہر سیل کی طرح لگتی ہے کرنے کی ضرورت ہے؟ 887 00:47:42,000 --> 00:47:46,000 میں dequeueReusableCellWithIdentifier کہنے جا رہا ہوں. 888 00:47:46,000 --> 00:47:48,000 >> ایک بار پھر، یہ پہلے ہی میرے لئے لکھا گیا ہے. 889 00:47:48,000 --> 00:47:51,000 میں نے یہ خود کرنا پڑے نہیں کیا، اور میں واپس حاصل کرنے کے لئے کرنا چاہتے ہیں 890 00:47:51,000 --> 00:47:54,000 اس جگہ پر اس سیل ہے. 891 00:47:54,000 --> 00:47:57,000 یاد رکھیں کہ ہم ہر ایک سیل پر یہی طریقہ بتا رہے ہیں، 892 00:47:57,000 --> 00:48:01,000 اور یہ دلیل یہاں، اس indexPath دلیل 893 00:48:01,000 --> 00:48:03,000 کا کہنا ہے کہ جو صف میں اندر ہوں. 894 00:48:03,000 --> 00:48:05,000 اگر میں indexPath.row کا کہنا ہے کہ یہاں 895 00:48:05,000 --> 00:48:09,000 اس 0 ہو جائے گا، تو اس 1 ہو جائے گا، تو اس 2 ہو سکتا ہے، اور یہ تو میں جانتا ہوں گا 896 00:48:09,000 --> 00:48:11,000 کیا سیل میں فی الحال کی نمائش کر رہا ہوں. 897 00:48:11,000 --> 00:48:15,000 میں سیل کا متن اس textLabel جائیداد کا استعمال کرتے ہوئے مقرر کرنا چاہتے ہیں 898 00:48:15,000 --> 00:48:19,000 میرا پھل صف کے اندر جانے کے لئے اور 899 00:48:19,000 --> 00:48:21,000 ہر صف اسی اعتراض ہے. 900 00:48:21,000 --> 00:48:24,000 اگر یہ ایک تار ہے، اب میں قائم کرنے ہوں 901 00:48:24,000 --> 00:48:28,000 متن ایک تار کی جائداد. 902 00:48:28,000 --> 00:48:30,000 میں ایک اور کام کر سکتے ہیں. 903 00:48:30,000 --> 00:48:32,000 میں خلیات میں سے ہر ایک پر ایک ایونٹ ہینڈلر بھی رجسٹر کر سکتے ہیں، 904 00:48:32,000 --> 00:48:35,000 تو جب میں ان خلیات میں سے ہر ایک نل 905 00:48:35,000 --> 00:48:39,000 اس didSelectRowAtIndexPath، اس نے مجھے بلایا جا رہا ہے، 906 00:48:39,000 --> 00:48:42,000 تو اب میں صرف اس کی وضاحت کی طرف سے سنبھال سکتا ہوں کیا ہوتا ہے 907 00:48:42,000 --> 00:48:46,000 جب تم نے ایک سیل نل، اور پھر، ہم گزر جس میں سیل ٹیپ کیا گیا تھا ہے 908 00:48:46,000 --> 00:48:50,000 تاکہ ہم ہمارے خلیات کی سب کے لئے یہ اسی ایونٹ ہینڈلر کو دوبارہ استعمال کر سکتے ہیں. 909 00:48:50,000 --> 00:48:53,000 >> ایک بار پھر، یہ کچھ ہے iOS میرے لئے کر رہی ہے. 910 00:48:53,000 --> 00:48:55,000 چلو ایک اور پریشان پاپ اپ ظاہر کرنے کے لئے 911 00:48:55,000 --> 00:48:59,000 کہ صرف کا کہنا ہے کہ جہاں کہ کچھ تم سے کچھ اٹھایا 912 00:48:59,000 --> 00:49:04,000 صف اعتراض ہو جائے گا. 913 00:49:04,000 --> 00:49:10,000 جب میں اس چلاتے ہیں، میں یہ اچھا ٹیبل نقطہ نظر کے لئے جا رہا ہوں 914 00:49:10,000 --> 00:49:14,000 یہ پھل میں سے ہر ایک کے لئے ایک صف کے ساتھ، اور اگر میں ایک نل 915 00:49:14,000 --> 00:49:16,000 یہ مجھ سے کہتا ہے کیا ہوا ہے. 916 00:49:16,000 --> 00:49:21,000 احساس ہے؟ 917 00:49:21,000 --> 00:49:24,000 چلو تھوڑا سا ایک اپلی کیشن کی زیادہ پیچیدہ تعمیر، 918 00:49:24,000 --> 00:49:28,000 کے طور پر کلک کرنے سے آپ ٹماٹر اٹھایا کے طور پر زیادہ ہے. 919 00:49:28,000 --> 00:49:31,000 storyboarding کے بارے میں اچھا حصہ 920 00:49:31,000 --> 00:49:35,000 ہے ہمیں ڈیزائن کی سکرین کو انفرادی طور پر مدد نہ صرف ہو رہا ہے، 921 00:49:35,000 --> 00:49:38,000 یہ بھی ہمیں ساتھ ہمارے پورے اپلی کیشن کو باندھنے میں مدد کی جا رہی ہے، 922 00:49:38,000 --> 00:49:42,000 تو حتمی اپلی کیشن ہم تعمیر کریں گے یہ اچھا کھیل نیوز ریڈر ہے، 923 00:49:42,000 --> 00:49:45,000 اور تو اس ایک سے زیادہ کی سکرین کو ہے جا، اور اس میں اصل کی نمائندگی کر سکتے ہیں 924 00:49:45,000 --> 00:49:48,000 ، اسٹوری بورڈ پر ان سے زیادہ کی سکرین میں سے ہر ایک 925 00:49:48,000 --> 00:49:52,000 اور میں باہر زوم کر سکتے ہیں اور ایک اعلی سطح سے اپنے اپلی کیشن کو دیکھ کر سکتے ہیں. 926 00:49:52,000 --> 00:49:55,000 >> تاکہ میرے اسٹوری بورڈ کا ایک نیا عنصر اندر پیدا کرنے کی 927 00:49:55,000 --> 00:49:59,000 انٹرفیس بلڈر کے اندر واقعی بہت آسان ہے. 928 00:49:59,000 --> 00:50:01,000 اگر میں اس میں ایک اور سکرین پر شامل کرنا چاہتے ہیں ہیں، مثال کے طور پر، 929 00:50:01,000 --> 00:50:06,000 میں چوٹکی زوم ہے کہ ایپل اتنا پیار کرتا ہے کے ساتھ پہلے زوم کر سکتے ہیں، 930 00:50:06,000 --> 00:50:09,000 اور یہاں ذیل میں ایک بٹن کے لئے پہلے تلاش 931 00:50:09,000 --> 00:50:12,000 اور میں ایک بٹن کو ھیںچ کر ڈراپ 932 00:50:12,000 --> 00:50:15,000 اگر میں ایک نئی اسکرین بنانا چاہتے ہیں، میں صرف اصل اور ھیںچ کر رکھ دیں کر سکتے ہیں 933 00:50:15,000 --> 00:50:19,000 ایک مکمل نقطہ نظر کنٹرولر، اگر ایسا ہے تو میں نے اس کو منتخب کریں، اس کے یہاں ھیںچو، 934 00:50:19,000 --> 00:50:23,000 ہے، ایک سکرین ہے، اور تو اب یہی اسٹوری بورڈ فائل کا استعمال کرتے ہوئے 935 00:50:23,000 --> 00:50:26,000 میں میرے اے پی پی کے اندر سکرین کے سب ہے، اور میں باہر زوم کر سکتے ہیں کر سکتے ہیں 936 00:50:26,000 --> 00:50:28,000 دیکھتے ہیں اور وہ کس طرح بات چیت. 937 00:50:28,000 --> 00:50:32,000 یہ ابھی تک بات چیت نہیں کریں گے. 938 00:50:32,000 --> 00:50:36,000 جس طرح سے ہے جس میں ان 2 سکرین تعامل ہے کہ آپ کے تعلقات کی وضاحت. 939 00:50:36,000 --> 00:50:39,000 تم نے اس کی سکرین کو بنیادی طور پر، کا کہنا ہے کہ جب آپ یہ بٹن دبائیں کر سکتے ہیں، 940 00:50:39,000 --> 00:50:42,000 میں آپ کو اس نئے سکرین پر سلائڈ کرنا چاہتے ہیں. 941 00:50:42,000 --> 00:50:44,000 اس کا مطلب ہے کے درمیان تعلق کی اس طرح ہے 942 00:50:44,000 --> 00:50:46,000  پہلی سکرین اور دوسری سکرین. 943 00:50:46,000 --> 00:50:49,000 آپ بنیادی طور پر اس بٹن سے دوسری سکرین پر ایک تیر پڑے گا 944 00:50:49,000 --> 00:50:53,000 کہہ رہے ہیں کہ جب آپ کو یہ بٹن دبائیں کہ جہاں میں جانا چاہتا ہوں. 945 00:50:53,000 --> 00:50:57,000 جیسا کہ ہم نے کلک کیا ہے اور وہ ابلاغ کی وضاحت کرنے گھسیٹ کنٹرول 946 00:50:57,000 --> 00:51:01,000 ہم ان segues کی وضاحت کرنے کے لئے ایک ہی بات کرنے جا رہے ہیں. 947 00:51:01,000 --> 00:51:05,000 >> ہم نے اس کے لیے ایک مثال دیکھ اور اس سے پہلے کہ ہم واقعی منتقلی گے 948 00:51:05,000 --> 00:51:08,000 ایک اسکرین سے ایک اور iOS اس طریقہ کار کو فون کرنے کی کے لئے کافی اچھا ہے 949 00:51:08,000 --> 00:51:11,000 کہا جاتا prepareForSegue، اور یہ ہے تو ہم کہاں سے شروع کر سکتے ہیں 950 00:51:11,000 --> 00:51:14,000 ایک اپلی کیشن سے دوسرے میں ڈیٹا بھیجنے. 951 00:51:14,000 --> 00:51:17,000 مثال میں ہم ہیں اس کو دیکھنے کے لئے ہمیں بنیادی طور پر اجازت دے گا 952 00:51:17,000 --> 00:51:20,000 لیگ اور ڈویژنوں کی طرف سے بیس بال کی ٹیموں کو فلٹر. 953 00:51:20,000 --> 00:51:23,000 جب میں نے ایک لیگ کا انتخاب کرتے ہیں، مثال کے طور پر، میں منتقلی چاہتے ہیں 954 00:51:23,000 --> 00:51:25,000 میری اگلی سکرین جہاں میں ڈویژن کے تمام ظاہر کر سکتا ہے 955 00:51:25,000 --> 00:51:27,000 اس لیگ یا تمام مختلف ٹیموں میں. 956 00:51:27,000 --> 00:51:31,000 میں اس سکرین آپ کیا ٹیموں کو ظاہر کرنا چاہئے بھیجنے کی ضرورت ہے. 957 00:51:31,000 --> 00:51:35,000 کہ میں اس طریقے کا فائدہ اٹھا کر یہاں ہوں. 958 00:51:35,000 --> 00:51:39,000 >> آخر میں، iOS پر صرف ایک بے ترتیب نقطہ ہے. 959 00:51:39,000 --> 00:51:41,000 اگر آپ کے ڈیٹا کو محفوظ کرنا چاہتے ہیں اس ملاقات کی بنیادی ڈیٹا کی بات ہے، 960 00:51:41,000 --> 00:51:44,000 جو اصل میں کے ساتھ مل کر کام کرنے کے پیچیدہ قسم کا ہے. 961 00:51:44,000 --> 00:51:47,000 آپ SQL بھی ڈیٹا سٹور کرنے کے لئے استعمال کر سکتے ہیں، 962 00:51:47,000 --> 00:51:51,000 جس میں ایک بار پھر، زیادہ پیچیدہ طرف اچھا لیکن قسم کی ہے کے ساتھ مل کر کام کرنے کے، 963 00:51:51,000 --> 00:51:55,000 لیکن iOS بھی یہ واقعی ڈاؤن لوڈ، اتارنا کہا جاتا جائیداد کی فہرست کی حمایت کرتا ہے، 964 00:51:55,000 --> 00:52:00,000 اور جائیداد کی فہرست صرف ایک فائل ہے کہ کلیدی قدر جوڑوں کی نمائندگی کرتی ہے ہے. 965 00:52:00,000 --> 00:52:03,000 آپ چابیاں کی ایک فہرست کی وضاحت کرتے ہیں، اور آپ کا کہنا ہے کہ یہ چابی ایک صف پر جا رہا ہے. 966 00:52:03,000 --> 00:52:06,000 یہ چابی ایک تار ہو رہا ہے، ہے اور بنیادی طور پر کچھ آپ کر سکتے ہیں 967 00:52:06,000 --> 00:52:10,000 JSON میں آپ کی جائیداد کی فہرست کے اندر اندر کر سکتے ہیں، 968 00:52:10,000 --> 00:52:14,000 تو یہ واقعی اچھی طرح سے ہمیں کچھ اعداد و شمار کے ساتھ مل کر کام کرنے کی اجازت دیتا ہے. 969 00:52:14,000 --> 00:52:18,000 مثال کے طور پر، میں اس Teams.plist کہ میں پیدا کی ہے. 970 00:52:18,000 --> 00:52:22,000 میں ایک نیا plist فائل پیدا کی ہے، اور میں نیچے ڈرل کر سکتے ہیں. 971 00:52:22,000 --> 00:52:26,000 یہ ایک لغت ہے، ایک لغت ہے، ان ڈور ہیں، 972 00:52:26,000 --> 00:52:30,000 اور اسی طرح یہ JSON دستاویز کی ایک اچھا گرافیکل نمائندگی ہے 973 00:52:30,000 --> 00:52:33,000 یا صرف کلیدی قدر جوڑوں کی ایک سیٹ 974 00:52:33,000 --> 00:52:37,000 اور اسی طرح یہ اعداد و شمار سے یہ ہے کہ میں میرے اے پی پی کے اندر کے ساتھ مل کر کام کریں گے. 975 00:52:37,000 --> 00:52:40,000 >> چلو، سب سے پہلے یہاں آ. اب ہم بہت زیادہ فائلوں ہے. 976 00:52:40,000 --> 00:52:44,000 لیکن پہلے ختم اسٹوری بورڈ یہاں آئے. 977 00:52:44,000 --> 00:52:48,000 اسٹوری بورڈ یہاں اگر میں زوم کر سکتے ہیں 978 00:52:48,000 --> 00:52:51,000 اب ہم دیکھ سکتے ہیں کہ یہ میرے اے پی پی کے بہاؤ ہے. 979 00:52:51,000 --> 00:52:53,000 میں نے سب سے پہلے اس کی سکرین پر شروع کرنے جا رہا ہوں. 980 00:52:53,000 --> 00:52:55,000 میں اس کی سکرین پر نیچے ڈرل جا رہا ہوں، 981 00:52:55,000 --> 00:52:58,000 اور میں اس کی سکرین پر نیچے ڈرل جا رہا ہوں، اور ہم یہاں دیکھ سکتے ہیں کہ اگر میں قسم کی 982 00:52:58,000 --> 00:53:04,000 ان میں سے ایک کے ارد گرد ہم یہ تیر یہاں سے جا رہا ہے، منتقل، 983 00:53:04,000 --> 00:53:08,000 اور جس طرح میں نے اس تیر کو وضاحت تھا اگر میں تھوڑا سا میں زوم، 984 00:53:08,000 --> 00:53:12,000 اور اگر میں اس نقطہ نظر کے کنٹرولر کو آتے ہیں، 985 00:53:12,000 --> 00:53:16,000 اور یہاں ایک سیل ہے، اور میں یہ کہنا چاہتے ہیں جب تم نے ایک سیل نل 986 00:53:16,000 --> 00:53:18,000 میں آپ کو کسی اور کی سکرین پر سلائڈ کرنا چاہتے ہیں. 987 00:53:18,000 --> 00:53:21,000 میں نیچے آسانی سے کنٹرول کر سکتے ہیں، 988 00:53:21,000 --> 00:53:26,000 تھوڑا سا پر سکرال، نیچے کنٹرول رکو، یہ سیل ختم کھینچ کر لائیں اور ہم چلتے ہیں. 989 00:53:26,000 --> 00:53:30,000 >> اور ہم یہاں کا کہنا ہے کہ منتقلی ہے کہ آپ استعمال کرنا چاہتے کیا ہے؟ 990 00:53:30,000 --> 00:53:32,000 کیا آپ کہ سلائڈ کی بات یہ ہے کہ دھکا کہتے ہیں استعمال کرنے کے لئے کرنا چاہتے ہیں؟ 991 00:53:32,000 --> 00:53:34,000 کیا آپ کو نیچے سے سلائڈ کرنا چاہتے ہیں؟ 992 00:53:34,000 --> 00:53:36,000 وہ ماڈل کہا جاتا ہے. 993 00:53:36,000 --> 00:53:40,000 اور ایک بار میں ان میں سے ایک پر کلک کریں، یہ میرے لئے اس تیر کے نشان پر اپنی طرف متوجہ ہو رہا ہے، 994 00:53:40,000 --> 00:53:44,000 اور اس کا مطلب یہ ہے کہ میں واقعی میں سنبھالا ہے کیا ہوتا ہے جب میں اس بٹن کو گراف پریس ہے. 995 00:53:44,000 --> 00:53:48,000 میں کوئی واقعی میں ایک اسکرین سے اگلے ایک سلائڈ کوڈ نہیں لکھا. 996 00:53:48,000 --> 00:53:51,000 میں اس انٹرفیس بلڈر کے ضعف کے اندر وضاحت کی ہے. 997 00:53:51,000 --> 00:53:55,000 اگر میں اس تیر کے نشان پر کلک کریں، ہم دیکھتے ہیں، کہ میں اس بات کو ایک نام دیا جا سکتا ہے. 998 00:53:55,000 --> 00:53:59,000 میں اسے showDivisions کہا جاتا ہے، اور اس میں تاکہ معلوم کر سکتے ہیں 999 00:53:59,000 --> 00:54:03,000 کیا منتقلی ہونے کے بارے میں ہے، اور ہم دیکھتے ہیں کیوں صرف ایک سیکنڈ میں کریں گے. 1000 00:54:03,000 --> 00:54:06,000 اس طرح میں نے وائرڈ میری اپلی کیشن میں مختلف سکرین ہے. 1001 00:54:06,000 --> 00:54:09,000 اگر یہ ایک بٹن ہے، مثال کے طور پر، کی بجائے ایک ٹیبل نقطہ نظر تھے، 1002 00:54:09,000 --> 00:54:11,000 میں بٹن پر کلک کریں کو کنٹرول کر سکتے ہیں، اگلے سکرین پر کھینچ کر لائیں، 1003 00:54:11,000 --> 00:54:16,000 اور یہ کہ میں جائیں ثانوی نیویگیشن طریقہ ہے کہ کس طرح کر سکتے ہیں. 1004 00:54:16,000 --> 00:54:19,000 >> واقعی فوری طور پر، اگر ہم MasterViewController میں آتے ہیں، 1005 00:54:19,000 --> 00:54:22,000 پھر، ہم صرف چیزوں کی فہرست کی وضاحت کرنے جا رہے ہیں 1006 00:54:22,000 --> 00:54:26,000 جو میز کے خیال میں دکھایا جائے گا. 1007 00:54:26,000 --> 00:54:29,000 یہاں میں یہ کہہ رہا ہوں میں تم سے اس plist فائل کرنا چاہتے ہیں کر رہا ہوں، 1008 00:54:29,000 --> 00:54:32,000 اور میں تم سے یہ لغت میں اپ لوڈ کرنا چاہتے ہیں، 1009 00:54:32,000 --> 00:54:35,000 اور ایک بار آپ اس ڈکشنری ہے، میں پھر ان ہی سوال کا جواب جا رہا ہوں. 1010 00:54:35,000 --> 00:54:37,000 حصوں کی تعداد ہے. 1011 00:54:37,000 --> 00:54:41,000 ایک، ہر لیگ کے لئے ایک، قطار، اور ہر سیل کا متن ہے 1012 00:54:41,000 --> 00:54:46,000 یا تو سب سے پہلے، پہلی لیگ، دوسری لیگ اور اس میں ہونا چاہئے. 1013 00:54:46,000 --> 00:54:51,000 آخر میں، میں یہ طریقہ استعمال کرنے کے لئے ہے کہ ہم صرف prepareForSegue کہا جاتا دیکھا جا رہا ہوں، 1014 00:54:51,000 --> 00:54:54,000 اور یہ طریقہ نکال دیا جائے گا جب میں کلک کریں ہے 1015 00:54:54,000 --> 00:54:57,000 ان قطاروں کی ایک اور اسی وجہ سے اس منتقلی کو چالو کرنے کے 1016 00:54:57,000 --> 00:54:59,000 کہ میں تیر کے ساتھ قائم ہے. 1017 00:54:59,000 --> 00:55:02,000 یہ کہہ رہا ہے کہ میں ایک سے زیادہ کر سکتے ہیں ہے 1018 00:55:02,000 --> 00:55:05,000 ایک اسکرین سے ایک اور تعلقات. 1019 00:55:05,000 --> 00:55:08,000 اگر میں 2 بٹن ہے اور ہر بٹن آپ کو ایک مختلف سکرین پر لے جاتا ہے 1020 00:55:08,000 --> 00:55:10,000 میں ہر ایک کے بٹن کے لئے 2 segues، 1 جا رہا ہوں. 1021 00:55:10,000 --> 00:55:14,000 لیکن اس prepareForSegue ہے، پھر سے، reused کیا جا رہا 1022 00:55:14,000 --> 00:55:17,000 مختلف تعلقات میں سے ہر ایک کے لئے، تو اس کا مطلب ہے کہ میں نے ایک طرح سے کی ضرورت ہے 1023 00:55:17,000 --> 00:55:21,000 اگر آپ پہلی بار بٹن دبائیں یا آپ کو دوسرا بٹن دبائیں شناخت کی. 1024 00:55:21,000 --> 00:55:25,000 >> جب میں اس segue ایک نام، اس showDivisions دی یاد رکھیں، 1025 00:55:25,000 --> 00:55:29,000 ہے کہ اب میں کس طرح جانتے ہیں کہ اس segue ہے جو چالو کیا گیا ہے. 1026 00:55:29,000 --> 00:55:32,000 میں کرنا چاہتا ہوں ہے میں کہنا چاہتا ہوں 1027 00:55:32,000 --> 00:55:35,000 مجھے معلوم کرنا ہے جو میں نے ابھی مارا چاہتے ہیں، 1028 00:55:35,000 --> 00:55:38,000 اور تاکہ حاصل کرنے کے لئے میں کہتا ہوں، میں منتخب صف کے لئے indexPath چاہتا ہوں کر سکتے ہیں، 1029 00:55:38,000 --> 00:55:42,000 indexPath یاد کا کہنا ہے کہ جہاں میں صرف کلک کیا ہے، 1030 00:55:42,000 --> 00:55:47,000 اور پھر میں کہتا ہوں کہ مجھے معلوم کرنا ہے جہاں میں جا رہا ہوں چاہتے ہیں کرنا چاہتے ہیں. 1031 00:55:47,000 --> 00:55:50,000 اس destinationViewController، کہ segue کی ایک خاصیت ہے. 1032 00:55:50,000 --> 00:55:53,000 یہ سکرین میں جا رہا ہوں، 1033 00:55:53,000 --> 00:55:56,000 تو میں جانتا ہوں کہ سکرین میں جا رہا ہوں DivisionsViewController کہا جاتا ہے 1034 00:55:56,000 --> 00:55:59,000 کیونکہ میں اس کلاس پیدا، 1035 00:55:59,000 --> 00:56:02,000 تو اب اگر میں d.divisions کا کہنا ہے کہ 1036 00:56:02,000 --> 00:56:06,000 میں اب میں پر جانے کے لئے کے بارے میں نقطہ نظر کنٹرولر کی ایک خاصیت قائم کر رہا ہوں. 1037 00:56:06,000 --> 00:56:10,000 اس کا یہ ہے کہ میں کس طرح ایک اسکرین سے ڈیٹا کسی اور کی سکرین پر بھیج رہا ہوں. 1038 00:56:10,000 --> 00:56:13,000 >> اس DivisionsViewController دیکھ 1039 00:56:13,000 --> 00:56:16,000 آپ یہاں دیکھ سکتے ہیں کہ H فائل میں 1040 00:56:16,000 --> 00:56:20,000 کہ جائیداد تقسیم ہے، اور یہ کہ ہے کہ میں بنیادی طور پر populating رہا ہوں، 1041 00:56:20,000 --> 00:56:25,000 تاکہ مجھے کس طرح پتہ ہے کہ میں اسی تقسیم کی نمائش کر رہا ہوں 1042 00:56:25,000 --> 00:56:28,000 لیگ کہ میں کلک کیا ہے، بار، 1043 00:56:28,000 --> 00:56:31,000 اصل میز کا منظر بہت ہی لگتا ہے، صرف ان کا جواب دے 1044 00:56:31,000 --> 00:56:34,000 3 آسان سوال کے طور پر ساتھ ساتھ کی شناخت 1045 00:56:34,000 --> 00:56:37,000 جب آپ اگلے سکرین پر منتقل کیا ہوتا ہے. 1046 00:56:37,000 --> 00:56:40,000 دیگر چیزوں کے ایک جوڑے کی ہے. 1047 00:56:40,000 --> 00:56:43,000 آپ کو سب سے اوپر یہاں دیکھیں گے کہ بجائے کہا کہ # شامل 1048 00:56:43,000 --> 00:56:45,000 اب میں کہہ رہا ہے # درآمد کر رہا ہوں. 1049 00:56:45,000 --> 00:56:47,000 یہ صرف ایک مقصد C بات ہے. 1050 00:56:47,000 --> 00:56:52,000 بنیادی طور پر درآمد شامل اچھا ورژن ہے، 1051 00:56:52,000 --> 00:56:57,000 اور مثال کے طور پر، ہمیں یہ معلوم ہے کہ اس قسم کیا ہے کی ضرورت ہے، 1052 00:56:57,000 --> 00:57:00,000 تو میں صرف DivisionsViewController نہیں کہہ سکتے ہیں. 1053 00:57:00,000 --> 00:57:05,000 اگر ہم ہمارے سی فائل کے standardio.c اندر hashtag نہیں کیا 1054 00:57:05,000 --> 00:57:07,000 سنکلک کوئی خیال نہیں کیا printf تھا تھا. 1055 00:57:07,000 --> 00:57:12,000 اسی طرح اگر میں DivisionsViewController درآمد نہیں 1056 00:57:12,000 --> 00:57:16,000 سنکلک کا واقعی کوئی خیال نہیں کیا ایک DivisionsViewController ہے ہے. 1057 00:57:16,000 --> 00:57:19,000 بس اس بات کا یقین کر لیں کہ اپنا مختلف میٹر فائلوں کے اندر آپ کو درآمد کرنے کے لئے اس بات کا یقین کر 1058 00:57:19,000 --> 00:57:25,000 اسی H فائلوں تاکہ سنکلک جانتا ہے کہ کیا ہو رہا ہے. 1059 00:57:25,000 --> 00:57:31,000 >> آخر میں، کیا ایپل بالآخر ہے کچھ ایک ویب کے نقطہ نظر کا استعمال کرتے ہوئے ڈیٹا ظاہر، 1060 00:57:31,000 --> 00:57:35,000 اور اسی طرح کی ایک ویب کے نقطہ نظر میں کسی چیز ہے جس میں آپ سرایت کر سکتے ہیں ہے 1061 00:57:35,000 --> 00:57:37,000 آپ کے اپلی کیشن کے اندر اندر ایک چھوٹا سا ویب براؤزر. 1062 00:57:37,000 --> 00:57:40,000 آپ کیا کرنے کی ضرورت ہے آپ کے ویب براؤزر میں ایک یو آر ایل فراہم کیا جاتا ہے، 1063 00:57:40,000 --> 00:57:43,000 تو میں mlb.mlb.com پر جانا چاہتے ہیں، 1064 00:57:43,000 --> 00:57:46,000 اور اس طرح سے میں ہر ٹیم کے لئے ہوم پیج تک رسائی حاصل کر سکتے ہیں، 1065 00:57:46,000 --> 00:57:49,000 اور اس URL میں گزرنے والے کی طرف سے 1066 00:57:49,000 --> 00:57:52,000 ویب قول میرے لئے یہ ظاہر ہے، اور میں کے ارد گرد براؤز کر سکتے ہیں کر سکتے ہیں، 1067 00:57:52,000 --> 00:58:01,000 اور سمیلیٹر ایک اس سے استعمال میں ہے. 1068 00:58:01,000 --> 00:58:03,000 اب یہ میری plist سے آیا ہے. 1069 00:58:03,000 --> 00:58:07,000 اگر میں اس پر کلک کریں یہ بھی میری plist سے آیا، اور اس سلائیڈنگ کو سنبھالا گیا 1070 00:58:07,000 --> 00:58:09,000 ان segues وضاحت کی طرف سے. 1071 00:58:09,000 --> 00:58:12,000 میں اس پر کلک کریں اور ایک 1072 00:58:12,000 --> 00:58:15,000 اور اب یہاں میری UIWebView تو بس ایسے ہی ہے، 1073 00:58:15,000 --> 00:58:19,000 یہاں URL کے لئے ویب سائٹ ہے کہ میں صرف سرایت ہے، 1074 00:58:19,000 --> 00:58:21,000 اور میں پاگل کچھ کو ہینڈل کرنے کی ضرورت نہیں تھی. 1075 00:58:21,000 --> 00:58:24,000 اس کا یہ ہے کہ کس طرح ایک ویب صفحہ میں ظاہر کرنے کے لئے. 1076 00:58:24,000 --> 00:58:27,000 یہ یہاں واپس بٹن کی طرح باتیں بھی مجھ سے دی جاتی ہے 1077 00:58:27,000 --> 00:58:33,000 مکمل طور پر مفت کے لئے کیونکہ میں ان segues کا استعمال کرتے ہوئے تعلقات کو بیان کیا ہے. 1078 00:58:33,000 --> 00:58:37,000 >> کوئی سوال؟ جی ہاں. 1079 00:58:37,000 --> 00:58:40,000 [Student کی] تو جب آپ alloc کا استعمال کرتے ہیں، تو آپ مفت میں کچھ کبھی نہیں ہے؟ 1080 00:58:40,000 --> 00:58:43,000 بالکل، جب آپ alloc اور init کہتے ہیں تو آپ یہ مفت نہیں ہے. 1081 00:58:43,000 --> 00:58:46,000 IOS آپ کے لئے یہ سب سنبھال جا رہا ہے. 1082 00:58:46,000 --> 00:58:51,000 یہ حیرت انگیز ہے، اور آپ کو کسی بھی قوانین توڑ نہیں کر رہے ہیں. جی ہاں. 1083 00:58:51,000 --> 00:58:54,000 [Student کی] اگر آپ کو مزید ٹیموں کی سکرین پر فٹ کر سکتے ہیں شامل کرنے کے لئے تھے، 1084 00:58:54,000 --> 00:58:58,000 خود کار طریقے سے یہ ایک کتاب اختیار ہے، یا یہ ہے کہ کچھ آپ کو شامل کرنے کی ضرورت ہے؟ 1085 00:58:58,000 --> 00:59:01,000 بالکل، مثال کے طور پر اگر میں مزید ٹیمیں، یہ خود کار طریقے سے سے نمٹنے کے گے 1086 00:59:01,000 --> 00:59:04,000 ، طومار کر رہا ہے، اور میرے لئے تمام کارکردگی تشویش 1087 00:59:04,000 --> 00:59:08,000 بڑی میز کے ساتھ بھی میرے لئے مکمل طور پر کر رہے ہیں سنبھالا. 1088 00:59:08,000 --> 00:59:11,000 >> دیگر سوال؟ 1089 00:59:11,000 --> 00:59:13,000 اس کوڈ کو سب کے بارے میں کیا جا رہا ہے. 1090 00:59:13,000 --> 00:59:16,000 ہم اس قسم کی معمولی تفصیلات تھوڑا سا پر glossed، 1091 00:59:16,000 --> 00:59:19,000 لیکن ایسی باتیں ویب قول کی کچھ خصوصیات کی ترتیب 1092 00:59:19,000 --> 00:59:22,000 صرف چیزیں ہیں جو آپ کو ایپل دستاویزات پر موجود کی طرف سے حاصل کر سکتے ہیں ہیں، 1093 00:59:22,000 --> 00:59:24,000 جو واقعی ہے، سچ میں اچھی طرح سے رکھی. 1094 00:59:24,000 --> 00:59:27,000 انہوں نے نمونے کے اطلاقات کی ایک بہت ہے اور مثال کے طور پر usages ہے 1095 00:59:27,000 --> 00:59:34,000 مختلف APIs کا، تو یقینی طور پر آپ کر سکتے ہیں اگر ان کو peruse. 1096 00:59:34,000 --> 00:59:36,000 بس کچھ مفید لنکس آپ پر ایک نظر ڈالیں کرنا چاہتے ہیں کر سکتے ہیں. 1097 00:59:36,000 --> 00:59:38,000 یہ کچھ ہاتھ دستاویزات ہدایت ہیں. 1098 00:59:38,000 --> 00:59:41,000 یو آر ایل میں بڑے پیمانے پر ہیں، تو وہ قصر رہے ہیں. 1099 00:59:41,000 --> 00:59:44,000 یہ پہلا دستاویزات کی پوری لائبریری ہے. 1100 00:59:44,000 --> 00:59:46,000 اس میں کوئی تلاش کے سلاخوں ہے، اگر ایسا ہے تو آپ کو ٹائپنگ کے بٹن شروع 1101 00:59:46,000 --> 00:59:50,000 یہ آپ کو ہر چیز آپ کو ایک بٹن کے ساتھ کیا کر سکتے ہیں کے بارے میں تمام معلومات فراہم کرنا شروع کر دیں گے. 1102 00:59:50,000 --> 00:59:53,000 میں نے جدول کوائف نامہ پروگرامنگ کی گائیڈ بھی شامل ہے. 1103 00:59:53,000 --> 00:59:56,000 یہ بہت زیادہ تفصیل میں میز کے خیالات سنبالتی ہے، 1104 00:59:56,000 --> 01:00:00,000 کس طرح چیزوں کی طرح کو متحرک طور پر خلیات یا ترمیم خلیات کا اضافہ کریں یا ان کو ختم کرنے کی. 1105 01:00:00,000 --> 01:00:02,000 >> نمونہ اطلاقات ایپل سے بہت ہے کہ تمہیں دکھاتا ہوں کہ کس طرح ایسا کرنے کے لئے ہے، 1106 01:00:02,000 --> 01:00:05,000 اور آخر میں، یہ گزشتہ ایک انسانی انٹرفیس ہدایات ہے، 1107 01:00:05,000 --> 01:00:09,000 اور یہ بنیادی طور پر UI اجزاء میں سے کچھ بحث ہے، 1108 01:00:09,000 --> 01:00:12,000 طرح ایک بٹن ہے جو 4 پکسلز کی طرف سے 4 پکسلز ہے نہیں ہے. 1109 01:00:12,000 --> 01:00:15,000 یہ ایک برا خیال ہے، اور دوسری چیزوں کے کہ ایپل آپ چاہتے ہیں 1110 01:00:15,000 --> 01:00:18,000 اچھا ڈیزائن کی حوصلہ افزائی کرنے کے لئے. 1111 01:00:18,000 --> 01:00:23,000 >> اس سے پہلے کہ ہم ختم کے لئے کوئی آخری سوال؟ 1112 01:00:23,000 --> 01:00:27,000 ٹھیک ہے، یقینی طور پر بحث پر خصوصی لیبلز we're بلا جھجھک. 1113 01:00:27,000 --> 01:00:30,000 ہم ایک ایک iOS پڑے گا، تو یقینی طور پر ہے کہ استعمال کرنے کے لئے آزاد محسوس کرتے ہیں. 1114 01:00:30,000 --> 01:00:34,000 اگر آپ اپنے ہم جماعتوں کے ساتھ منصوبوں پر کام کرنا چاہتے ہیں 1115 01:00:34,000 --> 01:00:37,000 مدد یا کچھ بے ترتیب iOS چیزیں سمجھ 1116 01:00:37,000 --> 01:00:40,000 مجھے ای میل کرنے کے لئے آزاد محسوس کرتے ہیں، اور یقینی طور پر تمام کوڈ کو آن لائن کی وجہ peruse 1117 01:00:40,000 --> 01:00:43,000 ہم وقت کے مفاد میں اس قسم کی زیادہ سے زیادہ glossed 1118 01:00:43,000 --> 01:00:45,000 چیزوں کی finer grained تفصیلات. 1119 01:00:45,000 --> 01:00:47,000 لیکن اگر نہیں، تو پھر اپنے iOS منصوبوں پر اچھی قسمت، اور مجھے امید ہے کہ ہم نے 1120 01:00:47,000 --> 01:00:53,000 اطلاقات کے اپلی کیشن سٹور میں ایک بڑی آمد. 1121 01:00:53,000 --> 01:00:56,000 [CS50.TV]