DANIEL ARMENDARIZ: ہیلو، سب، iOS اپلی کیشن ترقی کرنے کا خیر مقدم سوئفٹ کے ساتھ. میں ڈین Armendariz ہوں. میں نے کمپیوٹر کی precepter ہوں سکول میں یہاں سائنس انجینئرنگ اینڈ اپلائیڈ سائنسز کے. اور تیز قسم کی اصل ہے واقعی ایک صاف زبان کا. اور میں آج کے لئے کچھ منصوبے ہیں. اگلے گھنٹے سے زیادہ یا تو ہم جا رہے ہیں تاکہ iOS اپلی کیشن ترقی خود کو دیکھنے کے لئے Xcode کے استعمال اور اصل میں کچھ پیدا بہت بنیادی، بہت آسان ایپلی کیشنز. اور جس طرح سے کی طرف دیکھ کہ اگر آپ اصل میں ان ایپلی کیشنز کے لے، اور اصل میں ان کی تعمیر، اور ایک iOS آلہ پر ڈال. چیزوں میں سے کچھ ہے کہ ہم کو دیکھنے کے لئے نہیں کر رہے کی طرح باتیں شامل ہوں گے اصل میں ایک درخواست لے رہا اور اپلی کیشن سٹور پر ڈال. سبق کی ایک بہت کچھ آن لائن ہے کہ وہاں ہے اس کے اس پہلو کے ساتھ آپ کو مدد ملے گی. لیکن یہ بھی کے طور پر کی وجہ سے CS50 کا حصہ، آپ کو ملتا ہے ایپل ترقی میں شامل ہونے کا ٹیم، CS50 کی اے پی پی کی ترقی کی ٹیم. اگر آپ نے ابھی تک کہ نہیں کیا ہے تو اور آپ CS50 کے ساتھ وابستہ ہیں، میں آپ کو اس کی سفارش کرتے ہیں اس کی وجہ یہ کر آپ کو بنانے کے لئے کے قابل ہو کس طرح ہے Xcode میں کچھ پروگرام، ان کی تعمیر، اور اصل میں ڈال دیا آپ iOS آلات میں سے کچھ پر انہیں آپ اصل میں ہے تو ایک جسمانی iOS آلہ. آپ کو جسمانی iOS کے نہیں ہے تو ٹھیک سے زیادہ ہے کہ آلہ. آپ اصل iOS کے لئے تیار کر سکتے ہیں. اور Xcode ایک آپ کی اجازت دیتا ہے کہ سمیلیٹر میں آپ کی درخواست کو دیکھنے کے لئے آپ کے کمپیوٹر پر کارروائی. لیکن اس طرح کی ایک صاف بات ہے اصل میں ادا کرتے ہیں اور بات چیت کرنے کے اپنی درخواست کے ساتھ ایک حقیقی آلہ پر. تاکہ ضروریات میں سے ایک جوڑے کی کیا بات ہے اصل میں اس کی ترویج کا سب کرتے ہیں. ان میں سے ایک یہ ہے کہ اگر آپ ایک میک ہے کی ضرورت. یہ بعد میں 10.9.4 یا چلانے جائے ہے سوئفٹ کے ساتھ ترقی ایسا کرنے کے لئے. اگر آپ ایک پہلے استعمال کر سکتے ہیں ورژن تیار کرنے کے لئے iOS اور میک کے لئے مقصد سی کے ساتھ. لیکن میں مشورہ دیتے ہیں، اور کی ایک بہت کچھ ہم آج دیکھ لیں گے کہ مثال کے طور، 10.10 پر Yosemite کا استعمال. اگر آپ نے ابھی تک اپ گریڈ نہیں کیا ہے، اگر ایسا ہے تو، ایسا کرنا ایک اچھا بہانا ہے. اب Xcode کے 6.1 کے تازہ ترین ورژن ہے مربوط ترقی کا ماحول ایپل کہ مفت کے لئے فراہم کرتا ہے آپ اپلی کیشن سٹور سے دور لوڈ کرسکتے ہیں. اور میں آپ کو مشورہ ہے کہ بھی تازہ ترین ورژن چلائیں. اگر آپ ایک پہلے سے چل رہا ہونا ہو تو ورژن، Xcode کے 5 اور صرف مندرجہ ذیل محض جو کچھ سوئفٹ کی حمایت نہیں کرتے. چھ میں سے اور بیٹا ورژن، جس میں موسم گرما کے دوران جاری کئے گئے، سوئفٹ کی حمایت کرتے ہیں، لیکن وہاں ہے ایک بہت بڑی تعداد رہا زبان میں تبدیلیوں کا، کافی تاکہ آپ کو ہو کہ کوڈ میں اور آپ اس نظر آتے جا انٹرنیٹ پر تلاش کر سکتے ہیں اصل میں مناسب طریقے سے مرتب نہیں ہوں گے XCode کا ان سے پہلے ورژن میں. تو ایک بار پھر، اگر آپ ایسا کرتے نہیں ابھی تک ایک ڈویلپر اکاؤنٹ ہے، میں نے آپ کے پاس جانے کی سفارش کرتے ہیں developer.apple.com. ، سائن اپ ایک ڈویلپر اکاؤنٹ بنانے، اور CS50 اے پی پی کی ترقی کی ٹیم میں شامل ہونے کے. ایک موقع ہے کہ آپ کے لئے فراہم کرے گا آپ کی ایپلی کیشنز مرتب کرنے کے لئے اور آپ کے آلے پر ڈال. ٹھیک ہے، تو چلو شروع کرتے ہیں. سب سے پہلی بات ہم کیا کرنے جا رہے ہیں اصل میں ایک بہت پیدا کرنے کے لئے Xcode میں سادہ منصوبے کہ آپ کے لئے اجازت دے گا ایک درخواست بنانے. اگر آپ نے ابھی تک Xcode کے پاس نہیں ہے اگر ایسا ہے تو کھلی، آگے بڑھو اور اس کو کھولنے اور ایک نئے منصوبے بنانے کے. ایک خصوصی سپلیش سکرین کھل جائے گا اور آپ کو دے گا اس کے بارے میں کچھ اختیارات یہ آپ کیا کرنا چاہتے ہیں ہے. بس آپ کو بنانے کے لئے چاہتے کہ کہیں ایک نئے منصوبے، ایک نئی درخواست. اس ونڈو، اپ پاپ گا آپ Xcode 6.1 استعمال کر رہے ہیں سنبھالنے کے. ابھی، اور کے لئے اس سیمینار کی مدت، ہم استعمال کر جا رہے ہیں ایک نقطہ نظر کی ایپلی کیشنز، صرف ایک بنیادی درخواست کی طرح اپنے پاؤں گیلے حاصل کرنے کے. اور آپ کو باہر شاخ سکتے ہیں وہاں سے اپنے اپنے طور پر. اس نقطہ پر کلک کریں اگلا. اب یہاں چیزوں کی ایک جوڑے کی ہے آپ داخل کرنا چاہتے ہو سکتا ہے کہ. پروڈکٹ کا نام ہے آپ کے منصوبے کے نام پر. اس صورت میں، میں نے صرف ہوں کو فون کرنے جا Seminar1 یہ ہماری پہلی مثال ہے کیونکہ. تنظیم کا نام، میں اس معاملے پر صرف میرا نام ہے. تم یقینا یہ تبدیل کر سکتے ہیں آپ کے اپنے نام کے لئے، یا CS50 کرنے. تنظیم کا شناخت، اگر آپ صرف کے لے ایک ویب سائٹ ہے ہو ڈومین نام میں ، com.yourname ریورس. مصنوعات کی اور پھر نام خود بخود ظاہر ہو جانی چاہئے بنڈل شناخت کے طور پر اس کے بعد. ہم ہیں کہ ظاہر ہے زبان آج کے لئے استعمال کرتے ہوئے جا دیر نہیں لگتی. آپ کورس کے، مقصد سی استعمال کر سکتے ہیں اس کے لئے، لیکن آج تیز رو ہو جائے گا. اور ہم اب کے لئے کہیں گے عالمگیر آلات، تاکہ کہ اس کے رکن اور فون دونوں پر کام کرتا ہے. اور ہم نے بنیادی چھوڑ دیں گے رکھنے کے لئے بلا روک ٹوک کے اعداد و شمار منصوبے کے نسبتا کچھ وقت کے لئے سادہ. تو آگے بڑھیں اور اگلا پر کلک کریں. اور اس سے مجھے پوچھنا جا رہا ہے جہاں میں اس کو بچانے کے لئے کرنا چاہتے ہیں. میں نے ابھی ابھی لئے میرے ڈیسک ٹاپ پر اس کو بچانے گے. ٹھیک ہے، تو اب اس کا کیا ہوگا جب آپ اصل میں کھلی Xcode کے ہو. اور کہ متعلقہ آپ کو دیکھ کر سب سے پہلی بات اس فجائیہ نقطہ یہ ہے کہ ابھی تک کوئی دستخط کے تشخص کو کہتے ہیں. میں نے جان بوجھ نے یہ کیا میں ہوں اور میرے کمپیوٹر پر میں جا رہا ہوں امید ہے کہ ، اصل میں یہ طے کرنے کے قابل ہو جائے میں چاہتا ہوں کیونکہ آپ کو کس طرح اس کو دیکھنے کے لئے اصل میں آپ کی اپنی مشین پر کام کریں گے. آگے بڑھو اور طے کر معاملے پر کلک کریں. اگر آپ کو ایک ہے تو یہ آپ کو پوچھیں گے سیب کے ڈیولپر اکاؤنٹ موجودہ. شامل ہونے سے اس کا ہے جہاں CS50 اے پی پی کی ترقی کی ٹیم اہم ہے تاکہ تم نہیں صرف ایک اپلی کیشن اکاؤنٹ ہے، لیکن آپ کو بھی حاصل ہے صلاحیت اطلاقات دستخط کرنے کے لئے اور آپ iOS آلہ پر ڈال. یہ not-- پر کلک کر ہے طے کر مسئلے ضروری نہیں ہے آپ کو صرف کرنے جا رہے ہیں کی تعمیر اور مقامی طور پر ترقی دینے، مکمل طور پر iOS کے سمیلیٹر کے اندر اندر. لیکن اب میں جا رہا ہوں ترقی اور ڈال کرنے کے لئے میرے رکن پر، ہو جائے گا جس اس کے ساتھ ساتھ نشر کرنے کے قابل. لہذا میں نے یہ شامل کرنا چاہتے ہیں. اور یہ پوچھنا جا رہا ہے میرے ایپل ID کے لئے مجھ سے. تو یہ اس پر جا رہا ہے. اور میں اپنے بازیافت کرنے کے لئے ہے یہاں پر ہے جو پاس ورڈ،. تو ہے کہ تلاش کرنے کے لئے مجھے صرف ایک دوسرے کو دیتے ہیں، اور اس کو کاپی، اور اسے یہاں چسپاں کر دیں. شامل کلک کریں. اس نے مجھ سے پوچھا جا رہا ہے جس کی ٹیم میں شامل ہونا چاہتے ہیں. میں انجینئرنگ کے سکول میں کیا کرنے جا رہا ہوں. شمولیت کلک کریں. افوہ، جو کہ غلط ایک ہے. کی اس سے کر. امید ہے کہ کسی ایک کام کریں گے. کہ ایک اب بھی کام نہیں کرتا. ہم یہاں اچھے لوگوں سے باہر چلا رہے ہیں. ٹھیک ہے، اس میں سے ایک کام کرنا چاہئے. اب اس کو بند. اب ہم کے اسکول کرتے ہیں انجینئرنگ، کا انتخاب کریں پر کلک کریں. اور اب امید ہے کہ بعد ایک تم ٹھیک can-- سیکنڈ کے جوڑے، میں نے کالعدم قرار دے اور درخواست کروں گا. آدمی اوہ، یہ کام نہیں کرنے جا رہا ہے. ٹھیک ہے، میں ایک مختلف ایک کی کوشش کریں گے. چلو یہاں اس سے کر. لائیو ڈیمو مجھے ناکام ہو رہے ہو. ہم صرف آپ کو واپس کرنا پڑ سکتا ہے مقامی طور پر مکمل طور پر تعمیر، لیکن ہے کہ اس معاملے میں ٹھیک ہو جائے گا. تو یہاں، یہ اصل میں ہے جبکہ کام کر رہے ہیں، کیا ہم کیا کرنے جا رہے ہیں صرف کیا ہے ایک بہت سادہ تخلیق ہیلو ورلڈ کی درخواست. تاکہ اس XCode ہے. اور تم، ابھی تک یہ نہیں دیکھا ہے تو پہلے دھمکی ایک چھوٹا سا ہو سکتا ہے. شیشے کی ایک بہت ہے، ایک نہیں ہے مختلف علاقوں میں doodads میں سے بہت. لیکن صرف احساس ہے کہ سچ میں کئی اہم اجزاء اس کی ترقی کے ماحول کے لئے. انتہائی بائیں پر فائلوں کی تمام ہیں آپ کے پروگرام پر لاگو ہو یا آپ خاص منصوبے کو. ہم کے ارد گرد کلک کرنے ہوں گے ان میں سے کچھ پر اور ہم کریں گے سب سے زیادہ باہر کی طرف اشارہ وقت کے ساتھ ساتھ اہم ہیں. جہاں تک حق پر، ہم صفات کی ایک سیٹ ہے. اور ان کی خصوصیات کی تمام، وہاں صفات کے لئے مختلف شیشے ہیں. شیشے کے لحاظ سے تبدیل کریں گے مرکزی مواد کے تناظر، جس میں وسط میں ہونا ہوتا ہے. اب مڈل اصل میں دکھا سکتے ہیں مثال کے طور پر چیزوں کی آپ کو ایک مختلف قسم کے، آپ کے کوڈ کو خود. یا آپ کو اصل میں جب have-- سکتا ہے آپ اسٹوری بورڈ پر کلک کریں جس میں ، راہ کی طرف سے، صرف ایک گرافیکل ہے اپنا صارف کی نمائندگی آپ application-- لئے انٹرفیس پھر صفات کے پین بہت دور دائیں پر اصل میں بدل جائے گی. اب دوسرے وہاں کے ایک جوڑے کی ہے میں نے اشارہ کرنا چاہتے ہیں کہ چیزیں. آپ کی طرح کے ارد گرد کی کر سکتے ہیں اپنے اپنے طور پر ماحول میں. لیکن چیزوں میں سے ایک جو کہ بہت مفید رہا ہے اس بٹن کو، یہاں ہے ونڈو کے سب سے اوپر دائیں. اس بٹن ہے کہ وہاں جہاں تک پر کی طرح لگتا ہے بائیں سے یہ ایک پیراگراف ہے دو حلقوں پر اور طرح کی طرف سے عمل دو تیر کی طرف اشارہ کرتے ہوئے ایک دوسرے سے دور. آپ کے درمیان سوئچ سٹینڈرڈ ایڈیٹر، جس میں دور بائیں سے ایک، ایک ہے کہ، فطری طور پر منتخب ہے اور دو حلقوں اتیویاپی آپ اصل میں حاصل کیا، ایک دوسرے ایک ڈبل پین قول ہیں. اور یہ اصل میں ہے ہمارے لئے مفید ہونے جا رہا ہم اشیاء کو منسلک کرنے کے لئے کی ضرورت ہے جب کوڈ کے UI میں. اور ہم نے اس بارے میں مزید بات کریں گے صرف ایک لمحے میں اس کے. لیکن آپ کو مل جائے تو احساس ہوتا ہے کہ اس طرح بھی زیادہ شیشے، آپ کو صرف اپنے نقطہ نظر کو آسان بنانے کے کر سکتے ہیں واپس کلک کر کے ایک تھوڑا سا آپ کے ایک ایڈیٹر پر. ابھی تک اتنا اچھا. تو بنیادی طور پر ہم کوڈ پر ہے بائیں، دائیں اوصاف اور یہ کہ ہم کام کر رہے ہیں جو کچھ بھی ہے یہاں بہت مرکز میں پر. تو یہاں میں کلک کیا ہے مرکزی اسٹوری بورڈ پر. اور اسٹوری بورڈ، ایک بار پھر، Xcode میں ایک طریقہ ہے آپ اصل میں آپ کے صارف تشکیل دے سکتے ہیں صرف ھیںچیں اور ڈراپ کا استعمال کرتے ہوئے انٹرفیس کی تکنیک. اور اس طرح ہمارے بہت کے لئے پہلی درخواست اس ہم کیا کرنے جا رہے ہیں کیا واضح طور پر ہے. جو ہم سے نیچے جانے کے لئے جا رہے ہیں بہت دور نچلے دائیں حصے پر مشتمل ہے جس کی سکرین، کی صارف عناصر کی ایک قسم آپ کو تو کلک کریں اور ھیںچیں کر سکتے ہیں کہ آپ کے یوزر انٹرفیس تخلیق کرنے کے لئے. اب ان میں سے سب عناصر کی آراء کو کہا جاتا ہے وہ قول کی کسی قسم کی فراہمی کی وجہ سے. ایک تصویر کو دیکھنے کے لئے، وہاں ہے مثال، اصل میں ظاہر کرنے کے لئے یوزر انٹرفیس پر ایک تصویر. ایک میز قول پر وہاں ہے اصل میں ایک ٹیبل. تو اور تو آگے. کی وسیع اقسام کی ہے آپ کو یہاں منتخب کر سکتے ہیں کہ خیالات. تو اب ہم جا رہے ہیں کے لئے ایک لیبل کے لئے تلاش کرنے. آپ کے ذریعے سکرال کر سکتے ہیں کہ وہاں کی فہرستوں کی تمام. لیکن تلاش نہیں ہے بہت نیچے بار کہ یہ آسان شناخت کے لئے بناتا ہے مخصوص خیالات کا کہ آپ اصل اپنا صارف انٹرفیس میں ھیںچیں کرنے کے لئے چاہتے ہیں. میرے لیبل پایا. میں نے براہ راست، اسے یہاں کھینچ کر لائیں جا رہا ہوں میرے نمونے کی درخواست پر. وہیں مڈل اچھا لگ رہا ہے میں. اور میں ٹائپ جا رہا ہوں "ہیلو دنیا!" درج کریں مارا. اب میں ایک لیبل ہے. یہ ہے کی طرح نظر نہیں آتی کافی مناسب طریقے سے مرکوز. تو میں نے اس مرکز کو دوبارہ کرنے کی کوشش کریں. خوش قسمتی سے یہ ان کی پیشکش چیزوں کو زیادہ آسان بنانے کے لئے ہدایت دیتا ہے. میں اسے مرتب کرنے کی کوشش کرنے جا رہا ہوں. امید ہے کہ یہ اصل میں یہاں کام کریں گے. اور یہ صرف ایک لمحے میں، نہیں کرتا تو یہ حقیقت میں میرے رکن پر دکھایا جائے گا. یہ یہاں ہے. وہاں ہے. ٹھیک ہے، تو یہ بات ہے. ہم کیا کر رہے. ہم اپنے بہت پیدا کیا ہے پہلی درخواست. اب ظاہر ہے یہ کچھ بھی نہیں ہے. یہ صرف ایک لیبل. کے درمیان کوئی تعلق نہیں ہے یوزر انٹرفیس اور کوڈ. ہم اصل میں چاہتی تھی تو اگر اس سلسلے کا پیدا کرنے کے لئے، ہم اصل میں کسی قسم کا ہے کرنا چاہتا تھا تو عناصر کے درمیان ابلاغ کے پر موجود ہے کہ سکرین اور کوڈ ہے کہ ہم سے کنٹرول کرنے کی اجازت دیتا ہے پھر ان عناصر، ہم اصل میں کرنے کی ضرورت ہے کوڈ خود کی طرف دیکھو. تو کیا یہ کہا جاتا ہے ViewController.swift. اور خاص طور پر کے لئے، کے لئے آپ کے پہلے چند پروگراموں، اس طرح کی جا رہی ہے آپ درج کریں کہ کوڈ کا بڑا حصہ یہاں اس دستاویز میں ہونے جا رہا ہے. سامان میں سے ایک بہت کچھ ہے کہ یہاں میں اب تک، ٹھیک ہے؟ درآمدی UI کٹ کلاس نہیں ہے،، کی جگہ لے لے [؟ فنک،؟] ان تمام مختلف چیزیں. اور یہ بہت واضح نہیں ہے کیا یہ اس کی سب کا مطلب یہ ہے کہ. تو واپس ایک قدم دور لے جانے دو Xcode کے سے تھوڑا سا کے لئے اور زبان خود، سوئفٹ کی طرف دیکھو. سوئفٹ کے ساتھ تو، اس میں تھا ڈیزائن اور ترقی تقریبا چار لئے ایپل میں میری سمجھ کے لئے سال. اور خصوصیات میں سے ایک جوڑے کی ہے اس کے بارے میں بہت صاف ہو. سب سے پہلے، اسے مرتب کیا ہے زبان، صرف سی پسند تو کیا آپ پہلے کرنے کے لئے ہے اسے مرتب اور پھر اس کو چلانے کے آپ اصل میں کرنے سے قبل نتائج کہ کوڈ کو پھانسی. لیکن C کے برعکس، ایک انٹرایکٹو، وہاں ہے آپ اصل میں چلا سکتے ہیں کہ فوری طور پر کریں اور میں صوابدیدی حکم دیتا ہے ٹائپ کریں. اور بہت بہت ایک جاوا سکرپٹ کنسول کی طرح، اب آپ کے ساتھ واقف ہو سکتا ہے جس میں، یہ اصل میں ان لوگوں کو اندازہ ہو جائے گا حکم دیتا ہے اور آپ کے لئے پیداوار فراہم. اور وہ بھی لے لیا ہے کہ اگلے درجے پر اور وہ کچھ پیدا کیا ہے Xcode میں بلایا کھیل کے میدانوں کے لئے آپ کو اجازت ہے کہ ضعف کوڈ کے ساتھ کام. اور ہم اصل میں کچھ مثالیں دیکھ لیں گے صرف تھوڑا سا میں اس کے. یہ سی سی عیاں ہے کی بنیاد پر ہے یہ، compilers کے کے تمام کیونکہ سی سے باہر کے کوڈ کی تخلیق اور اس سے اعتراض کے کوڈ کی تخلیق. لیکن یہ واقعی حصص نسبتا بہت کم نحو. یہ کافی مختلف نظر آئے گا. کچھ مماثلت وہاں رہونگا. لیکن ہونے جا رہے ہیں اچھے خاصے اختلافات کا کہنا ہے کہ، جاوا سکرپٹ یا پی ایچ پی، کے مقابلے میں. اور ہم نے ان کی طرف اشارہ کروں گا صرف ایک لمحے میں باہر. سب سے بڑا چیزوں میں سے اب ایک کے بارے میں سوئفٹ کہ اچھی بات ہے خاص طور پر مقابلے میں، کہ ہے C کرنے کے لئے، یہ محفوظ ہونا ہے. اس میں سب کچھ کرنے کے لئے کیا مراد ہے بہت شدت میں ٹائپ کیا جائے. سچ تو یہ ہے کہ یہ تقریبا پریشان کن ہے سب سے پہلے میں، جب آپ پہلی بار صرف کس طرح، تیز رو کے ساتھ کام شروع زیادہ سے زیادہ یہ ہر جگہ اقسام نافذ کرتا. ایک تار ہے کہ کچھ بھی ایک تار رہنے کے لئے ہے. تبدیل کے حل کرنے کے لئے بہت مشکل ہے یہ کسی دوسرے فارم میں مجبور یا. اور پھر، ہم اس کی مثالیں دکھاتا ہوں. لیکن آخر میں احساس ہوتا ہے کہ اس، آپ کی حفاظت کے لئے کیا مراد ہے اور اپنی طرف سے میں نے سے، آپ کے کوڈ مطلب کچھ خوفناک طریقہ جب میں اجلاس ہونے کے تناظر آپ بیمیل قسم کسی قسم کا ہے. اور ایک بار پھر، اس کے ساتھ کام. یہ سب سے پہلے میں نراشا ہو جائے گا کیونکہ آپ بالکل کیوں جاننے کی کوشش کے طور پر آپ کو اس غیر معمولی ہو رہے ہیں اقسام کے ساتھ نمٹنے کی خامی. لیکن یہ آخر میں اس قابل ہو جائے گا. یہ خود کار طریقے سے نمٹنے کرتا یاد داشت مینجمنٹ، تو اب آپ کو کیا کرنا چیزوں کے ساتھ نمٹنے کے لئے ہے malloc اور آزاد اور تمام طرح چیزوں کی ان قسم کے. اور یہ بھی کلیات کے لئے ڈیزائن کیا گیا ہے. ہم ایک Xcode کے لئے استعمال کر سکتے تو جبکہ ، iOS اطلاقات اور میک ایپلی کیشنز تخلیق ہم نے صرف اسے استعمال کر سکتے ہیں ایک سکرپٹ کی زبان کے طور پر. اور اس طرح ہم طرح استعمال کر سکتے ہیں کے بجائے پی ایچ پی یا اس کی بجائے ازگر کی اصل کو فوری طور پر تجزیہ اور عمل ہم اپنے کمپیوٹر پر ہے کہ کچھ اعداد و شمار. یہ جدید کی ایک وسیع اقسام ہے خصوصیات، optionals، mutability، الاقسام، بندش، اور اس کی ایک بہت اگر آپ یا کو تسلیم نہیں کر سکتے ہیں چیزیں. اور یہ صرف کی طرح ایک بدقسمتی ہے زبان کا حصہ ہے کہ ان میں سے کچھ مستقبل، جدید عناصر کی طرح کہ عناصر ہیں اندر اندر موجود ہیں تو دل کی گہرائیوں سے یقین میں اصل گے آپ کو تھوڑا سا CS50.5 سکھانے کے لئے ہے. ہم زیادہ سے زیادہ میں تھوڑا سا سیکھنے کے لئے ہے ترتیب میں خصوصیات میں سے کچھ کے بارے میں واقعی کیا ہو رہا ہے سمجھنے کے لئے اور تو آپ کو کوڈ کو دیکھنے کے کر سکتے ہیں پر اور مکمل طور پر کھو محسوس نہیں. اور اگر تم میرا کیا مطلب ہے نظر آئے گا صرف ایک منٹ میں اس کی طرف سے. اس کی ٹھیک ہے، تو let's-- کافی نظریاتی سامان کی طرح. چلو، اصل میں نظر ہے ہماری بہت پہلے سوئفٹ پروگرام. اس کوڈ کی ایک لائن ہے. 14 لائن یہیں، اس پرنٹ ایل این ہیلو CS50 کہتے ہیں. تو کی ہے کہ چیزوں میں سے ایک جوڑے کی ہے اس مقابلے بارے میں بہت مختلف آپ ہو سکتا ہے کہ چیزوں کو مثال کے طور پر، C سے کرنے کے لئے استعمال. ان میں سے ایک کوئی نہیں ہے ہے intmain، کوئی سیکشن وہاں بھی شامل ہے، یہ اضافی چیز میں سے کوئی بھی موجود ہے. معیاری طرح، شامل ہیں I / O، لائبریریوں کی طرح دراصل فراہم کرتے ہیں کہ زبان کی معیاری خصوصیات، خود کار طریقے کے طور پر شامل ہیں سوئفٹ کی معیاری لائبریری کا حصہ اور یہ کہ خود کار طریقے سے درآمد کر رہے ہیں. آپ کیا کرنے کی ضرورت نہیں ہے دستی طور پر درآمد. Intmain کیونکہ کوئی وجود نہیں ہے کوڈ کے لئے اہم انٹری پوائنٹ میں اصل میں ہے کوڈ کا آغاز کر. اتنی ہے کہ آپ کسی بھی کوڈ شروع سے شروع ہونے والے اصل آغاز میں قتل کیا جائے گا. تو یہ واقعی بہت آسان بنا دیتا ہے. کوئی نیم وقفہ ہے کہ، یہ بھی محسوس کریں. اس زبان میں کوئی وقف ناقص نہیں ہے. تم نے ایک بیان ڈال ایک انفرادی لائن پر اور پھر اگلی لائن دوسرے بیان کی نمائندگی کرتا ہے. آپ کو ڈال کرنا چاہتے ہیں تو آن لائن mulitiple بیانات، پھر آپ سیمی کولون سے الگ ہے. لیکن سب سے زیادہ حصہ کے لئے، اچھا سٹائل کے لیے، ہم ہیں کے لئے وقف ناقص دیکھ کر جا کبھی نہیں الگ بیانات کے مقاصد سوئفٹ میں. تو کس طرح یہ اصل میں کام کرتا ہے؟ ویسے بہت بہت سی ہم جیسے اصل میں اس کو مرتب کرنے کے لئے ہے. اور اس طرح ہم استعمال کر کے ایسا کر سکتے ہیں سوئفٹ ج اور پھر 1.swift. اور پھر ایک جوڑے کے بعد یہ تالیف گا منٹ اور پھر میں آئٹم ایک کو چلا سکتے ہیں. اور اس کے مقابلے میں صرف "ہیلو CS50." کہیں گے بہت اچھے، تاکہ ہم وہاں چلتے ہیں. ہماری پہلی ہیلو دنیا پروگرام نہیں ہے. کے نمبر دو پر منتقل کرتے ہیں. اب this-- میں یہ تبدیل کر دیا گیا تھوڑا سا، جبکہ عام طور پر آپ کی وجہ سے حقیقت میں do-- ہمیشہ آپ کو کیا ضرورت ہے تم سے پہلے ایک فوری درخواست مرتب اصل میں اسے ایک کو چلانے کے عظیم کی خصوصیات میں نے اشارہ ہے کہ اس سے پہلے کہ تھا سوئفٹ دراصل طرح میں استعمال کیا جا سکتا ایک چھدم توضیحی موڈ کی، وہاں ایک مترجم کی طرح حقیقت میں ہے. لیکن کیا ایسا کریں گے یہ ہے کہ وہاں ، حقیقت میں، ایک تیزی سے درخواست ہے آپ کو چلانے کے کر سکتے ہیں کہ. تو مثال کے طور آپ نے ابھی ٹائپ کریں یہاں سوئفٹ، کیا ہو گا اگر آپ کو ایک فوری طور پر حاصل ہو گی ہے. اور آپ کو آپ کے تیزی سے ٹائپ کر سکتے ہیں کوڈ، خوش پرنٹ، اور اس کو چلانے. اور یہ اصل print-- گا ٹھیک ہے، یہ اس کیس میں پرنٹ نہیں کیا اس کا مرکز طباعت کی وجہ سے باہر، جو یہاں نظر نہیں آرہی ہے. لیکن یہ اصل میں کام کرنے کے قابل ہے. اور تو اس صورت میں، میں نے صرف ہوں ایک سکرپٹ کے طور پر اس کا استعمال کرنے جا. اور میں واقعی میں وہاں اس کوڈ کو چلا سکتے ہیں. تو میں نے اصل چلانے کے اس طریقہ کیونکہ یہ تھوڑا سا مختلف ہو جائے گا لیکن آپ کو صرف ایک لمحے میں اس نظر آئے گا. اب، اس معاملے میں ہم کیا جا رہے ہیں ایسا کرنے کے لئے سب سے پہلے ایک متغیر کی وضاحت کرنے کے لئے ہے. تو یہ ہے ہم اس کی وضاحت کس طرح ہے سوئفٹ میں ایک متغیر، ہم لشکر طیبہ کے مطلوبہ الفاظ کا استعمال کیا جاتا ہے، کی پیروی کی متغیر کے نام سے، اور پھر ہم کچھ فراہم اختیاری اعداد و شمار کی ابتدا. تو اس معاملے میں ہم وضاحت کر رہے ہیں نام نامی ایک مسلسل، اور ہم میں اس کا استعمال کرنے کے لئے جا رہے ہیں ہمارے پرنٹ لائن کی پیداوار بہت نیچے، ہیلو نام پر. اب، اس کے بجائے استعمال کرتے ہوئے٪ کی نوٹس ہم اس کے نام encapsulate کر سکتے ہیں / میں متغیر () اور کرنے کے قابل ہو اس کے مندرجات میں سلسلہ بندی اس جملے میں سٹرنگ. اب سی کے برعکس، سٹرنگ ایک ہے سوئفٹ میں اصل حقیقی کی قسم. اور تو اس کے ساتھ بیٹھتا ہے ints اور شانہ بشانہ بہت آسانی سے ڈبلز اور قدرتی طور پر مقابلے دیگر میں سے کچھ تک ہم نے دیکھا ہے کہ زبانوں. تو یہ اصل میں کام کرے گا صرف آپ کو توقع کریں گے جیسا. مجھے 2.swift چلا سکتے ہیں. اور ہم نے میرا نام ہے دیکھیں اصل میں "ہیلو دان."، میں spliced ​​کیا ٹھیک ہے، بہت اچھا. نمبر تین پر آگے بڑھ رہے. اب یہ تھوڑا سا تھا ایک سفید جھوٹ کے کہ میں نے کہا کہ ہم اعلان ہے کہ جس طرح متغیرات لشکر طیبہ کے مطلوبہ الفاظ کا استعمال کرنا تھا. آپ ممکنہ طور پر آپ کر سکتے ہیں کے طور پر کئی بار کے کہ وہ کیا کرتا ہے کیونکہ، دو استعمال کرنا چاہتے ہیں یہ ایک مسلسل کی وضاحت کرتا ہے. اور یہ کہ یہ کر سکتے ہیں کہ فوری بتاتا ہے آپ کی درخواست کی رفتار کو بہتر بنانے یہ اتنا جانتا ہے کہ اس کی وجہ متغیر کو تبدیل کرنے والا نہیں ہے. لہذا احتیاط کا اندازہ آپ کو استعمال کرنے کے لئے جا رہے ہیں جب کے لئے ایک متغیر اس کو تبدیل کرنے کے مقصد. اور جب تم کرنے جا رہے ہیں صرف ایک متغیر کی تخلیق کچھ اعداد و شمار کی حامل ہیں اور یہ کہ کو اصل میں تبدیل کرنے والا نہیں. تاکہ immutability کو کے اس تصور، یہ اصل میں، تبدیل کرنے کے لئے نہیں جا رہا ہے ایک اہم ایک بھی کے طور پر ہے دور نیچے متغیر کی وضاحت کے طور پر. تو یہاں ہم ایک نام بیان کیا ہے، نام بتائیں، اور اس معاملے میں یہ، اس قسم کی ایک مسلسل جاری ہے سٹرنگ، اور یہ دان کے برابر ہے. قبل میں تو جبکہ ورژن، اسے infers-- اور کی طرف سے "یہ" مجھے swift-- سوئفٹ مطلب ڈیٹا کی قسم infers ہم متغیر میں درج کیا ہے. اس صورت میں، ہم پر واضح ہو سکتا ہے. اس کی، تو پھر نام دیں متغیر پھر، ایک بڑی آنت کا نام ہے. اور بڑی آنت کے بعد ہم کرتے ہیں اعداد و شمار کی قسم کی وضاحت. تو اب یہ int نام ہے یا سٹرنگ کا نام یا اس طرح کچھ. لیکن اس کے بجائے ہم ہیں، لیبل دیں چاہے یا نہیں وضاحت کی یہ، مسلسل یا متغیر ہے نام کے بعد، قسم اختیاری کے بعد کیا. اس معاملے میں ہم وضاحت کر رہے ہیں تاکہ یہ نام ایک تار ہے. ہم کہہ رہے دان ہے. اور اب میں دوسرے متغیر ہے، اس معاملے میں یہ لیبل کہا جاتا ہے. لیکن یہ ہے کہ متعلقہ متغیر مطلوبہ الفاظ کے ساتھ prefixed. متغیر مطلوبہ الفاظ کا مطلب اس متغیر کر سکتے ہیں میں بعد کی کسی موڑ پر تبدیل کر دیا جائے کہیں نیچے کوڈ میں وقت، ہم اصل میں یہ اور اسے تبدیل کر سکتے ہیں ہمیں کسی خاص غلطی کو نہیں دے گا. ہم معیار concatenating کی کیا کر سکتے ہیں آپریٹر یہاں پلس علامت کا استعمال کرتے ہوئے اصل میں شامل کرنے کے لئے ہمارے اس جملے میں نام. اور پھر ہم باہر پرنٹ کر سکتے ہیں ہم صرف ایک لمحے پہلے دیکھا. اب ہم آپ سے کہتے ہیں کہ ایک متغیر بنانا چاہتے ہیں لیکن اگر آپ نے ابھی تک اس کی ابتدا نہیں کرنا چاہتا. ابھی تک آپ نہیں کرنا چاہتا اس کے اندر اندر کسی بھی ڈیٹا ڈال. ویسے آپ کو بتانا ہے ڈیٹا کی تیز رو کس قسم آپ کر سکتے ہیں اس سے پہلے ہونے جا رہا ہے اصل میں مناسب طریقے سے اس کی وضاحت. تو اس معاملے میں، ہم نے وضاحت کی گئی ہے جب ہم نے ایک متغیر کہتے گریڈ ہونے کے لئے ، کیونکہ اس کی قسم کے بارے میں واضح یہ صرف تلاش کر نتیجہ نکالنا نہیں کر سکتے ہیں initialized ڈیٹا اوپر آپ اس پر فراہم کرتے ہیں کہ. یہ ہم آپ کو اگر ایک غلطی کو دے گا بالکل اسی قسم متغیر گریڈ، مثال کے طور پر، یہ اس وجہ سے کوئی قسم ہے کیونکہ. تاکہ گریڈ = 100. 100 ایک عدد صحیح ہے کہ تو، یہ اس میں بہت اچھی طرح فٹ بیٹھتا ہے. یہ کام کرتی رہیں گی. ہم دیکھ سکتے ہیں کہ کس طرح اس کے بعد ہم میں اس سلسلہ بندی کر سکتے ہیں. اب آپ کو ہو سکتا ہے آزمایا، اصل میں آپ کو اگر سلسلہ بندی کرنا چاہتے تھے کسی دوسرے متن سٹرنگ میں گریڈ، ایک اور سٹرنگ میں، کہ آپ کو صرف کریں گے کہ ایک ہی concatenating کی آپریٹر کا استعمال. اور یہ کہ عام طور پر سچ ہو گی. لیکن سوئفٹ کے لئے آپ کو اجازت نہیں دیں گے لپیٹ ڈیٹا کی قسم کو تبدیل. اس معاملے میں، یہ اتنا لکیر، 25، ناکام ہو جائے گی گریڈ ہے کیونکہ ایک عددی اور نہیں سٹرنگ. اور اس طرح کی اقسام میں قائم ایک بیمیل وہاں ہے. تو کیا تم جب واضح ہے اگر آپ کو یہ اعداد و شمار کو تبدیل کرنا چاہتے ہیں، آپ کو اس پر مجبور کرنا چاہتے ہیں جب مختلف قسم کے اعداد و شمار اور ٹھیک ہے، میں لے جانا چاہتے ہیں، کا کہنا ہے کہ ایک عدد صحیح ہے جس میں اس گریڈ،، اور ایک تار پر قبول کیا. تو میں نے ایک سرمائے کی سلک کے تمام لے اقسام، آپ، پونجیکرت ہیں، محسوس کریں گے int کے، ڈبل، سلک، تو اور تو آگے. ان میں سے سب سے بڑا ہو صرف چیزوں کو آسان بنانے کے لئے. اور ہم استفادہ کہیں گے سٹرنگ اس گریڈ میں پاس کرنا. اور یہ ایک پیدا کر دے گا اس عددی کے باہر سٹرنگ. اور پھر ہم سلسلہ بندی کر سکتے ہیں دو بہت اچھی طرح سے. اب تک اس سامان پر کوئی سوال ہے؟ ٹھیک ہے، چلو ہل دیں کے ذریعے چار نمبر. اب ہم کچھ زیادہ اعلی درجے کے بارے میں بات کرتے ہیں arrays اور loops کی طرح کے ڈھانچے،. اور تیزی میں C کے برعکس، arrays کے اشارہ کی طرف سے نمائندگی نہیں کر رہے ہیں. سوئفٹ میں اشارہ، وہ موجود ہے، اگرچہ، بلایا غیر محفوظ اشارہ طرح یا اس طرح کچھ اسی طرح کی قسم، وہ عام طور پر آپ کے سامنے نہیں کر رہے ہیں. تو یہ بہت مشکل ہو جاتا ہے آپ جوڑتوڑ کرنے کے لئے براہ راست آپ کے کمپیوٹر کی میموری. تو arrays صرف ایک ڈیٹا کی قسم ہیں. اور وہ اس طرح کا استعمال کرتے ہوئے محولہ رہے اب معیاری مربع بریکٹ سنکیتن تم سے پہلے دیکھا ہے کہ. لیکن اگر آپ واقعی کرنا چاہتے ہیں جب ایک متغیر کی ایک قسم کی وضاحت کچھ کی ایک سرنی کے طور پر پھر خاص قسم، آپ مربع بریکٹ میں اس قسم کی ڈال. تو کیا ہوا اگر میں نے یہاں کہہ رہا ہوں کہ ہے میں نامی ایک متغیر پیدا کر رہا ہوں قسم int صف کے گریڈ. اور میں کچھ کرنے کے لئے کہ برابر کی ترتیب initialized ڈیٹا، اس معاملے میں، جس میں صرف ایک ہے جو، 85، 90، 0، 100 ہے یہاں صوابدیدی گریڈ کے مجموعہ. اب میں کر سکتا ہوں کہ اس معاملے میں، یاد رکھنا، قسم حذف، اور یہ اس کے نتیجہ نکالنا کرنے کے قابل ہو جائے گا initialized ڈیٹا کی بنیاد پر. لیکن میں نے ہٹا دیا ہے تو یہ اور میں نے بعد میں اسے قائم کرنے کی ضرورت تو میں اس بات کو یقینی بنانا ہوگا میں نے وہاں کی قسم ہے کہ. ٹھیک ہے، کے ساتھ ساتھ منتقل کرتے ہیں. تاکہ ہم arrays can-- ایک قسم کی ہم پر فراہم کہ ڈاٹ سنکیتن کے ذریعے طریقوں میں تم پر اب شاید سے واقف ہیں. تاکہ grades.count، مثال کے طور پر، ہم خاص طور پر بڑی تعداد بتاتی ہے ہو عناصر میں اس صف کے اندر اندر موجود. مجھے additional-- شامل کرنا چاہتے ہیں اب یہ ایک متغیر ہے کہ متعلقہ اور اس not-- ایک متغیر ہے ، اور ایک مسلسل نہیں ہے جس مجھے مندرجات تبدیل کر سکتے ہیں کا مطلب ہے کہ اس صف کی، میں نے اس کے لئے اشیاء شامل کر سکتے ہیں. لیکن میں صرف گریڈ نہیں کہہ سکتا اور پھر مربع بریکٹ میں چار، کہ ہو جائے گا کی وجہ سے ایک اس معاملے میں حد سے گمراہی سے نکال. میں اصل میں تبدیل کرنا چاہتے ہیں اس صف کے سائز، میں نے کرنے ڈاٹ ملائیں طریقہ استعمال کرنا پڑے اس کے آخر پر کچھ اضافہ. میں کر سکتا ہوں، تاہم، تبدیلی انفرادی سوچکانکوں. تو میں نے گریڈ استعمال کر سکتے ہیں اور پھر مربع بریکٹ صفر یہ پہلا انڈیکس جوڑتوڑ کرنے اور اسی طرح، آپ عام طور پر توقع کریں گے جیسا. اور میں نے اصل کو وہی کر سکتے ہیں اس کے ساتھ ساتھ سے معلومات حاصل. اب بھی طرح کی ایک پسند کا طریقہ نہیں ہے کی اس، گریڈ پلس برابر کر رہے اور پھر ایک اور انڈیکس، جس کے append-- گا یا کسی اور index-- نہیں لیکن ایک اور فہرست جس میں اس فہرست ملائیں گے، گریڈز کے پیچھے سے. اور گریڈ کرے گا پھر سب اس پر مشتمل ہے. لیکن اس سے ایک اضافی چیز کی طرح ہے کہ میں تو صرف مذاق کے لئے آپ کو دکھا رہا ہوں. اب لوپ کے لئے ایک بات ہے. اور اس جہاں کا آغاز ہے چیزوں کو تھوڑا سا تبدیل کرنے کے لئے شروع. لوپ کے لئے یہ ہے کہ کس طرح محسوس سی میں loops کے لئے سے مختلف اب میں نے اس نوٹ گی سوئفٹ میں loops کے لئے کر سکتے ہیں ، C میں loops کے لئے کی طرح نظر آنا بنایا جائے لیکن زیادہ مفید تشکیل کی بہت وہاں ہے یہ بنیادی طور پر ضرورت کا خاتمہ متغیر کے لئے کی ضرورت کے لئے میں 0 نیم وقفہ کے برابر ہے مجھے ، کچھ کی لمبائی سے بھی کم ہے تو اور تو آگے، ٹھیک ہے؟ اور اس کی تعمیر صرف ان میں سے ایک ہے. انڈیکس کے لئے، انڈیکس نئی ہے متغیر، حد میں اس معاملے میں. اور جو کچھ میں کہہ رہا ہوں کہ وہاں ہے 0 سے تمام طرح کرنے کے لئے ایک رینج لیکن grades.count بھی شامل نہیں. تو کیا یہ نقطہ بھی کم ڈاٹ علامت کی نمائندگی کرتا ہے کے مقابلے میں صفر سے شروع ہونے اقدار کی ایک رینج grades.count تک مائنس 1 تمام طریقہ. ایک علیحدہ نہیں ہے موجود ہے کہ آپریٹر، جو کرے گا، ڈاٹ ڈاٹ ڈاٹ ہے میں صفر کی رینج چاہتے ہیں اس کا مطلب یہ گریڈ کو ساتھ لے کر چلنے شمار. لیکن اس معاملے میں، ان کی وجہ سے arrays کے ہم نے کورس کی، صفر انڈیکس ہیں پر جانے کے لئے نہیں کرنا چاہتے گریڈ کی زیادہ سے زیادہ تعداد. پرممکن ہے کہ آپ کے طور پر میں، گریڈ خلاصہ کر سکتے ہیں توقع، اور اس چیز کی پیداوار تمام. ٹھیک ہے، پر منتقل. اب ہم افعال کے بارے میں بات کرتے ہیں. ایک تقریب کی وضاحت کرنے کے لئے میں آپ فنک مطلوبہ الفاظ کا استعمال. اور ایک بار پھر، سوئفٹ میں آپ کو کرنا پڑے اقسام کے ساتھ بہت ہوشیار رہنا. یہ پیرامیٹرز پر آپ کو فراہم وضاحت کی طرف سے، مثال کے طور پر، پیرامیٹر کے نام اور ڈیٹا کی تو کولن میں، قسم تم نے اس توقع ہے کہ پیرامیٹر کو قبول کرنے. تو اس صورت میں ہم نے ایک ہونا پرنٹ گریڈ کہا جاتا شمار تقریب. یہ، Gradebook پر ایک متغیر کہا جاتا قبول کرتا ہے یا بلکہ ایک پیرامیٹر Gradebook پر بلایا. اور ہم اس Gradebook پر توقع کر رہے ہیں integers کے ایک صف بننا. کہ Gradebook پر خالی ہے تو، ہم ایک کام پرنٹ کریں گے. دوسری صورت میں ہم تعداد میں پرنٹ یہ اصل میں ہے کہ گریڈ کی. اب ہم واپس کرنے کے لئے چاہتے ہیں تو کچھ قدر، پھر جس طرح ہم اس کی تعریف یہ ہے کہ نظر ثانی اصل میں اس تیر کے نشان مطلوبہ الفاظ کا استعمال کرنے کے لئے، یا اس تیر signifier کے استعمال کرنے کے لئے. لہذا ہم یہاں وضاحت کرنے کے لئے جا رہے ہیں ایک تقریب اوسط بلایا. ہم اعداد کی ایک فہرست کو قبول کرنے جا رہے ہیں. اور ہم نے ایک واپس جا رہے ہیں ، ڈبل جو امید کرے گا اس صف کی اوسط. اور ترتیب میں ترتیب میں، ایسا کرنے کے لئے اصل میں یہ اوسط کا حساب کرنے، ہم ایک رقم لے گا اور ہم میں سے ہو گی کورس کے اشیاء کی تمام خلاصہ اس صف کے اندر اندر. ایک نئی بات ہے کہ نوٹس لوپ کے لئے یہاں کے انداز. ہم کے بارے میں واضح کرنے کی ضرورت نہیں ہر ایک عنصر پر iterating، لیکن ہم بجائے لئے کہہ سکتے ہیں گریڈ اور gradebook، معنی ہر ایک کے لئے اس ہم اس میں ہے کہ شے، اس میں اس آئٹم کو فراہم متغیر کہتے گریڈ. اور میں اس کے ساتھ کچھ کرنا چاہتا ہوں. تو میں نے اس ڈیٹا کے تمام خلاصہ میں جا رہا ہوں اور اصل میں ڈبل ڈویژن کو واپس. اب ایک بار پھر یہاں موجود ہے کو نوٹس سوئفٹ میں عددی ڈویژن کے تصور. آپ ڈویژن کو دوگنا کرنا چاہتے ہیں تو آپ اعشاریے چاہتے ہیں کیونکہ، پھر آپ پر واضح ہونا پڑے گا، نہ صرف کے بارے میں ایک طرف، یہ آپ کو اجازت دینے کے لئے نہیں جا رہا ہے کیونکہ اس کے دونوں کناروں پر اعداد و شمار کو مجبور کرنا، آپ اصل میں کورس کرنا پڑے ڈبلز میں دونوں اطراف تاکہ آپ کو ہو بہت اس بات کا یقین کرنے کے بارے میں واضح کہ آپ ڈبل تقسیم کر رہے ہیں. چلو منتقل. میں اصل میں accept-- کرنا چاہتے ہیں تو تاکہ اس مخصوص مثال میں، یہ اب بھی ایک کمانڈ ہے لائن کی بنیاد پر درخواست. اور ہم میں سے کچھ دیکھنے کے لئے شروع کر رہے ہیں نوجوان زبان کی حدود اس میں اگرچہ ہم کر سکتے ہیں کا استعمال کرتے ہوئے کی طرف سے دلائل تک رسائی حاصل اس process.arguments، یہ بات ہے اب بھی ضروری نہیں کہ صاف ہم نے کبھی دیکھا ہے کہ ایک ہی چیز. لیکن بنیادی طور پر میں آپ کی حوصلہ افزائی ایک طرح سے یہ کوڈ کو دیکھنے کے لئے اور جاننے کی کوشش کریں بالکل کیا ہو رہا ہے. بنیادی طور پر کیا ہو رہا ہے یہ ہے کہ ہم نے دلائل میں سے ایک فہرست لے جا رہے ہیں اور میں ان کو مجبور کر رہے تھے integers کے، اور پھر ہم ہیں پرنٹ کرنے کے لئے ایک طریقہ کے طور پر اس کا استعمال کرنے جا ہمارے گریڈ کی تمام کی اوسط سے باہر. پر آگے بڑھ رہے. اب data-- کی ایک اور قسم بھی ہے ایک اور اعداد و شمار کے arrays کے بجائے ٹائپ بہت ہیں جو بلایا لغات، میزیں یا ہیش نقشے ہیش کے لئے اسی طرح اور بھی ملتے جلتے ہیں پی ایچ پی کی ساہچری arrays. تاکہ وہ تصور ہے چابیاں اور اقدار کی. اور وہ بھی ساتھ وضاحت کر رہے ہیں یہ مربع بریکٹ سنکیتن، لیکن فرق یہ ہے لغات کی ہے کہ مربع بریکٹ، ایک بڑی آنت کے اندر. اور بڑی آنت کے اعداد و شمار جدا کہ اہم اور قدر ہے ٹائپ کریں. تو اس معاملے میں، میں پیدا کرنے کے لئے جا رہا ہوں ایک لغت کچھ گریڈ قبول کرنے کے لئے. اور یہ ہونے جا رہا ہے قسم سٹرنگ کی: int کے، جس کا مطلب ہے کے سب اس چابیاں، ڈور کے لئے جا رہے ہیں اور ان میں سے اقدار کے تمام کی چابیاں integers کے ہونے جا رہے ہیں. کیا اس کا مطلب اگر میں کر سکتے ہیں ہے پھر مخصوص اعداد و شمار کا حوالہ میں نہیں بلکہ ان کی چابیاں کا استعمال کرتے ہوئے چاہتے ہیں کہ مجھے پسند عددی سوچکانک استعمال کرتے ہوئے مقابلے ایک معیاری صف کے لئے پڑے گا. اب بھی ہے، چلو دیکھتے ہیں ایک اہم بات میں نے بھی کے بارے میں ذکر کرنا چاہتا ہوں کہ کوڈ کی اس خاص ترتیب کو. اور یہ کہ یہ ہے کہ وہاں اعداد و شمار کی ایک اور قسم، یا بلکہ یہ ہے ہے کہ اعداد و شمار کے خیال کے سوئفٹ کے اندر اندر موجود optionals بلایا. اور کیا optionals کا مطلب ہے یہ حقیقت تسلیم کر لیا ہے کہ کہ کبھی کبھی آپ کے لئے نہیں جا رہے ہیں آپ اصل میں توقع ہے کہ اعداد و شمار ملے. کہ چلو is-- طرف سے اور اس لئے میں کیا مطلب کوڈ کے اس تسلسل میں ایک نظر ڈالیں کی سب سے زیادہ ہے جس iterates ہے اس کوڈ کو پر منظور کیا گیا ہے کہ دلائل اور، ان کو تبدیل کرنے کی کوشش کرتا کوشش کرتا ہے ڈور کی ایک قسم میں تقسیم کرنے کے لئے، یہ ایک بہت ہی قبول کرتا ہے کیونکہ دلیل کی خاص قسم. اور پھر اسے مجبور کرنے کی کوشش کرنے جا رہی ہے تعداد کی نمائندگی کہ ڈور گریڈ ہیں کہ صحیح اعداد میں، میں نے تو گنتی کر سکتے ہیں کہ. تو بنیادی طور پر میں جا رہا ہوں اس تقسیم تقریب کے استعمال کرنے والے کے اندر موجود ہے سوئفٹ معیاری لائبریری. میں نے اس میں منتقل کرنے جا رہا ہوں میں تقسیم کرنا چاہتے ہیں کہ سٹرنگ. اور پھر اس کے استعمال میں funky نحو کی طرح ہے، جس میں ہم کریں گے تو اس میں نہیں جانتا ہم، کے لئے حاصل، لیکن ہو سکتا ہے دراصل عین مطابق وضاحت کریں گے ہم پر تقسیم کرنا چاہتے ہیں کہ کردار. تو کیا یہ اصل کی طرح لگتی ہے؟ کے میں ایک نظر ڈالیں اصل میں اس کوڈ کو چلانے. مثال کے طور پر تو، میرے پاس کہنے دو ایک کوئز اور میں نے اس پر 50 ملی. اور میں نے ایک psets میں نہیں ہے اور میں اس پر ایک سو مل گیا. اور میں نے ایک اور بات ہے got-- کوئز اور میں نے اس پر ایک 40 ملی. میں درج کریں مارا، اور آخر کار کیا کیا ہو گا کہ یہ کیا کر رہا ہے ہے ہے ان پیرامیٹرز لے جا رہا ہے، تیز ان کولون میں ڈور، کہ وہاں تسلیم ہر ایک میں دو عناصر، اور یہ بنیادی طور پر ہے ہر ایک کا ٹریک رکھنے. تو میں نے اپنے لغت میں جن کی ایک کوئز، ہے قدر، نمبر 50 کی طرف سے ظاہر کیا جاتا ہے میں، 100 میں قدر ہے کہ ایک pset ہے اور 40 کی ایک قیمت ہے جس میں ایک کوئز ایک. پھر بعد میں کوڈ میں اندر اصل میں ان اقدار کی تمام اوسط اور کی کنجیاں کی تمام فہرست اس مخصوص زبان. لیکن یہ ضروری ہے کہ آپ محسوس کر سکتے ہیں تاکہ کیا، کیا ہو رہا ہے یہ ہے کہ کیا ہم نے کیا کرنا چاہتے ہیں اس جملے کو لینے کے لئے ہے اور، اس کردار میں اسے تقسیم ہم اس تقسیم کے ساتھ دوبارہ کر سکتے ہیں جس اس طرح کا استعمال کرتے ہوئے کی تقریب یہاں موجود ہے کہ دلچسپ نحو. صرف اب کے لئے یہ ٹھیک ہے کہ فرض. ہم اس پر زیادہ نظر کروں گا صرف ایک چھوٹی سی دیر میں. لیکن اب ایک دلچسپ بات ہے پہلو ہے کہ ہم اصل اس میں تبدیل کرنے کی کوشش کرنا چاہتے ہیں ایک عددی میں سٹرنگ. لیکن دیگر زبانوں میں کیا ہو سکتا ہے ہم شاید کی کوشش کریں گے یہ کرتے ہیں اور یا تو واپس حاصل کرنے کے پرہری کی کسی قسم منفی ایک طرح قدر یا شاید شہوت انگیز null یا اس طرح کچھ. یا شاید یہ صرف ایک غلطی کی وجہ گی. اور ہم کرنا پڑے گا پھر اس غلطی کو پکڑنے اور پھر ایسا کرنے کی کوشش کچھ اور حقیقت پر مبنی اس کے تبادلوں کہ ایک عددی کے لئے میں ناکام رہے. کہ جہاں یہ خیال ہے optionals کے میں آتا ہے. آپ اصل میں ایک ڈیٹا کی قسم تشکیل دے سکتے ہیں ایک int سوالیہ نشان مثال کے طور پر، ہے. کہ اس عددی مطلب ہے کہ حقیقت میں، اختیاری، ہے. اور کیا ہو گا یہ کر سکتے ہیں ہے ایک عدد صحیح ہے پر مشتمل ہے، یا یہ نہیں کر سکتے. یہ، حقیقت میں، اس دوسرے ہو سکتا ہے خیال، مکمل طور پر کچھ نہیں کہا جاتا. جس میں ہے کہ وہاں ہے کا مطلب ہے کہ جو کچھ اس میں کوئی قیمت نہیں. یہ بھی صفر نہیں ہے صرف کوئی قیمت ہے. کی نمائندگی کی بالکل کوئی قیمت نہیں ہے. اور یہ کہ اس لائن میں 71 کیا کر رہا ہے ہے. یہ اس لیے میں کہہ رہا ہے ہے ایک قیمت مقرر کرنے کی کوشش کرنا چاہتے ہیں، کے برابر گریڈ نامی ایک متغیر، ایک int میں اس جملے کے تبادلوں. تو میں نے اس جملے کو لے لیا ہے، اس پہلے کے اجزاء، یا بلکہ دوسری اجزاء، اس وجہ سے صفر سے، حساب سے ترتیب ہے میں تقسیم کر دیا ہے کہ سٹرنگ. اور میں تبدیل کرنا چاہتے ہیں کہ ایک عدد صحیح. لیکن یہ ہمیشہ آگے بڑھنے نہیں کر سکتے ہیں عام طور پر، کیونکہ تصور بھی قسم بجائے، کیا تو کیا ہوگا ایک بڑی تعداد، مجھے ASDF طرح کے کورس کے ٹائپ. یہ ناکام ہو رہا ہے. یہ اصل میں ہو کرنے کے لئے نہیں جا رہا ہے کہ ایک عدد صحیح تبدیل کرنے کے قابل مجھے توقع کریں گے. تو بجائے لات مقابلے ایک خرابی کے کسی قسم کے، ہم ایک اختیاری کی یہ خیال ہے. اور یہ کہ استعمال کر رہے ہیں کا مطلب ہے میں کہہ سکتے ہیں اس سوال کا نشان، اوکے، یہ میں نے لے جا سکتے ہیں کہ ممکن ہے یہ، ایک int میں تبدیل اور ایک متغیر میں ڈال، جس میں بھی ایک int ہو جائے گا. اگر ایسا ہے تو، تو پھر اسباب کہ اس کامیاب تھا کہ اور کے اس پہلے حصے بلاک جاری رکھ سکتے ہیں. دوسری صورت میں، اس میں ناکام رہے. grade-- میں کوئی قیمت نہیں ہے یا بلکہ موجودہ میں کوئی قیمت نہیں ہے، اور میں واقعی میں کرنے کی کوشش ہے اس غلطی شرط کو سنبھال. اگر آپ کو یہ دیکھنے کے لئے جا رہے ہیں سوالیہ نشان ہر وقت سوئفٹ میں اور سوئفٹ کے لئے مثال کوڈ میں. اور حقیقت میں کچھ نہیں آپریٹر، اس طرح کی سوالیہ نشان کے، optionals حصہ، ایک شاید ہونے جا رہا ہے زیادہ مشکل چیزوں میں قسم کے ارد گرد اپنے سر لپیٹ کرنے کے لئے آپ اصل میں اس کے ساتھ کام کے طور پر. کیا یہ احساس ہو سکتا ہے. اور حقیقت میں، میں نے جب تھا اس لئے نمونے کے کوڈ لکھنے، یقینی طور پر میں سمجھ گیا کیا، پر جا رہا تھا لیکن اب بھی کی طرف سے مجھے پکڑ لیا حیرت کی ہر تو اکثر میں نے اس کو تلاش کرے گا جب کچھ اعداد و شمار اصل میں تھا ایک صفر ورژن، ایک اختیاری ورژن ڈیٹا کی میں توقع کر رہا تھا کہ. تو صرف احساس ہے کہ اگر آپ ایک اختیاری ورژن ہے آپ اس کو پیک کھولیں کرنا ہے اس خانے سے اعداد و شمار. تو یہ میں ... اگر آپ سوچ بھی طرح طرح کی ہے ایک باکس ہے اور یہ کچھ پر مشتمل ہے. اور آپ کو ایسا کرنے کی ضرورت کیا سوال پوچھنا کرنے کے لئے ہے، یہ ممکن ہے کہ اصل میں اس کے باکس میں دیکھ رہا ہوں کہ اعداد و شمار پر مشتمل ہے؟ اگر ایسا ہے تو، پھر اس کے اعداد و شمار سے نکالنے اور موجودہ اس متغیر میں ڈال. اگر نہیں، تو میں نے صرف کے لئے ہے اس باکس کے مندرجات کو نظرانداز مکمل طور پر اس کی وجہ سے لفظی بات شامل نہیں ہے. اس پر کوئی سوال؟ ٹھیک ہے، چلو اس سے دور منتقل کمانڈ لائن کی بنیاد پر بات کی طرح اور کو دیکھ کر شروع ٹیکنالوجی کے بعض Xcode کے ہمارے لئے فراہم کرتا ہے کھیل کے میدانوں کی شکل میں. تاکہ میں سے ایک بہت کچھ ہے یہاں سوئفٹ کے ساتھ صلاحیت. اور آپ کو Xcode اور اسے کھولو آپ کیا کرنا چاہتے ہیں آپ سے کہتا ہے، آپ کے کھیل کے میدان کھول سکتے ہیں اور صرف ارد گرد کھیلنے کے مختلف ڈھانچے کے بہت سے زبان کی اور پہلوؤں آپ کو بھی چھونے کے شروع کرنے سے پہلے iOS کے SDK یا میک SDK. تو اس صورت، چلو میں have-- سے کہتے ہیں کہ میں نے ایک نسبتا contrived مثال ہے یہاں، لیکن میرے ساتھ کے طور پر ہم طرح برداشت کی اس مثال کے ذریعے کام. چلو ہم ایک بہت کچھ کرنے کے لئے ہے کا کہنا ہے کہ ایک مقررہ قیمت کے ساتھ exponents میں، جیسے ہم کرنے کی ضرورت کے لئے جا رہے ہیں جانتے ہیں کہ مثال کے طور پر، مربع طاقتوں کی ایک بہت کچھ. تو ہم نے کچھ قدر لے جا رہے ہیں ایکس، ہم اسے مربع لئے جا رہے ہیں، ہم کچھ قدر لے جا رہے ہیں Y اور ہم اسے مربع لئے جا رہے ہیں. تو اور تو آگے. اب ہم اصل میں صرف ایک بنا سکتا ہے اس کے لئے 2 تقریب کی طاقت، ہے نا؟ تو ہم 2 تقریب کی ایک طاقت بنانے کروں گا. ہم ایک ڈبل قبول کریں گے. ہم output-- لیں گے یا ہم کریں گے ایک ڈبل قسم واپس. ہم یہ نتیجہ لے لیں گے اور پھر دو مرتبہ کے لئے ہم اصل میں نتائج، لے کیا جس میں ایک کی قیمت initialized کیا گیا تھا، اور ایکس سے گنا. تاکہ جوہر میں ہم یہاں X اوقات ہے. اور تو پھر میں جتنی ہم شاید، اس کے بعد کر سکتے ہیں ، کل 2، چلانے کی طاقت اس لے توقع، یہ کرنے کے لئے فراہم کرتے ہیں کچھ اعداد و شمار، میں 2.0 پسند. اور ہم یہاں پر 4.0 کے نتائج دیکھنے کو ملتا ہے. 3.2 اور ہم پر 2 کی طاقت کو چلانے کے ہمارے نتیجے، 10.24 دیکھنے کو ملتا ہے. ابھی تک اتنا اچھا، ٹھیک ہے؟ اب ہم اچھا، ٹھیک ہے، میں سوچ رہے ہیں. در اصل اب میں کرنے کی ضرورت ہے 3 کے اختیارات کی ایک بہت کرتے ہیں. تو میں نے اس کوڈ کو سب کو پیسٹ کاپی کریں گے، سے تقریب کا نام تبدیل اقتدار کے 3، اور ہر چیز کو 2 کی طاقت اس کی قیمت کے لئے، سوائے ایک ہی ہو جائے گا یہاں، اس کی حد، 1 ... 2. تو بجائے دہرا سے اس لوپ میں دو بار، میں اس لوپ میں تین بار دوبارہ کرنا چاہتے ہیں. تو میں صرف سے اس قدر تبدیل 1 3-- کرنے یا بلکہ 2 سے 3 سے. تو ایک بار پھر، ایک ہی کوڈ، کہ صرف تبدیلی ہے. اب یہ بھی کام کرتا ہے. 2 کی کچھ قدر میں فراہم کی 3 کا پاور. ہم نے 8 ملتا ہے. تو 2 cubed کی. اور 3.2 cubed کی 32،768 ہے. اور اب تک اتنا اچھا، ٹھیک ہے؟ لیکن امید ہے کہ یہ ایک چھوٹا سا ہے آپ کے لئے ایک سرخ پرچم کے سا کہ میں اب ہم ہیں کوڈ کے کچھ تخلپی کچھ بہت معمولی لئے چھوڑ کر اگلے ایک سے تبدیل. تو کچھ طریقہ نہیں ہے کہ ہم آسان کرنے کے قابل ہو سکتا ہے اس مسئلہ، جہاں ہم اصل میں کر سکتے ہیں، رن وقت، کچھ پتہ لگا، ہم پر ہے کہ کوئی تقریب فراہم کرتے ہیں خاص طور پر کہ ہم چاہتے ہیں کی طاقت. اور کے اس خیال نہیں ہے واقعی ہے جس کی بندش،، واقعی سوئفٹ کے تناظر میں اہم، اور بہت سی دوسری زبانوں میں بھی. لیکن شاید آپ کو نظر آئے گا اس سوئفٹ میں زیادہ تو استعمال کیا یہ سرایت کر رہا ہے کیونکہ زبان کے اندر اندر آپ کو دوسرے میں مرضی کے مقابلے بھی جدید زبانوں. ایک بند کرنے کے خیال سے اتنی یہ وہ جگہ ہے، ہے ہم نے کہ مراد ہے کہ ایک تقریب بھی ہو سکتا ہے ایک عام تقریب، ایک عام طاقت ہو تقریب کی. اور اس تقریب کو قبول کرنے کی جا رہی ہے اس مائپادک کہ ہم اصل پیدا کرنا چاہتے ہیں. تو مثال کے طور، بہت پہلے مثال کے طور پر، ہم نے 2 کی طاقت چاہتا تھا. تو اگر ہم کو بجلی فراہم کرے گا اور پھر قوسین 2 میں. اور اب نوٹس کیا یہ اصل میں واپس ہے. یہ ایک پرائمر کی ایک ان پٹ لیتا ہے ایک عدد صحیح ہے کہ کہا جاتا Y، اور یہ دیکھ رہے اس پاگل کی واپسی parentheses-- قوسین میں بات ڈبل اور پھر ڈبل تیر. کیا اس کا مطلب میں ہوں یہ ہے کہ ایک تقریب کے واپس جا رہا. میں نے واپس آنے سے نہیں کر رہا ہوں اعداد و شمار کی ایک اور قسم، میں ہوں حقیقت میں ایک تقریب کے واپس لوٹنے کے یہ کہ، اس پیرامیٹر ہے قبول کرتا ہے کی ان پٹ کے طور پر ایک ڈبل اور ایک واپسی کی قیمت کے طور پر ایک ڈبل نتائج. اور نتیجے کے طور، کیونکہ اب میں نے بلایا ہے کی طاقت، Y کے لئے کچھ قدر میں گزر، اور میں یہ دوسری پیدا کر رہا ہوں کہ وہاں تقریب کے نوٹس پیدا کیا جا رہا ہے کہ ایک اور تقریب this-- اندر میں کیا کر رہا ہوں میں نے تو تبدیل کر سکتے ہیں کر رہا ہے اس قدر، ایک ہے کہ میں نے تبدیل کر دیا تھا کہ قیمت 2 سے 3 سے، اب میں اسے Y کر. اور یہ بھی برقرار رہتا. لہذا میں بجلی کی فون ہے کہ ہر بار کی، بنیادی طور پر کیا ہوتا ہے میں نے ایک تقریب واپس آ جاتے ہیں ہے. میں نے وضاحت کی گئی ہے یہاں کہ نوٹس ایک نیا متغیر مربع بلایا. میں، کی طاقت کے برابر مقرر کر دیا کے اقتدار میں اس کی قیمت میں 2 سے فراہم کی. اور کیا اس لوٹ آئے تقریب ہے. تو مربع، متغیر چوک، قسم کی تقریب کی اب ہے کہ this-- افوہ، سکرال ایک یہ دستخط ہے کہ تھوڑا سا، ایک ڈبل ایک ڈبل اور آؤٹ پٹ کو قبول. تو اب میں نے کیا کیا ہے میں بنیادی طور پر دیا ہے ایک تقریب میں بلایا مربع پیدا کیا ہے کہ کسی بھی قیمت قبول کرتا ہے اور یہ اسکوائر گا. ہم یہاں نیچے ہوتا ہے دیکھ سکتے ہیں. مثال کے طور پر مربع کے 3، میں جا رہا ہوں مطلب ہے 3 قدر لے اور یہ مربع کرنے کے لئے. تو کس طرح کام کرتا ہے؟ میں نے 2-- کی طاقت کے پاس جب جب میں تقریب کی اس اقتدار میں 2 گزر، اس متغیر Y ہے اس 2 قیمت کے ساتھ آباد. اور اس طرح کی یاد میں منعقد کیا جاتا ہے. اس طرح کا میں منعقد کی طرح ہے کہیں کمپیوٹر میں ریاست، ہم واقعی کس طرح کی پرواہ نہیں ہے یا جہاں اس نقطہ پر. لیکن میں اس تقریب کو واپس exponentiate بلایا. اور ایک بار پھر، یہ واقعی کوئی فرق نہیں پڑتا اس تقریب کہا جاتا ہے، ہمیں اس چیز کے، یہ کچھ بھی کال کر سکتے ہیں ، ایک ڈبل قبول کرتا ہے اور ایک ڈبل کی واپسی لیکن اس کے اندر اس قدر Y کا استعمال کرتا ہے. تو یہ اس تقریب ہے، اگرچہ، ہے کہ اس exponentiater تقریب میں واپس لوٹا دی گئی میری مجھے مربع نامی اس متغیر، یہ اس کے اندر موجود چکا ہے Y کیا تھا کے اس اصول کی. اور یہ کہ یاد. تو ہر وقت میں اس تقریب فون ہے کہ اب مربع کہا جاتا ہے، یہ اس کا استعمال کرتا ہے. لیکن یہ بھی میں کر سکتا ہے کا مطلب ہے کا استعمال کرتے ہوئے دوسرے متغیر کی تخلیق کی ایک مختلف طاقت. تو میں نے کے لئے، ایک کیوب متغیر تشکیل دے سکتے ہیں مثال، اس پر 3 سے طاقت فراہم کرتے ہیں. اب کیوب اصل میں کچھ نہیں لے گا قیمت اور کیوب ہے کہ اور اس کو واپس. تو ہم میں ملتا ہے کہ دیکھ سکتے ہیں اس سے باہر ایک قدر 8. لیکن اس قدر Y نہیں ہے وہ ہو کیونکہ تبدیل کر دیا گیا آزاد متغیر کی طرح میں منعقد. وہ طرح کی میں منعقد کی جاتی ہیں یاد میں آزاد خالی جگہیں. تاکہ کیوب ہمیشہ پڑے گا 3 میں سے اقتدار میں ایکس. اور مربع ہمیشہ پڑے گا 2 کی طاقت، ایکس، جس وہ چوک ہمیشہ جائے گا کا مطلب مجھے توقع طور پر مربع کے نمبر،. اور کیوب ہمیشہ cubed ہے گا نمبرز، مجھے توقع کے طور پر. یہ بھی مطلب ہے کہ کبھی کبھی آپ کر سکتے ہیں کہ Funky کی تلاش میں نحو کے کچھ طرح حاصل جہاں آپ کو بہت اوپر کی طاقت ہے یہاں کی سکرین کے سب سے نیچے، 5 کی طاقت. اور آپ کے نتیجے میں منتقل. تم ہو کہ اس تقریب کو فون نمبر 4 کے ساتھ واپس آ گیا. اور تو کیا بنیادی طور پر اس ، پانچویں اقتدار میں 4 ہے ہم وہاں نتائج دیکھ سکتے ہیں. میرے ساتھ اب تک؟ تاکہ اس خیال، ایک بند کرنے کو کہا جاتا ہے ہم بنیادی طور پر کیا کر رہے ہیں کیونکہ ہم encapsulating کی کر رہے ہیں ہے کچھ اعداد و شمار ترتیب دیں into-- اس ڈیٹا کے احاطہ کی ہم ہیں اور ایک تقریب میں اس تقریب کو دوبارہ استعمال کے قابل ہونے. اب اس نحو، حالانکہ دراصل یہ کر سکتے ہیں ایک بڑی رقم سادہ بنایا جا. اور امکان کے بہت سے ہے یہ آسان بنانے کے لئے سوئفٹ میں. اور یہ کہ کس طرح ہے بعد کے لوگوں کے اصل کو دیکھنے کے. تو مثال کے طور 7B میں، ہم یہ بالکل وہی کوڈ لے. لیکن اب کی بجائے اصل میں ایک تقریب کی وضاحت کی اس طاقت کے اندر تقریب اور یہ نام دینے، اور پھر نام واپس آ جائیں اس تقریب، اس کا کون اس کے بعد کے حصے کے طور پر استعمال کیا جاتا ہے اس بندش، بجائے اس کے ہم ہیں صرف اسے آسان بنانے جا. ہم نے اس تقریب کا نام دیا جائے کی ضرورت نہیں ہے. تو یہ ایک کا تصور ہے گمنام تقریب، جہاں اس کے بعد ہم یہ کر سکتے ہیں یہاں قوسین میں، ان پٹ کے طور پر قبول، قسم ڈبل کی ہے جو متغیر x. ہم قسم ڈبل واپس جا رہے ہیں. اور اس کے بعد مطلوبہ الفاظ کی، (ن)، ہے اس تقریب کے آغاز. لہذا اس کے کہ تمام نوٹس گھوبگھرالی بریکٹ کے اندر اندر ہے اور ہم نے ایک وضاحت کر رہے ہیں گمنام یہاں کام کرتے ہیں. کی صرف ایک آسان طریقہ بالکل وہی بات کی وضاحت کی. ٹھیک ہے؟ لیکن پر منعقد، سوئفٹ اصل میں ہمیں اجازت دیتا ہے مزید جانے کے لئے اور بھی زیادہ آسان بنانے کے لئے، واقعی ہم ایسا نہیں کرتے کیونکہ اس پیرامیٹر ہے کہ پرواہ کسی خاص چیز کا نام دیا. یہ واقعی میں کچھ کہا جا سکتا ہے اور ہم اب بھی کہ پہلے پیرامیٹر استعمال کر سکتے ہیں. تو حقیقت میں اس خاص نہیں ہے گمنام افعال میں اعداد و شمار کی قسم، کی اس خاص نام ہے گمنام افعال میں متغیرات کے ساتھ کہ آغاز ڈالر کا نشان اور نمائندگی پیرامیٹر نمبرز، صفر اس تقریب کے لئے، حساب سے ترتیب. تو کیا ہو رہا چیزوں میں سے ایک جوڑے کی ہے. یہاں میں نے پھر ایک واپس جا رہا ہوں، اور ایک تقریب کی نمائندگی گھوبگھرالی منحنی خطوط وحدانی، ہے نا؟ میں نے تعریف کی ہے نہیں ہے کہ نوٹس پیرامیٹر کی اقسام یا واپسی کی قسم. یہ اصل میں inferred کر سکتے ہیں دستخط کی وجہ سے اس اصل تقریب کی. تو ہم نے ختم کر سکتے ہیں ایک امکان کے طور پر کہ. بلکہ میں نے کرنے ڈالر کا نشان صفر استعمال کر سکتے ہیں ہے کہ یہ پہلی پیرامیٹر کی نمائندگی اس گمنام تقریب میں منظور کیا. تو بھی زیادہ اس کو آسان بنانے. ٹھیک ہے؟ اب تک تو اچھا ہے؟ اب اس ٹائپ ہے جو تم کرتے یہ ڈالر کا نشان صفر یاد رکھنا ہم اس گھوبگھرالی منحنی خطوط وحدانی میں دیکھا کہ ہم صرف تھوڑی دیر دیکھا کہ پہلے اس سوئفٹ چھ مثال میں؟ یہ یہیں تھی. کہ بالکل کے نوٹس جو ہم دیکھ رہے ہیں، ہم گزر چکے ہیں اس تقسیم تقریب میں ایک گمنام تقریب ہے کہ پہلا پیرامیٹر کی جانچ پڑتال کرتا یہ بڑی آنت علامت برابر ہے تو دیکھنے کے لئے. اور یہ کہ بالکل کیا ہے ، کیا ہو رہا ہے کہ تمام ہے ہم واپسی doing-- رہے مطلوبہ لفظ تقاضا ہے اس صورت میں ہم پر آرہے ہیں ہم موازنہ کر رہے ہیں جہاں اس قیمت کے خلاف پہلے پیرامیٹر اس کردار بڑی آنت. اور تو اس طرح کی اس demystifies. اور آپ کو اس کی تعمیر کو دیکھنے کے لئے جا رہے ہیں سوئفٹ نحو میں ایک بہت، تاکہ رکھنے کی ہے تم ہو جب ذہن میں اس پر ایک نظر لے رہے. اب ہم سے دور حاصل کر سکتے ہیں پٹریوں کو تھوڑا سا اور شوز کہ واقعی پسند جانا سوئفٹ کی طاقت کے بھی کچھ زیادہ. یہاں تک کہ آپ کچھ دیکھ سکتا نمونے کے کوڈ میں ان میں سے. میں جا رہا ہوں یہی وجہ ہے کہ آپ کو یہ دکھانے کے لئے. بنیادی طور پر جو ہم کر سکتے پہلی، کہ ہے کے تمام، یہ میرے لئے فالتو کی طرح تھا کی اس طاقت کے تمام لاگو کرنے کے لئے کوڈ آپ ڈارون کی درآمد کیونکہ اگر لائبریری، یہ اصل میں ایک تقریب بھی شامل ہے آپ کے لئے اس کرتا ہے کہ جنگی قیدی سے ملاقات کی. تو ہم اس کو آسان بنانے کے کر سکتے ہیں اور بھی زیادہ اور ابھی ابھی ہمارے اقتدار اپ کی تقریب ہے جہاں ہم نے ایک عجیب ایک لائنر ہو تو صرف اس گمنام تقریب واپس اس کے طور پر ڈالر کی نشانی 0 قبول کرتا ہے اس کے مائپادک کے طور پر بیس اور Y. لیکن ہم، واقعی حاصل کر سکتے ہیں جب ہم واقعی پسند ہیں سوئفٹ ایک ہے کہ احساس ہڈ کے تحت اقتدار سے بہت کچھ. آپریٹرز کے ایک بہت ہے کہ ہم سے دوچار کر دیا گیا ہے علاوہ نشانیاں اور علامات اور ڈویژن ان تمام چیزوں کو کہ آپ عام طور پر ڈیٹا کی اقسام کے ساتھ ساتھ کام ایک پروگرامنگ زبان میں، اصل سوئفٹ میں توسیع کر رہے ہیں. تو کیا ہوا یہ کہ ہم میں کا مطلب ہمارے اپنے آپریٹرز وضاحت کر سکتے ہیں. تو اب میں اس سب میں ٹائپنگ کے تھکے ہوئے ہوں پاؤ اور پھر قوسین اور پھر بنیاد کی. میں ایسا نہیں کرنا چاہتا. میں اصل میں ایک ہے کرنا چاہتے ہیں مجھ کو ایسا کرنے کی اجازت دیتا ہے کہ آپریٹر. تو میں میں چاہتا ہوں کہ سوئفٹ بتا سکتے ہیں ایک آپریٹر، ستارہ پیدا کرنے کے لئے مجھے کیرٹ استعمال نہیں کر سکتے راہ کی طرف star-- کیرٹ ایک آپریٹر ہے اس کی وجہ سے مکمل طور پر کچھ کرتا ہے. تو میں قسم نہیں کرنا چاہتا کے اس کے ساتھ ٹکرانے. اور اس طرح آپ ایک قسم میں دیکھ کر کیا ازگر سمیت زبانوں، کی، ستارہ ستارہ آپریٹر کی طرح ہے exponents کے نمائندگی کرنے کے لئے. تو ہے کہ یہ ہی وجہ ہے کیوں میں کہ کیا ہے. اور یہ ہونے جا رہا ہے ایک infix قسم آپریٹر. اور میں فراہم کرنے کے لئے ہے یہ کچھ معلومات تک اس میں سے مقدم بارے میں آپریٹر تو یہ بائیں ساہچری ہے. یہ نسبتا طرح ہے اعلی مقدم مقابلے summation کے یا ضرب کرنے کے لئے. یہ زیادہ مقدم ہے ان میں سے سب سے زیادہ. تو اور تو آگے. اور پھر میں نے کی وضاحت تقریب کہ اصل اس آپریٹر کرتا ہے، کیا حکم ہے. تو میں نے ایک چھوڑ دیا ہے کہ سنبھالنے ہاتھ کی طرف اور دائیں ہاتھ کی طرف، جس میں ہو گی شاید ایک اس لئے بہتر متغیرہ کا نام. بائیں ہاتھ کی طرف اور دائیں ہاتھ کی طرف. میں نے تو کی اس طاقت کو لے جا سکتے دائیں ہاتھ کی طرف کرنے کے بائیں ہاتھ کی طرف اور یہ کہ قیمت واپس. تو اب یہ سپر پیارا ہے. ہمیں کیا کرنا ہے تمام 2 ستارہ ستارہ ہے 3 اور یہ کہ، تیسرے اقتدار میں 2 اور ہم نے 8 کی قیمت حاصل. 2 ستارہ ستارہ 10 سے 2 ہے 10th اقتدار، ہم 1،024 ملتا ہے. تو اب تقریب کے ہماری طاقت، جس میں ایک بار پھر مختلف ہے، کیونکہ اس کے پیچھے پوری خیال ہم ایک تقریب ہے کہ تھا کہ ہمیشہ کچھ قیمت لیتا ہے اور اسے سے multiplies یا بلکہ اسی طاقت کو مائپادک لیتا ہے. تو اب یہ بھی آسان ہے. تو اب یہ صرف ڈالر ہے 0 ستارہ ستارہ Y پر دستخط. ہم بھی اب پاؤ کو استعمال کرنے کی ضرورت نہیں ہے. اوکے، جو کھو رہا ہے؟ ہم ٹھیک کر رہے ہیں؟ اس چیز پر کوئی سوال؟ جی ہاں؟ سامعین: جب. تم [اشراوی] Y ڈبل کے فنک اقتدار. تو آپ کو ایک تقریب آرہے ہیں جب. DANIEL ARMENDARIZ: Y ڈبل کے فنک اقتدار. اوہ ہاں، مجھے پتہ نہیں ہے Y کیا تعداد ہے. اس کے لئے معاف. شائقین کو کیوں لوٹ رہے ہیں ایک تقریب [اشراوی] دیوار. ڈالر صفر ستارہ نہیں ہے ستارہ Y [اشراوی] اس کے ساتھ اس آپریٹر جائے ڈبل [اشراوی] دگنا واپس آرہے ہیں؟ DANIEL ARMENDARIZ: تو بتائیں مجھے اپنے سوال کا جواب میں نے اسے سمجھتے ہیں اور کیا آپ مجھے بتا سکتے ہیں کس طرح میں نے آپ کا سوال سمجھ نہیں آیا تو. تاکہ اس کی تعمیر، گھوبگھرالی تسمہ ڈالر کا نشان صفر ستارہ ستارہ Y، ایک تقریب ہے. اور یہ ہے کہ ایک پیرامیٹر کو قبول کرتا ہے یہ ڈالر کا نشان صفر طرف سے نمائندگی. واپسی کی مطلوبہ الفاظ کی اس کی دلیل پیش کر رہا ہے بہت مختصر، گمنام تقریب نحو. جو بنیادی طور پر مطلب یہ ہے کہ یہ کیا کہہ رہا ہے میں نے ایک وضاحت کر رہا ہوں یہ ہے کہ تقریب اور پھر میں کروں گا تو صرف یہ کہتے ہیں کچھ میں نے کچھ قدر Y ہے جہاں. میں ڈبل ہے جو، Y ہے. اور میں نے ایک ڈبل واپس آ رہا ہوں. اور میں اس کی واپسی کے اندر اندر ہے افسوس y--، میں نے اس y-- X کہا جاتا ہے نہیں ہونا چاہئے. اوہ عزیز، اوہ عزیز، اوہ عزیز. X-- nope-- ستارہ ستارہ Y. تو یہ صرف ایک ہے اس کا آسان ورژن. اور اس طرح کی وجہ سے میں ڈالر ہے کہ نشانی صفر اس دیوار کا استعمال کرتے ہوئے ہے کہ میں اب کا مطلب ہے کہ کرتے نہیں رہ پاؤ ٹائپ، یا کرنے کی میں نے کچھ کرنا پڑے اس طرح 3 ستارہ ستارہ 2. میں نے صرف ایک ہے کر سکتے ہیں تقریب میں بلایا مربع کہ ہمیشہ کے لے جائے گا ان پٹ کے طور پر کچھ قدر اور اصل میں اس کے مربع واپس. تو بندش کا سارا مقصد ہے صرف طرح کی حقیقت encapsulate کی میں نے ہمیشہ جب بھی Y کا استعمال کرنا چاہتے ہیں کہ مجھے طاقت کے طور پر اس تقریب کو فون اس مائپادک لینے جب. تو، ایک کے بعد واپس لوٹنے قبول کرتا ہے کہ تقریب بنیاد ہے جس میں ایک ڈبل،، اور کہ مائپادک کے نتیجہ کے واپس لوٹنے کے یہاں کی چابی ہے. اور یہ کہ اہم امتیاز ہے. ایک پنپنے کا صرف تھوڑا سا بھی نہیں تھا. یہ کسی بھی مختلف نہیں ہے پیشگی مثالیں کے مقابلے میں، لیکن یہ صرف تھوڑا سا تھا ایک ہم اصل میں کر سکتے پنپنے سوئفٹ میں ایک آپریٹر تخلیق اور اصل میں اس کے ساتھ چیزیں، جس میں ایک ٹھنڈی چیز کی طرح ہے. میں نے آپ کے سوال کا جواب دیا؟ میٹھی. کچھ اور ہم پر منتقل کرنے سے پہلے؟ اوکے. اب اس طرح کی جنم لیتا ہے سوال، that-- اچھی طرح ٹھیک ہے اب ہم صلاحیت کے لئے ہے افعال واپس کرنے کی. ہم بھی ڈیٹا جو افعال منتقل کر سکتی ہیں یا دیگر افعال کے پیرامیٹرز کے طور پر؟ اور حقیقت میں ہم کر سکتے ہیں. تو چلو ہم ہیں کہ کہتے ہیں اسی کے کوڈ کے تمام. ہم مربع متغیر ہے کہ یہ کوڈ مربع گا. اور ہم کیوب متغیر ہے کہ کچھ اعداد و شمار ہیں کیوب گا. اور ہم اصل میں لاگو کرنا چاہتے ہیں اعداد کی ایک وسیع رینج کے لئے. اس طرح ہم نے لالچ میں آ جا سکتا ہے کیا، کورس کے، یقینی طور پر صحیح ہے جس میں، تعداد کے اس فہرست iterate ہے اور میرے افعال چوک اور کیوب درخواست دے اور نتائج کے طور پر دو نئے فہرستوں حاصل مربع اس اصل فہرست ہو اور بالترتیب، cubed ہے. بالکل قابل قبول. لیکن بات کیا ہے کہ ہم یہاں دیکھتے ہیں کہ ہم یہ ہے کہ ایک بار پھر، ہمارے کوڈ کی تخلپی. اور شاید ایک موقع ہے ہمارے لئے یہ تھوڑا سا آسان بنانے کے لئے. کرنے کے لئے ہمارے لئے ایک راستہ نہیں تھا تو کیا اصل میں ہمیشہ کچھ فہرست iterate اور صرف اس جادو کو منتقل ایک متغیر اس تقریب ایک تقریب کی نمائندگی کرتا ہے ہم لاگو کرنا چاہتے ہیں اس فہرست میں ہر ایک شے کو. اس کے تصور کو پیش کرتی ہے کیا اعلی کے حکم کے افعال کو کہا جاتا ہے. اور یہ کہ کیا یہ بنیادی طور پر ہے ، ہے ہم نے ایک تقریب تشکیل دے سکتے ہیں ہے. اور اس صورت میں یہ کہا جاتا ہے ایک Mapper کے، صرف، یہ ایک نام دینا ہر اوور تعریفیں ایک فہرست میں واحد شے. جہاں میں نے ایک فہرست لے اور میں نے ایک تقریب میں لے. اور اس تقریب، کورس کی، ایک مخصوص دستخط ہے. یہ ایک پیرامیٹر ڈبل کے طور پر قبول کرتا ہے اور یہ پیداوار ایک ڈبل ہے گا. اور کے پورے نتیجہ اس تقریب کی جا رہی ہے قسم ڈبل کی ہے کہ نئی فہرست بننا. ٹھیک ہے؟ اور جو میں کرنے جا رہا ہوں اس تقریب چ پر لاگو ہے اپنی فہرست میں ہر عنصر پر. اور reply-- اور بجائے اس نئی واپس آ جائیں بہت ٹھنڈا ہے جس میں اس کے نتیجے میں، کے طور پر فہرست. اب میں نے ارد گرد کے افعال منتقل کر سکتی ہیں. اور اعلی کے حکم کے اس خیال افعال بہت ضروری ہے. اور یہ Mapper کے صرف سچ ہے غریب آدمی کا عمل آوری بنایا گیا ہے کہ ایک تقریب کے سوئفٹ میں نقشہ نامی. اور یہ، خاص طور پر اس سے فرق پڑتا ہے شاید اس سے بھی تھوڑا سا بہتر. یہ، صرف قسم کے ایک عام ہے آسان ورژن ہے کہ ہم سے دیکھنے کی اجازت دیتا یہاں لاگو ہوتا ہے کہ تصور. اب جس طرح کی طرف دیکھو کہ میں نے اصل میں میرے مربع درخواست دے سکتے ہیں اور میری کیوب افعال تعداد کے اس فہرست. میں نے اپنے Mapper کے چلانے. میں نے اس کی تعداد کی فہرست فراہم کرتے ہیں. میں نے اس کے لئے فراہم کرتے ہیں اس تقریب ہو رہا ہے ان لوگوں کے سوچکانکوں میں سے ہر ایک پر لاگو کرنا. اور یہ ہونے جا رہا ہے اس کے نتیجے کے طور پر پیداوار. اور مجھے مربع ہے کہ دیکھنے کو ملے گا اور اس کے نتیجے کے طور پر اپنے اعداد cubed ہے. اور ظاہر کی Mapper کے لے جائے گا گمنام تقریب کی کسی بھی طرح. ہم بھی مجھے پیدا کیا ہے کہ دیکھ سکتے ہیں ایک نیا گمنام تقریب ہے کہ کچھ پیرامیٹر لیتا ہے اور 2 سے تقسیم کرے. اور ہم، میں حقیقت میں، ہے کہ دیکھ سکتے ہیں اس کی بجائے 2 کی طرف سے میری لسٹ تقسیم کیا گیا. ٹھنڈی؟ اب تک تو اچھا ہے؟ ٹھیک ہے، اب چلو واپس اس خیال کے لئے آیا. چلو میں اس کی پیٹھ کو لاگو کرتے ہیں ایک gradebook کے سیاق و سباق. میں ایسا ہے اور اگر ہم میں کر سکتا ہے دیکھ سکتے ہیں ان options-- کی وسیع اقسام کا اطلاق ہوتا ہے یا ان کی وسیع اقسام اعلی کے حکم کے افعال اصل میں ایک ایسا کرنے کی اپنی صلاحیت کو آسان کرنے کے نمبروں کی لسٹ میں شامل چیزوں میں سے مختلف قسم کے. مثال کے طور پر، تو تو میں ، اعداد کی ایک فہرست لے اعلی کے حکم کے افعال میں سے ایک کہ کم کرنے کو کہا جاتا ہے موجود ہے. کیا کم کرنے کی بجائے کرتا نقشہ کے مقابلے میں، کم کر دیا ہے گا فہرست میں دو عناصر لے، کچھ تقریب لے جائے گا کہ کے دو عناصر کا موازنہ فہرست، اور یہ تو ہو جائے گا قسم کے output-- اس تقریب کی پیداوار ایک اور عنصر ہو جائے گا کہ آپ کو تو دوسروں کے لئے آپس میں موازنہ. تو آپ کو اصل کرنے کے لئے اس کا استعمال کر سکتے آپ کی فہرست میں اعداد کا مجموعہ. مثلا، اگر آپ تھا تو 1 میں سے ایک فہرست، 2، 3، 4، 5، آپ پہلے عناصر، 1 اور 2 لے. آپ اسے ایک اضافہ کرنے کی درخواست دے سکتے ہیں ان دو عناصر لیتا ہے کہ تقریب اور ان عناصر میں سے ایک باہر spits، جس میں 3 قدر ہو جائے گا. اس کے بعد ہم اگلے کے ساتھ اس قدر 3 لینے فہرست کا عنصر،، ان دونوں کا خلاصہ اور اس کے بعد فہرست میں نیچے جا رکھنے. ہم کم کر رہے ہیں ایک واحد قدر کی فہرست. اور یہ صرف اتنا ہوتا ہے پلس کی علامت ہے کہ ایک آپریٹر ہم نے ابھی دیکھا، جیسا ہے. یہ آپریٹر ہے اصل میں ایک تقریب اس خاص طور پر اس فہرست ہے کہ ہم ، چاہتے ہیں کہ ان کی خصوصیات کی بجائے ہم چاہتے ہیں کہ. اس لئے میں آپ کی حوصلہ افزائی اس پر ایک نظر ڈالیں. میں نے اس اقدام کا حل کرنا چاہتے ہیں پر اس کوڈ سے کچھ سے ہم اصل میں کچھ نمونے دیکھ سکتے ہیں تاکہ Xcode میں اصل، حقیقی، سچی سوئفٹ، iOS ترقی میں. لیکن میں ایک نظر ڈالیں اس اور اگر آپ کر سکتے ہیں دیکھنے کے کیا ہو رہا ہے سے تجزیہ ان اعلی کے حکم سے کچھ کے ساتھ فلٹر سمیت افعال، کو کم کرنے، اور آپ کو بھی کروں گا یہیں کہیں میں نظر کے طور پر ساتھ ساتھ نقشہ. یہ یہاں ہے. جہاں یہ ایک ہی تسلسل میں لے جائے گا گریڈ کی اور یہ اصل میں کریں گے سوئچ کی تعمیر استعمال کرتے ہوئے ان کا نقشہ، آپ C سے تسلیم کرسکتا ہے جس میں، لیکن اصل میں یہ ایک بہت زیادہ ہے سوئچ کی تعمیر سے زیادہ طاقتور ہم سی میں ہے کہ اور ہم کو کہ لاگو کر دیں گے فہرست میں ہر عنصر اور اصل میں فراہم ہر ایک کے خط گریڈ ان تمام تصورات کو استعمال کرنے والوں گریڈ کے کہ اگر ہم صرف اس سے پہلے کے بارے میں بات کی ہے. اب ہم صرف ایک کے لئے sidestep کے دو منٹ اور structs کے بارے میں بات کرتے ہیں. اور اس طرح structs کے سی میں ایک انتظار کر رہے ہیں کہ جب ہم ڈیٹا کی ایک نئی قسم کی وضاحت کرنے کے قابل تھے. structs کے سوئفٹ کے اندر اندر موجود. اور اس طرح دوسرے تشکیل کے ایک بہت کچھ کہا جاتا enums اور کلاس، کہ واقعی ایک کو اس خیال کو لے مکمل مختلف سطح. اور بنیادی طور پر یہ صرف ایک طریقہ ہے کے اعداد و شمار کی ایک نئی قسم کی وضاحت کی. لہذا آپ کو آتے ہیں تو آپ get-- اگر کلاس یا structs کے یا enums بھر میں، اس کی طرف سے الجھن میں نہ ہو. اس کی وضاحت کی صرف یہی ایک راستہ ہے ڈیٹا کی کچھ نئی خاص قسم. اور اس وقت جب بہت ضروری ہے ہم iOS اپلی کیشن ترقی کے بارے میں بات کر رہے ہیں سب کچھ ہے کہ اس کی وجہ iOS اپلی کیشن کے اندر موجود ہے بنیادی طور پر کسی قسم کی ایک چیز ہے. اور کسی چیز بنیادی طور پر ایک ہے کلاس یا ایک ENUM یا ایک struct. میں ہوں تو اس صورت میں ڈیٹا کی ایک نئی قسم کی وضاحت کی مجھے اندازہ لگانے کو بلا رہا ہوں کہ سمیت، کچھ خصوصیات کی ہے ایک کا نام اور گریڈ کے ایک ہی تسلسل. تشخیص کا تو ایک قسم میرے ذہن میں ہو سکتا ہے کہ مثال کے طور پر quizzes ہے، ہو جائے گا. میں نے ایک تعلق ہے چاہتے ایک کوئز تھا کہ اسسمنٹ اور یہ کہ گریڈ کی ایک قسم تھی کوئز ایک کے لئے، اس کے ساتھ منسلک، کوئز دو، تو اور تو آگے. یا میں ایک مختلف قسم کے لئے ہو سکتا ہے مسئلہ سیٹ کے لئے تشخیص کے. اور میں باتیں کر سکتے ہیں. میں اصل میں ہو سکتا ہے اس قسم کے اندر اندر کام کرتا اب کہا طریقے ہیں جو اعداد و شمار، کے. کیا آپ نے کبھی دیکھ تو لفظ کے طریقہ کار، یہ واقعی لاگو ہوتا ہے کہ ایک تقریب صرف ہے ایک بہت ہی مخصوص طبقے پر، یا ڈیٹا کی ایک بہت ہی خاص قسم سے. اس کے اندر اندر ڈیٹا پر نظر ثانی کرنے کی اجازت دیتا ہے. تو دوسرے الفاظ میں، میں کرنا چاہتے ہیں میرا اندازہ لگانے کے لئے ایک گریڈ کا اضافہ، تو میں کیا کرنے کی ضرورت کے لئے ہے ان پٹ کا تھا کہ سکور ملائیں کرنے کے لئے اس تقریب کے لئے اپنے اندرونی جائیداد. یہاں ایک اور صاف تعمیر نہیں ہے اس نقطہ کو ڈاٹ ڈاٹ ہے جو سوئفٹ، میں اسکورز کر سکتے ہیں جس کا مطلب ہے آپریٹر، اب integers کے کسی بھی تعداد کو قبول. اور سکور ایک ہو جائے گا integers کے سرنی کہ میری تقریب، کے لئے منظور کیا گیا ہے جس کے میں نے اس طرح چیزیں کر سکتے ہیں کا مطلب ہے کہ. میں نے گریڈ اضافہ اور صرف فراہم کر سکتے ہیں اس میں integers کے صوابدیدی اعداد اور اصل میں ایک سرنی فراہم کی جائے میری تقریب میں ان اقدار کی یا میری طریقہ کار میں، کے طور پر معاملہ ہے. اب اس وجہ سے اہم ہے Xcode میں سب کچھ، iOS میں سب کچھ، کسی چیز کو حقیقت میں ہے. تاکہ ذہن میں رکھنے ہم کھلے Xcode کے ٹوٹ جب اور iOS سے آگے آگے پر ورژن دو اور تین اور اصل ورژن سے چار پر جانا. اور پھر، اس کی پوری مرضی سیمینار کے صفحے پر پوسٹ کیا جائے. iOS کے چار پھونکا ایک مکمل کی طرح ہے ایک بہت ہی بنیادی اے پی پی کے نفاذ. اور کیا اس ایپ کرتا ہے یہ ہے اس طرح لگ رہا ہے جس کی وجہ UI، لوڈ کرتا ہے. ہم اسٹوری بورڈ پر کلک کریں تو ایک بار پھر، ہم کر سکتے ہیں یہ اس کی طرح لگتا ہے کہ دیکھتے ہیں. یہ UI ہے. یہ سب سے اوپر پر ایک عنوان ہے. میں نے ویب گیلری، نگارخانہ اسے بلایا ہے. وسط میں ایک عنصر نہیں ہے UI کی تصویر دیکھنے بلایا. اور نیچے دیے گئے وہاں ایک ایک بٹن کے ساتھ ٹول بار ہے کہ کرنے کے لئے جو اس کی اجازت لچکیلا خالی جگہ ہے اس ٹول بار کے وسط میں مرکز. اور کیا ہوتا کہ جب یہ ہے بوجھ یہ ہے کہ ایک JSON فائل ڈاؤن لوڈ دوسری جگہوں پر ایک سرور پر موجود، ، کہ JSON فائل یہ parses اور JSON فائل اس طرح تھوڑا سا لگتا ہے. JSON فائل اس طرح لگ رہا. وہاں ہے. یہ ایک البم نام ہے اور یہ تصاویر کی ایک سرنی ہے. ان تصاویر میں سے ہر ایک ایک نام ہے اور یہ بھی نمائندگی کرتے ہیں کہ ایک یو آر ایل کو خود کہ انفرادی تصویر کے JPEG ورژن. ایسا کیا ہے، جب اس پروگرام جو کہ بوجھ، یہ JSON فائل ڈاؤن لوڈ، ، اسے یہ parses میں اس کا سب کہتے ہیں iOS میں ایک صف کے برابر ایک nsarray ہے جس میں اے پی پی کی ترقی،. اور پھر میں نے اس کے بعد لوڈ کر سکتے ہیں ایک درخواست میں یہ اعداد و شمار اور میرے سکرین پر لوڈ. لوڈ کیا گیا تھا کہ ایک تصویر ہے بہت نیچے دیے گئے بٹن کے ساتھ. میں نے اگلی تصویر، یہ تو جاؤ کلک کریں تو انٹرنیٹ سے کہ تصویر ھیںچتی اور یہ کہ تصویر کی جگہ لے لیتا ہے UI تصویر کی نظر میں. تو اگر آپ اصل میں اس کو ڈاؤن لوڈ کر سکتے ہیں اور آپ کے کمپیوٹر پر میں ایک نظر ڈالیں. اور اصل میں اس کی تعمیر اور آپ کے آلے پر یہ تالیف. لیکن بنیادی طور پر عمل تھا اس، storyboard-- تخلیق یا بلکہ تخلیق نہیں لیکن اسٹوری بورڈ کا انتخاب کریں. آپ mind-- نہیں ہے تو اور اصل we'll-- ہم سیکنڈ کے صرف ایک جوڑے لے لیں گے اصل میں آپ کو دکھانے کے لئے اس نے کیا تھا کہ کس طرح. صرف کس طرح ہم اصل میں کر سکتے ہیں تاکہ حصول اس بنا ہے تھوڑا سا زیادہ ظاہر. ایک نقطہ نظر کی درخواست، میں ہوں اس سیمینار کو فون کرنے جا چار نمائندگی کرنے والی خاص تعداد. ڈیسک ٹاپ پر اس کو بچانے کے. اوکے، اسٹوری بورڈ پر کلک کرنے کے لئے جا رہا. اور جو میں کرنے جا رہا ہوں میرے تصویری نقطہ نظر کی تلاش کے لئے ہے، اپنے صارف پر گھسیٹ انٹرفیس اور مرکز. اب صرف بدقسمتی سے یہ بمرکز ایک پوری بہت کچھ کرنے نہیں جا رہا ہے، ایک سکرین کے لئے چھوڑ کر کہ یہ عین مطابق سائز ہے. تو اگر ہم نے اس میں سے خود کو قائل کر سکتے ہیں اس ڈبل دائرے چیز پر کلک کرنے، اس پاپ نیچے لانے یہاں مینو اور تبدیل کرنے کے لئے سائن اپ جہاں ہم اصل میں کروں گا، پریویو کرنے کے لئے کا جائزہ کس طرح کا موقع ملے یہ اصل میں کریں گے دوسرے آلات پر نظر آتے ہیں. ہم دیکھ سکتے ہیں، ہم بھی ایسا نہیں کرتے اس خاص معاملے پر دیکھ. اس لئے میں اب کے لئے اس کو بند کرنے جا رہا ہوں. اور میں منتخب کرنے کے لئے جا رہا ہوں بہت اوپر نیچے یہ آئکن اسکرین کے نچلے حصے حصہ. یہ آٹو لے آؤٹ مسائل حل کہتے ہیں. معذرت، اس کے نیچے دیے گئے منقطع ہے. لیکن میں نے اس پر کلک کریں تو، کیا میں اس پاپ چلے جاؤ up-- جاتا ہے حاصل. کیا میں ملتا ہے اس پاپ اپ ہے کہ مجھے یاد رکاوٹوں کو شامل کرنے کی اجازت دیتا ہے. اور کی طرف سے یہ کہ کر پھر ایک لحاظ سے اس مقفل کر دے گی کے مرکز حصہ میں میں نے جیسے سکرین کی توقع کر سکتے ہیں. اب کے لئے اس بٹن پر حاصل کرنے کے لئے اس کے اوپر، میں نے ایڈیٹر کو جانے کی ضرورت ہے. سرایت کریں اور کلک کرنے کے لئے جانا نیویگیشن کنٹرولر. وہ کروں گا کہ شامل کرے گا اس پر اس پورے دیگر اتحادی، لیکن یہ اصل میں منسلک ہو جائے گا اسے واپس اپنے اصل UI کرنے. اور تفصیلات کے، ایک بار پھر، ہم ایسا نہیں کرتے سچ میں ابھی بارے میں دیکھ بھال کرنے کی ضرورت ہے. لیکن میں ایک ہے کرنا چاہتے ہیں میں بہت نیچے ٹول بار. لہذا میں شوز کی ٹول بار جانچ پڑتال کریں گے. اور یہ، میرے خیال کے اندر اندر فراہم کرتا ہے جو اب کہیں اور ہے، ہم اس کو یہاں پر منسلک ہے دیکھ سکتے ہیں. اب یہ ایک ٹول بار فراہم کرتا ہے میرے UI کے نچلے حصے میں. تو اب، منتخب کرنے کے بجائے ایک تصویر کے نقطہ نظر، میں، ایک لیبل حاصل کر سکتے ہیں بلکہ یا toolbar-- چلو کہ جہاں ہے، دیکھتے ہیں؟ اس سے کیا کہا جاتا ہے؟ ایک button-- شے bar-- item-- sorry-- بار بٹن شے. کہ وہاں Plop میں اور ایک جوڑے کا اطلاق ہوتا ہے دونوں طرف کے لچکدار خالی جگہوں کو اصل میں اس مرکز کے لئے. تو اب میں بنیادی طور پر، اپنے UI تشکیل دے دیا ہے. اور میں نے اسے ایک نام دے سکتے ہیں سب سے اوپر پر ڈبل کلک یہاں اور اسی طرح کی ویب گیلری، نگارخانہ اور کہہ رہے ہیں. اب ایک بار پھر، یہ عناصر ہیں خود کی طرف سے اس کا کوئی وجود. اور میں رابطہ قائم کرنے کے لئے ہے میرا کوڈ کے لئے ان کو جس میں میں نے پھر سے لا کر کیا کر سکتے ہیں اس ڈبل دائرے اپ کا آئکن، پیش منظر سے بدلتے ہوئے. جس راہ کی طرف، اب ہم ہے دیکھ سکتے ہیں اچھی طرح مرکوز اور اچھے لگ رہے ہو گے آلات کی ایک قسم پر. جو کرے گا، خود کار طریقے سے جوڑئیے ViewController کوڈ پرورش کی. اور اب یہ حصہ بہت اہم ہے. آپ ان سے رابطہ قائم کرنے کے لئے آرڈر میں دو عناصر، UI اپنے کوڈ کو، آپ آئٹم کو منتخب کرنے والے آپ سے رابطہ قائم کرنا چاہتے ہیں. تو اس صورت میں، ہم اصل میں ضابطہ کاری کرنا چاہتے ہیں موجود ہے کہ تصویر کو تبدیل اس UI کی تصویر دیکھنے کے اندر اندر. تو آپ کو کنٹرول کرتا ہے کی طرف سے مظاہرہ تصویر کے نقطہ نظر اور ھیںچیں، اگر آپ ایک چھوٹا سا بار ملتا ہے کہ محسوس کریں گے، آپ کو سب کچھ اس پاپ کی جانے جب اپ واقع ہو گا. اور یہ ہم کا کہنا ہے کہ ایک تعلق پیدا. اور یہاں سے میں نے یہ دینا چاہتا ہوں ایک نام، گیلری، نگارخانہ کی طرح کچھ. درج کریں مارا. اور یہ اصل میں فراہم کرتا ہے ایک متغیر کہا جاتا گیلری، نگارخانہ میں نے تو اپنے کوڈ میں حوالہ کر سکتے ہیں کہ مثال کے طور پر، تصویر کو تبدیل کرنے. تو کس طرح کہ کوڈ اصل میں نظر آئے ہے؟ ٹھیک ہے پھر، میں نہیں کرنا چاہتا اس پر بہت زیادہ وقت خرچ. اور میں آپ کی حوصلہ افزائی اسے ڈاؤن لوڈ کریں اور ایک نظر ڈالیں. لیکن سب سے زیادہ میں سے ایک اہم پہلو کوڈ آن ہے کہ اصل میں ایک تصویر پاتا. میں چاہتا ہوں تو اس صورت میں میری تصاویر کے اندر اندر حاصل کرنے کے لئے موجود ہے جس سرنی، میری کلاس کے اندر اندر. مجھے نام اور یو آر ایل کی وضاحت چاہتا ہوں کہ اس JSON سے باہر تصریف گیا ہے. اصل میں حاصل کرنے کے لئے آلہ پوچھیں یو آر ایل،، اس سے URL بازیافت کرنے اور اس کے بعد سے ڈیٹا کی بازیافت اس یو آر ایل کے مندرجات. اس کے بعد ایک تصویر میں کہ ڈیٹا میں تبدیل UI تصویر میں گزرنے کی طرف سے. تو ایک بار پھر، ان تمام مختلف اقسام ہیں اشیاء، کلاسوں کی مختلف اقسام کی. اور پھر میں نے اس وقت مقرر کر سکتے ہیں میرے کہ اعداد و شمار کے برابر gallery.image. اور یہ کہ گوشت کی طرح ہے اس کا ہے کہ اصل میں تو ہے اعداد و شمار کے from-- تبدیلی تبدیل کرنے کے قابل اگلے ایک سے تصویر. تو ایک بار پھر، امید ہے کہ اب تشکیل کی بہت تھوڑا سا زیادہ احساس کرے گا. وہاں کچھ ہے کہ نوٹس یہاں فجائیہ پوائنٹس. فجائیہ پوائنٹس ہیں بنیادی طور optionals سے متعلق. میں بنیادی طور پر کہہ رہا ہوں ہے کہ بھی جانچ پڑتال کے بغیر اعداد و شمار نہیں ہے تو دیکھنے کے لئے اس اختیاری کے اندر اندر، میں آگے بڑھیں اور فرض جا رہا ہوں کہ وہاں ہے اور یہ تحائف کھول. ہم سے قیاس ہے کہ یہ optionals لئے ایک پیکیج کی طرح اور ہم unwrap کرنے کی ضرورت ہے پیکج کے اعداد و شمار سے نکالنے اور. فجائیہ نقطہ دراصل ہو کہ افواج. لیکن میں یہ ہے کہ پتہ محفوظ میں نے چیک کیا ہے کیونکہ تصویری ڈیٹا برابر ہے تو دیکھنے کے لئے صفر کرنے کے لئے، میں نے اصل میں چیک کر لیا ہے کہ اختیاری تو دیکھنا تھا، حقیقت میں، میں ناکام رہے. کہ تھا تو، حقیقت میں، پہلے ہی ناکام. اور اس طرح میں نے اس کو ایک بار یقین ہے کہ نقطہ میں محفوظ طریقے سے کہ اعداد و شمار تحائف کھول سکتے ہیں. آپ یہ بھی میں اسے دیکھ سکتا ہے ایک سوال کے نشان کی شکل. ہم کہاں ذیل میں سکرال تو اگر میں نے اصل میں ڈیٹا کا تجزیہ کرنے کی ضرورت ہے. So کی طرف سے بند کر دیا جائے نہیں ہے طویل ناموں کا ان. آپ کو ایپل میں تلاش کر سکتے ہیں ڈویلپر کی ویب سائٹ ایک بہت کے تمام کے حوالے دیئے اشیاء اور عمل کے تمام اصل میں یہ ممکن بناتے ہیں کہ. لیکن یہ بنیادی طور پر ہے کہ متعلقہ میں نے اسے کچھ ڈیٹا منتقل جہاں ایک تقریب. اور میں ڈیٹا کو کسی قسم کا واپس مل جائے. اور میں مطلوبہ الفاظ کے طور پر اس کا استعمال کرنے کی ضرورت ہے اس nsdictionary میں تبدیل؟ جس میں ایک، پھر ہے اختیاری nsdictionary. میں نے تو کی ضرورت ہے جس یہ موجود ہے تو دیکھنے کے لئے چیک کریں. دو اگر تو میں اس کے استعمال کر سکتے ہیں کامیاب برابر، تصریف پھر میں کہ اختیاری جانتے ہیں کہ اصل میں کچھ اعداد و شمار پر مشتمل ہے. یا کیا میں یہاں کیا کرنا تھا صرف یہ ہے کہ وہاں اگر فرض یہ حقیقت میں محفوظ ہے کہ کوئی غلطیاں تھیں. ٹھیک ہے، میں شکریہ ادا کرنا چاہتا آپ سب کو آنے کے لیے بہت بہت شکریہ. میں نے یہ ایک بہت تھا معلوم، لیکن یہ صرف ایک گھنٹے کا تھا کچھ کے بارے میں بات کرنے کے بہت اعلی درجے کی چیزیں. اور امید ہے کہ آپ کو ایک حاصل کریں گے موقع کے کوڈ کے تمام لوڈ، اتارنا کرنے اور ایک بہتر، زیادہ لے اس پر مکمل نظر. ترتیب دیں میں سے سب سے اپنے آپ کو قائل سامان میں سے ہو رہا ہے کہ. اور میں آپ کا شکریہ ادا کرنا چاہتا ہوں تمام، ایک بار پھر، آنے کے لئے. آپ کی آخری منصوبوں کے ساتھ اور اچھی قسمت. ایک عظیم دن ہے.