RHED SHI: به انجمن خوش آمدید دیدن سمینار CS50 - مقدمه به IOS. با تشکر از همه شما برای آینده. من امیدوارم که شما به همان اندازه هیجان زده هستیم که من در مورد در iOS است. سال گذشته، I CS50 به عنوان یک دانشجوی سال دوم در زمان، و من اساسا در iOS برای آموخته من پروژه نهایی. و این بسیار بود - خوب، آن را آسان نبود، اما وجود دارد تعداد زیادی از آموزش پشتیبانی آنلاین. و من واقعا امیدوارم که با این سمینار، من به شما بچه ها سر را شروع در توسعه های iOS بنابراین، از نظر توسعه IOS، دو چیز اصلی ما وجود دارد می خواهید برای پوشش امروز. اول، به زبان - زبان در حال رفتن به در است هدف-C. ما در واقع خواهید شنید چیزی واقعا هیجان انگیز است. بنابراین، شما می توانید تمامی اپل بپیوندید جامعه از توسعه دهندگان و ساخت برخی از برنامه ها واقعا عالی است. همچنین، در iOS 7 زیبا است، امیدوارم، به برخی از شما. اما بحث برانگیز است، من می دانم. و به طور عمده، آنچه من می خواهم به انجام راهنمای است شما را از طریق هدف-C، و همچنین Xcode متعلق است، که یکپارچه محیط توسعه است که شما خواهید بود کار در برای IOS. و به این ترتیب، فقط یک کلمه در هدف-C. در واقع، آن را به یکسان به عنوان C، اما با بسیاری از چیزهای دیگر. و به این ترتیب، به شدت بیشتر، از آن در واقع یک فوق العاده مجموعه ای از C. بنابراین هر چیزی که شما می تواند در حال حاضر در C انجام شده است که در واقع شبیه به pset 0 تا 6، از شما می تواند در هدف-C انجام دهد. بنابراین، احساس مورد این جدید نمی ترسم زبانی که شما به یاد بگیرند. شما در حال حاضر تحت پوشش مقدار زیادی از آن، چرا که شما تمام انجام داده ام C این گذشته ترم، جز در حال حاضر شما در حال رفتن به بسیار بیشتری برای کار با. و من فقط می خواهم به شما منجر شود از طریق یک چند مثال به برخی از تفاوت های کلیدی که من پیدا شد زمانی که واقعا مهم است من یاد گرفتم هدف-C در سال گذشته. خوب در واقع، پس، نقطه دیگر است، هدف-C است، بدیهی است، شی گرا. و ما رو تو کمی بحث در مورد آنچه که به معنی بعد. در واقع، آن را مانند که چگونه با شما کار کرده است struct ها در این pset گذشته، با گره ها و مشابه دیگر چیزهایی مانند آن. به جز، در هدف-C، همه چیز است یک شی، و شما در حال رفتن به عبور از اطراف اشاره گرها به اشیاء به جای ارزش های خود. بنابراین، آن را فقط به چیزی مهم به خاطر داشته باشید. بنابراین، چرا ما نه با چند شروع تفاوت در نحو بین C و هدف-C؟ من می خواهم به برجسته # شامل، شما می دانید، io.h استاندارد در C و C + +، با نسخه هدف-C از آن، که # واردات، و پس از آن نوعی است فایل هدر. در این مورد، این امر می تواند UIKit، شما می دانید، بریده بریده UIKit.h. این نیز می تواند، می دانید، MKMapview به شما بریده بریده MKMapview.h اگر شما می خواهید برای انجام این کار، مانند، یک نقشه در داخل برنامه شما. چیزهای مشابه مانند آن. بنابراین، نکته مهم این است عبارتند از در حال حاضر تغییر به واردات. اما این ایده هنوز هم باقی مانده است. شما قصد دارید به واردات نوعی از فایل هدر به برنامه شما. من همچنین می خواهم به برجسته کردن تفاوت بین printf و NSLog. با این حال، همانطور که ما قبلا هم گفتم، هدف-C فوق العاده مجموعه محدودی از است C، که بدان معنی است که چون printf وجود دارد در هدف-C، بیش از حد. اما، اکثر مردم در استفاده از آن نیست. بیشتر مردم استفاده از این NSLog به خاطر آن به شما می دهد مهر و موم کردن زمان، و خواهیم دید آن را در عمل بعد. اما، به طور کلی بیشتر مفید راه برای چاپ متغیر. و من همچنین می خواهم به برجسته که NSLog طول می کشد فقط در همان ارزش حفره یا سوراخ به عنوان چون printf می کند - تا٪ D است یک int، ٪ f است برای یک شناور. با این حال، من نمی خواهم به برجسته این آخرین - ٪ NSLog در علامت - که یک حفره یا سوراخ برای یک شی است. و همانطور که گفتم قبل از آن، معاملات هدف-C تقریبا بیشتر در اشیاء، و بنابراین این کار در استفاده از آمد که شما می خواهم به نسخه قابل چاپ کردن، شاید، شاید NSArray، و یا NSDictionary، و یا NSString. بنابراین، نیز، توجه کنید که، در NSLog ما بیانیه، ما باید در علامت در مقابل از نقل قول - که به معنی است که رشته ها، در حال حاضر، در هدف-C اشیاء می باشد. آنها دیگر ستاره به سادگی کاراکتر می باشد. آنها اشیاء هستیم و به این ترتیب درمان می شود. بنابراین، واقعا مهم است که هنگامی که شما با استفاده از NSLog آن را در NS طول می کشد رشته، که بدان معنی است که شما باید شامل در در مقابل شما علامت نقل قول. و به همین دلیل شما می بینید، در اینجا، در تمام عملکرد من را به این NSLog، I یک در در مقابل از نقل قول ها، حتی هر چند٪ D و٪ F هستند همه از همان C. هر گونه سؤال تا کنون؟ من سعی کنید از این به سرعت پس برو که ما می توانیم زمان بیشتری برای کار دارند با Xcode و هدف-C، پس است که شما می توانید بیشتر آشنایی با آن. بعد، من می خواهم به برجسته کردن چیزی مفهومی مهم است. بنابراین، در C، ترین چیز توابع می باشد. ما را به یک فراخوانی تابع است. ما اعلام توابع این ترتیب، با بازگشت از نوع اول، و سپس نام تابع، پرانتز، و پس از آن هر استدلال و نوع این بحث ما می خواهیم به تصویب شوید و هدف-C، چون همه چیز یک شیء یا کلاس است - بنابراین کلاس و شی دو دوره است که اغلب مترادف با یکدیگر، بنابراین من ممکن است آنها را به جای یکدیگر استفاده در طول سمینار. اما، شما خواهید دید که ما باید روش در توابع هدف-C به جای. و روش متعلق به اشیاء. پس فقط به عنوان، شاید را به عنوان مثال، گره - نوع ما [نامفهوم] گره از pset 6 یا 5 - ما باید از کلمه، اموال، و یا اشاره گر به گره بعدی. مواد و روش ها به سادگی توابع داخل از نوعی از ساختار. بنابراین، در این مورد، ساختار خواهد بود جسم، و پس از آن روش است چیزی است که متعلق به یک شی. و این است که چگونه شما را اعلام، نوع، روش. شما می توانید با، باز، بازگشت شروع نوع - بنابراین، من به رنگ سعی کد کلمات کلیدی در اینجا به طوری که شما بچه ها می توانید، حداقل، قالب بندی ببینید شباهت بین عملکرد بیانیه ها و اعلامیه ها روش. بنابراین، شما با شروع، شما می دانید، بازگشت نوع - در این مورد، یک آرایه، و یا اشاره گر NSArray - و پس از آن شما باید از این روش. و پس از آن، چه جالب اینجا است که به جای داشتن پرانتز، ما که این دونقطه. و پس از آن، در مقابل استدلال های ما، ما قرار داده، دوباره، در پرانتز نوع بحث ما. بنابراین، در حال حاضر من در تلاش برای ایجاد مقایسه، شما می دانید، N و تعداد، زیرا آنها هر دو مانند نوع داده int. و پس از آن، یکی دیگر نوع NSUInteger است. و سپس، با هدف-C، هنگامی که شما می خواهم به استدلال های متعدد در بند خود را از روش، شما، نوع، آنها را جدا از نوع شبیه به این - من کاملا مطمئن هستم که چگونه به توصیف آن نیست، اما این یک مثال خوب از نحوه شما است می تواند استدلال چند در وجود دارد. شما می توانید، البته، تنها کاملا چشم پوشی از روده بزرگ andArray NSArray آرایه اگر شما می خواهید فقط یک روش که در یک آرگومان می گیرد. بله، سوال. یک مدعو: آیا هر دو NSUInteger و استدلال NSArray است که می تواند در گرفته در NSArray؟ RHED SHI: بله. بنابراین، اجازه بدهید توضیح دهم. بنابراین، بله. NSUInteger هستند بنابراین، این پرسش بود و NSArray * نوع استدلال، و این درست است. بنابراین، شما همیشه می خواهید مشخص کنید که چه نوع استدلال خود را است. و در اینجا، من در تلاش برای شما معرفی به برخی از نحو و vocab از هدف-C، بنابراین کسانی که به انواع واقعی که شما خرید و فروش با. و همانطور که می بینید، آرایه ها دیگر، نوع، همه چیز براکت ساده است. آنها اشیاء است. اگر چه، اگر ما به آینده اسلاید، ما می توانید ببینید که ما می توانیم سخت کد NSArray در هدف-C با به سادگی یک نماد در در مقابل براکت. من در واقع، کاملا مطمئن شوید که آیا نیستم، I نحوی سخت رمزی یک آرایه به درستی برای نسخه C، اما این قرار است در یک آرایه C باشد. بنابراین، این است که چگونه شما می توانید، شما می دانید، شاید استفاده از توابع و یا روش هایی که ما قبلا ایجاد شده است. درست است؟ بنابراین، این جایی است که ما اعلام ما عملکرد و روش ما. و اکنون ما می خواهیم برای استفاده از آنها در برنامه های ما، و این است چگونه ما آن را انجام دهد. بنابراین، در C، شما می توانید، شما می دانید، شاید، یک بولی ب، و شما آن را به برابر با تابع، و پس از آن شما را در استدلال منتقل می کند. در هدف-C، آن را بسیار به همان چیزی. شما باید NSArray * آرایه ای، و آن را رفتن به برابر - در حال حاضر، تنها تفاوت در اینجا این چیز شی است، که من به رنگ زرد برجسته کرده ام، و همانطور که می بینید، در C، وجود دارد هیچ کلمه ای به رنگ زرد است. و این به دلیل روش تعلق با یک شیء خاص. بنابراین به همین دلیل من نیاز به یک شی که، نوع، خواستار این روش در عدد صفر، و پس از آن NSArray A، B، C، D. هر گونه سؤال در آن؟ ما این مفاهیم را در عمل ببینید خیلی زود هنگامی که ما را به یک نسخه ی نمایشی بروید. OK. در حال حاضر، من می خواهم به بحث کمی به طور خلاصه در مورد Xcode متعلق به 5 است، که محیط توسعه مجتمع که به شما امکان کار با. من می دانم که بسیاری از شما، و یا برخی از شما، انجام مکینتاش است، که یک مشکل را ندارد به دلیل Xcode متعلق دسترس نیست برای ویندوز و PC. آیا از من بپرسید چرا، اما احتمالا - بله، شرکت های بزرگ. هر چه. اما به هر حال، پس، من عذر خواهی اگر برخی از شما باید برای دانلود از نوعی ماشین مجازی برای مک در به منظور اجرای Xcode متعلق به 5. اما این بسیار خوب بسیار است نرم افزار استفاده کنید. و به این ترتیب، قبل از ما به هر نوع شیرجه رفتن از نسخه ی نمایشی، من فقط می خواهم به شما نشان می دهد تصویری از آنچه Xcode متعلق به نظر می رسد در خود پنجره، و پس از آن نیز در مورد صحبت آنچه در این فضای کل است. بنابراین، این نوع مانند یادگیری چگونه به استفاده از مایکروسافت ورد، به جز که شما می خواهید با همه آشنا چیزهای مختلفی که می خواهید در اینجا. بنابراین برای اولین بار، من می خواهم به شما اشاره به نوار ابزار در بالای صفحه. شما خواهید دید که، در بالا، شما نام فایل باید - و یا، در واقع، نام پروژه خود را و پس از آن نام فایل خود را. توجه داشته باشید از بازی ها و دکمه های توقف. کسانی هستند که به شما امکان می با استفاده از برای اجرای برنامه خود را در شبیه ساز - شبیه ساز IOS. این به طور خودکار می آید با Xcode 5، بنابراین شما لازم نیست که به نگرانی در مورد دانلود نوعی شبیه ساز. شما فقط بازی را فشار دهید و سپس آن را برنامه خود را اجرا می کند. و شما می توانید در اطراف با شما بازی کنند، و شما خواهید دید که چگونه کار می کند بعد. و سپس، در مرکز، البته، که در آن تمام کد زیبا شما است رفتن به. و سپس، در سمت چپ، شما این، نوع، پوشه - ناوبری - و پس از آن، شما همچنین خواهید دید که، همراه با آیکون پوشه هستند، وجود دارد دسته ای از آیکون های دیگری وجود دارد که بعد از آن مفید باشد. و سپس، در سمت راست یک ابزار است منطقه که در آن شما می توانید با کار برخی از اشیاء و تعیین می کنی، می دانم، چه رنگی باید باشد، چه فونت متن باید باشد، و غیره. اگر چه، هر آنچه را که شما انجام دهید در منطقه ابزار، شما می توانید انجام این کار در کد نیز هست. و به این ترتیب، من رفتن را از طریق دو نمونه هایی از استفاده، به سادگی، بدون کد در همه - و یا بسیار کم کد - آیات همه کد، فقط به طوری که شما بچه ها می دانم آنچه را شما می توانید و نمی تواند در انجام Xcode متعلق و هدف-C. و سپس، در نهایت، پایین پایین، شما باید منطقه اشکال زدایی. بنابراین، شما دیگر لازم نیست برای اجرای GDB، و غیره، در برنامه های خود. این به طور خودکار آن را برای شما. و شما همچنین می توانید نسخه قابل چاپ چیزهای به این منطقه است. پس در واقع، بعد از آن، ما را از طریق رفتن mario.c، اگر شما بچه ها هنوز هم به یاد داشته باشید که، در Xcode متعلق به. به طوری که باید سرگرم کننده باشد. و پس از آن، فقط به آن را به هدف-C، من می خواهم به برجسته چه شما می توانید با اگر اظهارات انجام دهد. بنابراین، شما می دانید، به دلیل هدف-C است superset از C، همه چیز شما انجام شده است، به معنای واقعی کلمه، همان C. شما فقط دارای تفاوت های جزئی. بنابراین، شما به شکل یک اگر متوجه بیانیه ای است که هنوز هم همان - شما اگر، و سپس شما باید پرانتز با شرایط در داخل از آن و پس از آن آکولاد برای هر آنچه که شما می خواهم به داخل وجود دارد را انجام دهد. با این حال، من می خواستم برای قرار دادن این اسلاید کردن در اینجا، به سادگی به نشان می دهد که، چرا که ما در حال برخورد با اشیاء در حال حاضر، ما مجبور به استفاده از این چیزها نام مانند، به رشته برابر است، که است، تصادفا، یک روش رشته یا یک شی NSString. بنابراین، کلمه، در این مورد، NSString است شی، و آن را به یک روش به نام است به رشته برابر، و پس از آن ما در حال عبور در یک رشته سخت رمزی برای دیدن آیا کسانی که با هم برابر هستند به یکدیگر است. هر گونه سؤال تا کنون؟ OK. و من می خواهم برای بیش از برای بیانیه همچنین. بنابراین، برای مثال، به حلقه اگر ما می خواستیم در طول یک رشته در C، در این باید برای شما آشنا باشد. و، در هدف-C، من نمی خواهم به برجسته این، نوع، روش به نام شمارش. خوب، در واقع، به من اجازه درست است که بازگشت کنند. تعداد استفاده از روش آرایه است. با این حال، آن را بیشتر به طور خاص اموال از آرایه، همین دلیل است که شما می تواند نماد نقطه استفاده کنید. اما من نمی خواهم به بیش از حد از دریافت این مسائل مفهومی، من فقط می خواهم به شما نشان دهد که چگونه همه چیز را نگاه مانند هدف-C در مقابل C. و همچنین، من نمی خواهم به اشاره است که حتی اگر من با استفاده از NSUInteger در مقابل از همه من من در هدف-C، شما همچنین می توانید از int استفاده، به دلیل هوشمند است کاملا در هدف-C معتبر، نیز می باشد. بله؟ یک مدعو: آیا آن را فقط سبک، و یا - RHED SHI: آره. بنابراین، همانطور که شما خواهید دید - بنابراین، سوال این است که فقط یک مسئله سبک. همانطور که خواهید دید، من یک، نوع، ستاره چیزی که ستاره را در پایین و این لینک شما را به سرریز پشته را تشکیل می دهند، که در آن کسی توضیح می دهد تفاوت بین یک int در NSInteger و NSUInteger. و به این ترتیب، شما می توانید در مورد که بعدا به عنوان خوانده شده. این اسلاید خواهد بود، البته، در دسترس شما. اجازه دهید را ببینید. OK، بسیار جذاب است. بنابراین، این نیز در اسلاید شامل چرا که من فکر کردم این عالی بود وب سایت که به شما معرفی به نحو هدف-C. بنابراین، در واقع، چرا ما را به حرکت کروم و بررسی از این وب سایت؟ راست. بنابراین، آنچه من می خواهم به شما نشان دهد بچه ها اینجا این تصویر است. بنابراین، این است که، نوع، برای رفتن به چه شما در حال رفتن به داخل هر گونه ببینید فایل Xcode متعلق به. در واقع، چرا ما نه فقط لحظه به، نوع، این را شوید بنابراین، این کتاب را - که هدف این است که ما در حال برخورد با. و سپس، آن را به وضوح می شود از برخی از شیء دیگر به ارث برده، اما شما لازم نیست که در مورد آن نگران باشید. و پس از آن، آن، شاید، است برخی از متغیرهای عضو. چیزی که مهم است من می خواهم به شما نشان دهد روش به عنوان مثال، در اینجا است. بنابراین، روش نمونه مشخص می شوند این علامت منفی. و پس از آن، به عنوان شما متوجه، ما هستیم در حال حاضر شروع به دیدن نمونه برای روش اعلام، درست است؟ نوع بازگشت، نام روش، و پس از آن نوع استدلال، و پس از آن به نام استدلال. و این علامت منفی به این معنی است که این روش به عنوان مثال، به این معنی که این روش ها تنها به در دسترس هستند اشیاء که نمونه شده است. در مقابل آن، روش با یک به علاوه ثبت نام در مقابل از آنها کلاس روش ها، که بدان معنی است که شما می توانید تماس بگیرید این روش، حتی اگر شما لازم نیست یک شی ایجاد شده است. بنابراین، برای مثال روشن، NSString یک کلاس است. و شما می توانید تماس بگیرید، به عنوان مثال، روش طبقه در NSString - واقعی، مانند، کلمه NSString. با این حال، به منظور استفاده از این روش، شما در واقع نیاز به ایجاد یک رشته است. به عنوان مثال، NSString رشته های ستاره برابر است با در علامت نقل قول، سلام جهان است. و پس از آن، شما می توانید از این روش استفاده - روش نمونه - در که سلام رشته جهان است. بنابراین، آن است که اختلاف بین دو روش نمونه و روش کلاس. و ما فقط تحت پوشش این بخش. خواص یک چیز دیگر که می در داخل از اشیاء، اساسا. و شما آنها را با اعلام در کلمه کلیدی اموال. شما باید این گزینه ها، در اینجا، که من بعدا توضیح خواهیم داد هنگامی که ما را به یک نسخه ی نمایشی بروید. بله؟ سلام. رسید می توانید زوم، لطفا؟ RHED SHI: آه، بله. متأسفم. رسید تشکر از شما. RHED SHI: که خیلی بهتر باید باشد. یک مدعو: آره. متشکرم. RHED SHI: آره، لطفا به من یادآوری اگر من به بزرگنمایی یا زوم کردن را فراموش کرده ام. بنابراین، این همه من می خواستم است به شما برای نشان می دهد - ایست، که مقدار زیادی است - برای این وب سایت. بنابراین، اجازه دهید به بازگشت به اسلاید است. در واقع، در حال حاضر اجازه دهید یک لحظه به شیرجه رفتن به نسخه ی نمایشی. بنابراین، ما با یک شروع پروژه Xcode متعلق به جدید است. بنابراین، اگر شما می خواهید باز کردن Xcode متعلق به در همه ماشین آلات خود، آن را باید به شما برخی را صفحه که در آن می گوید، مانند، یا باز تا یک پروژه موجود و یا جدید پروژه، و شما باید کلیک کنید یک پروژه جدید. و پس از آن، باید آن را شما در این صفحه نمایش. بله؟ یک مدعو: اگر ما مک را نداشته باشند، ما فقط نوع سرد؟ RHED SHI: یا نگاه در با کسی، آره. آره. شما می توانید لرز، بیش از حد. OK. بنابراین، آنچه که ما قصد داریم برای انجام این کار برای اولین بار، در حال حاضر، است، در واقع، ما قصد داریم برای انجام یک نرم افزار نمایش پست تنها. بنابراین، اگر شما متوجه است، چه بزرگ در مورد Xcode متعلق و پشتیبانی اپل برای توسعه دهندگان است که شما باید تعداد زیادی از قالب برای کار با در حال حاضر. شما می توانید، برای مثال، ایجاد یک برنامه کارشناسی ارشد جزئیات. شما می توانید یک بازی را - و در واقع، من نه به بازی بروید، چرا که بازی یک داستان متفاوت برای توسعه IOS. و آنها از نوع جدا، بنابراین من نمی خواهد به آن بروید. سپس، شما صفحه مبتنی بر اند برنامه های کاربردی. شما باید یک برنامه زبانه - بنابراین می خواهم، به عنوان مثال، بانک مرکزی امریکا احتمالا، مانند، یک برنامه جدولبندیشده. این آنهایی که در آن شما را دکمه در پایین. و پس از آن، شما باید یک بازی کیت جن. یا شما می توانید از ابتدا کار، که چیزی است که ما بعد از آن انجام خواهد شد. اما اجازه دهید، برای اولین بار، با شروع یک برنامه نمایش پست تنها. پس از آن، آن را برای یک نام محصول بپرسید، و ما فقط می توانید انجام آزمون. نام سازمان - بنابراین، نام سازمان، شرکت شناسه - آن مهم است اگر شما در حال رفتن برای قرار دادن نرم افزار خود را در فروشگاه app. دیگر از آن، کد خود را در حال رفتن به اجرا کاملا خوب و بدون این. این است که مهم است اگر شما می خواهید - این کار، به خودی خود، مانند، برنامه خود قرار داده است بر روی تلفن و یا چیزی، و آزمون خود را آن را می دانید، در زندگی واقعی - این مهم خواهد بود. این گرایش به معمولا با همراه است نوعی از حساب برنامهنویس با اپل. و به این ترتیب، من می دانم که، احتمالا، بسیاری از شما هیچ حساب های برنامه نویس ندارد. من می دانم که این دانشگاه یکی است. من فکر می کنم CS یک. اما، شما می توانید به من ایمیل و من سعی به شکل که از برای شما. اما در حال حاضر، من فقط در قرار داده ام برخی از چیزهایی که حفره یا سوراخ در اینجا. و شما می توانید، البته، در اینجا، را انتخاب کنید آیا شما می خواهید آن را به تنها در آیفون، در آی پد، و یا هر دو - برنامه جهانی. بنابراین، در حال حاضر، اجازه دهید انجام جهانی، فقط برای دیدن هر دو طرف از پلت فرم. اجازه دهید را ببینید. بنابراین، در حال حاضر، من قصد دارم برای نجات آن را در برخی از پوشه. مهم نیست که در آن - شما همیشه می توانید آن را به بعد حرکت می کند. و در حال حاضر، ما به ارمغان آورد به پروژه Xcode متعلق به ما. من نمی خواهد در مورد همه از این نگران باشید. من نشان می دهد هر یک از لمس کردن نیست این، مگر اینکه شما دقیقا می دانند چه شما انجام می دهند. بنابراین، همه از این، فقط چشم پوشی در بیشتر قسمت ها. شما نمی نیاز به آن را لمس، و اگر شما آیا شما یک ظرف غذا تا برخی از چیزهایی که اینجا، می شود کمی روی حیله و تزویر. بنابراین، چرا ما را به نگاه فایل ها بر روی سمت چپ در هدایتگر ما. در اینجا، ما AppDelegate.h. ما AppDelegate.m بنابراین، به عنوان شما اطلاع، ما فایل، هدر که در نهایت در نقطه H، و ما باید پیاده سازی - در واقع، به من اجازه زوم شوید OK. اجازه بدهید من زوم شوید راست است، بنابراین شما فایل های هدر اند و شما باید فایل های پیاده سازی. در واقع - OK. این است که کمی عجیب و غریب، اما خرس با من است. پس از آن، چرا که ما نمایش پست تنها انتخاب کردهام برنامه، ما قصد داریم به کار با داستانپردازی. بنابراین، داستانپردازی چیزی است که اپل است تا با به واقعا کمک می آیند توسعه دهندگان به سرعت در نمونه برنامه های کاربردی خود را. بنابراین، این است که در آن شما می توانید ایجاد کنید برنامه بدون نوشتن خط کد. با این حال، در نرم افزار تنها نظر ما، ما، البته، یک فایل برای ما، که کنترل مشاهده است. بنابراین، ما باید هدر و فایل اجرا، در اینجا. و من قصد دارم به زوم کردن در حال حاضر چون ما نیاز به کار در داستانپردازی. بنابراین، در اینجا نظر ما است. اگر ما، به سادگی، اجرا برنامه در حال حاضر، بسیار هیجان انگیز در رفتن وجود ندارد. بنابراین، شما در این صفحه نمایش سفید را ببینید. OK؟ و در منطقه آب و برق ما، ما می توانید اضافه کنید یک دسته از چیزهای مختلف به آن. بنابراین، هنگامی که شما با خرید و فروش صفحه نمایش در iOS، نمایش کنترل ها اشیاء که در محفظهای قرار دادن، مرتب کردن بر اساس، نمایش خود را. بنابراین، یک کنترل کننده دیدگاه همیشه است به نام ملک نمایش. و این دیدگاه، به طور معمول، شامل، شما می دانید، چیزی که شما می خواهم برای دیدن بر روی صفحه نمایش. بنابراین، خوب، اجازه دهید فقط با قرار دادن شروع، شاید، شاید یک برچسب. بنابراین، اجازه دهید قرار دادن یک برچسب وجود دارد - چوب آن را در وسط. بنابراین، اکنون که من بر روی برچسب کلیک کرده اید، I می توانید به بازرس خواص به و شروع به تغییر ارزش خود را. اجازه دهید آن را CS50 رنگ. و، من همچنین می توانید فونت را تغییر دهید. بنابراین، به جای انجام این کار سیستم، که به طور پیش فرض، ما می توانیم یک سفارشی انجام دهد. ما می توانید تغییر دهید - شما می دانید، فوق سبک، آن را به 32 را. و پس از آن، ما می توانیم مستطیل را بزرگتر کند. یک مدعو: آیا شما فکر می کنم شما می توانید زوم در فقط کمی بیشتر، شاید؟ RHED SHI: آره؟ OK. رسید فقط آن ضربه بزنید؟ RHED SHI: اجازه دهید را ببینید. کار می کند؟ یک مدعو: فقط Xcode متعلق عبور؟ RHED SHI: مطمئنا. OK. بسیار معروف. یک مدعو: برچسب زیر؟ برچسب؟ RHED SHI: آن چیست؟ یک مدعو: چه کشویی برچسب زیر بود؟ RHED SHI: بنابراین، این پرسش بود، چه کشویی برچسب زیر بود؟ این باید، به سادگی، در اینجا باشد. من حدس می زنم آن چیزی که مکعب. اما معمولا، این پیش فرض است - من فقط رفتن را در اینجا تا زمانی که برچسب پیدا کنم. آره. بنابراین در حال حاضر، ما باید برچسب ما. اجازه دهید آن را در مرکز. و Xcode متعلق به ما می دهد دستورالعمل ها برای متمرکز اشیاء. بنابراین، اکنون اجازه دهید به کد ما را دوباره اجرا کنید. وجود دارد می کنیم. بنابراین، ما باید CS50 رنگ. و در حال حاضر، اجازه دهید قرار دادن یک دکمه در وجود دارد، درست است؟ از آنجا که ما می خواهیم به این تعاملی. بنابراین، اجازه دهید یک دکمه قرار داده است. و ما رو تو این دکمه "شیر اینجا تماس بگیرید ادامه می دهند. "ما آن مرکز، همچنین در واقع، آن را در حال حاضر متمرکز شده است. آره. بنابراین، در حال حاضر ما یک دکمه. و اگر ما این را دوباره اجرا کنید، ما در حال رفتن به یک دکمه خوب کم است در اینجا. و من می توانم آن کلیک کنید، اما آن را انجام نمی هر چیزی، چرا که ما انجام می شود هر چیزی را با کلید است. بنابراین، اجازه دهید نظر دیگری ایجاد کنید، درست است؟ بنابراین، اجازه دهید بگویم من می خواهم به شیر که دکمه ها و من می خواهم به رفتن به صفحه دیگر - نظر دیگری. چه من قصد دارم برای انجام شده است، من می توانم ایجاد کنترل مشخصات، درست است؟ در حال حاضر من بر روی دکمه من کلیک کنید، و سپس، نکته مهم این است، من قصد دارم کلیک کنید - یا - بله، کنترل مطبوعات را در صفحه کلید من. کنترل. کلیک کنید بر روی دکمه، و سپس کشیدن. بنابراین، به یاد داشته باشید به کلید کنترل را نگه دارید. اجازه دهید این کار را دوباره. بنابراین، نگه داشتن کنترل، کلیک کنید و بکشید به آنچه که می خواهید انجام دهید. OK. و در حال حاضر، من گزینه های مختلف در اینجا. من هم می تواند فشار، یا من می توانم انجام معین، و یا من می توانم سفارشی انجام دهد. فشار تنها اگر شما یک کنترل ناوبری. در حال حاضر، اولین دیدگاه ما کنترل در داخل از هر نه کنترل ناوبری. بنابراین، کنترل ناوبری است است که به شما از دکمه برگشت در برنامه های iOS که در آن شما، شما می دانید، که بالا، نوع، نوار ضخیم - که در آن شما می توانید به رفتن، و یا رو به جلو، و غیره. در حال حاضر، من لازم نیست که. و به این ترتیب، به همین دلیل من می تواند فشار نمی کنند. بنابراین، من در فشار کلیک به طور تصادفی، در اینجا. و در واقع، اجازه دهید کد اجرا شود، و آن را باید در من سقوط. تنها در صورتی که دکمه I را فشار دهید هر چند، تا - سمت راست. بنابراین، این بد است. و، به عنوان شما می توانید ببینید، در اینجا، ما باید پیغام خطا. بنابراین، "segues فشار می تواند تنها هنگامی استفاده شود که کنترل منبع توسط مدیریت به عنوان مثال از کنترل ناوبری UI. " بنابراین، به دلیل این بود داخل نمی کنترل ناوبری، من نمی تواند انجام دهد. بنابراین، در حال حاضر، من به عقب رفتن به پوشه، رفتن به صفحه گزارش. یک مدعو: ناوبری چیست کنترل، دوباره؟ RHED SHI: بنابراین، در حال حاضر من به شما نشان می دهد. اجازه دهید را ببینید. بنابراین، من قصد دارم به کلیک بر روی این دیدگاه کنترل، و سپس من قصد دارم به تا محصول - در واقع، نه، متاسفم - ویرایشگر. و من قصد دارم برای رفتن به - در واقع، من روی آن کلیک کنید؟ شماره وجود دارد می کنیم. من قصد دارم تا رفتن به ویرایش، به پایین به جاسازی در، و سپس ناوبری کنترل. OK. و، فضای کاری من به نظر می رسد واقعا کثیف، پس بیایید این پاک کردن. بنابراین، همه این استوری بورد است. و در این راه - OK، متوقف - من به سرعت می توانید چیزی را ساخت مثل این. و پس از آن، در حال حاضر من می توانم به عقب بروید، می دانید؟ اما این نوع از خسته کننده است، درست است؟ بنابراین، آنچه من می خواهم به انجام این کار است، من نمی خواهم را، فقط به سادگی، یک دیدگاه کنترل. اجازه دهید بگویم من می خواستم به واقع یک مشاهده کنترل، بنابراین من می تواند در قرار برخی از رنگ های زیبا، به جدول. بنابراین، اکنون که من در نمایش جدول من قرار داده ام کنترل، من نیاز به آن متصل به عقب از این دکمه به مشخصات کنترل. بنابراین من نیاز به انجام کنترل من، کلیک کنید، چیزی که کشیدن دوباره. و در حال حاضر من می توانم فشار را انجام دهد، چرا که من جاسازی آن را در داخل یک کنترل ناوبری. یک مدعو: کنترلر تنها اجازه می دهد تا به شما برای رفتن از جایی به جای؟ RHED SHI: بله. بنابراین، به اصطلاح فنی آن را یک شی که در آن - بنابراین، در داخل از ناوبری شی کنترل، آن را به نگه می دارد ردیابی یک آرایه. و این آرایه حاوی تمام بعدی مشاهده و کنترل. به همین دلیل هنگامی که شما فشار پشت، آن را برگشت به صفحه قبلی می رود. از آنجا که کنترل ناوبری شی، و یا کدی که طول می کشد مراقبت از این جسم، یک آرایه نگه می دارد پیگیری از این کنترل نمایش، و می تواند پس از آن، شما می دانید، DQ دیدگاه کنترل و شما را از گذشته شد. بنابراین، این مسائل فنی است، اما - و من شما را بعد از آن در نشان می دهد کد، اگر ما زمان داشته باشد. من نوع از در حال اجرا در زمان، اما - بنابراین، با مشخصات جدول، آنچه ما می توانیم انجام دهیم این است - آن را معمولا به طور خودکار تنظیم به نمونه اولیه پویا - ما قصد داریم به آن سلول های استاتیک را، در غیر این صورت ما در حال رفتن به اجرا را به برخی از مشکلات. و سپس، اجازه دهید بگویم من قصد دارم به یک بخش. بنابراین، بخش های مانند - اگر شما تا به حال نرم افزار های موسیقی دیده می شود، زمانی که شما هنرمندان، بخش خواهد بود تواند در از طریق Z's - نامه ها - و پس از آن، شما می دانید، فرد ردیف خواهد بود نام هنرمند. و بنابراین، آنچه که خنک در اینجا، این است که من می توانم دسترسی به همه اشیاء در داخل استوری بورد من از طریق این منوی کشویی، بیش از حد. بنابراین، من قصد دارم به کلیک بر روی بخش من، و من می خواهم، شما می دانید، شاید پنج ردیف. و سپس، در داخل هر سطر، من می خواهم برای قرار دادن برچسب. و من قصد دارم به این آبی. و پس از آن، من می خواهم برای قرار دادن یک نظر UI، شما می دانم، شاید برای، مانند، یک جعبه کوچک. به طوری که من می تواند به مردم نشان می دهد یک پیش نمایش از رنگ. و من دوباره به خانه می روم و تغییر رنگ به، آه، من نیست می دانم، این یکی. و پس از آن، متوجه نیز، در اینجا، وقتی که من لوازم جانبی، و من می توانم بسیاری دارند از لوازم جانبی مختلف که شما به طور معمول را ببینید. شاخص افشاء، جزئیات، و یا بررسی علامت، و یا به سادگی فقط جزئیات. بنابراین، شاید ما می توانید انجام دهید، مانند، افشای شاخص، به عنوان مثال. و پس از آن، چرا که این، نسخه آنها را کپی کنید، قرار داده و آنها را به سطر جدول بعدی. بنابراین، ما می توانیم این زرد تماس بگیرید. و من ممکن است به گسترش این. اجازه دهید آن را زرد کنید. و در این راه، ما می توانید کپی کنید راه ما را کپی کنید به پایین. آن چه بود؟ بنفش. بنابراین، این ها همه CS50 معمولی رنگ های که شما در کلاس دیده می شود - در واقع، با عرض پوزش - و یا در وب سایت. امیدوارم که شما بچه ها می توانید ببینید آنچه من در اینجا انجام می دهند. OK. یکی از آخرین. یک مدعو: چگونه شما اضافه کردن به ردیف در ابتدا؟ RHED SHI: بنابراین، این پرسش بود، چگونه آیا من ردیف اضافه در ابتدا؟ من به این بخش جدول رفت - و یا با این حال من می توانم را انتخاب کنید بخش جدول - و پس از آن، در اینجا، من به روز شده تعداد سطرها. و اجازه دهید من امیدوارم که این کار می کند. OK. بیایید ببینیم که اگر این کار می کند. اوه، کامل، بسیار جذاب است. OK. در حالی که من ایجاد نسخه ی نمایشی من، برخی از همه چیز در تراز وسط قرار نمی گرفتند، بنابراین، به لطف برای کف زدن. آره. بنابراین، اجازه دهید را ببینید. ما را این نه فقط به همه چیز - یا در واقع، اجازه دهید فقط تبدیل همه از این به افشای شاخص. و پس از آن، چیزی است که من می خواهم به شما نشان می دهد، بیش از حد، بود که من می تواند هر یک از آن را ردیف های جدول و آنها را به ارتباط برقرار کردن - آه. شماره آه. همچنین، من می خواهم به شما نشان می دهد - در اینجا، من می تواند به عنوان قرار من کنترل ناوبری، درست است؟ پس در واقع، شما متوجه، به محض I تعبیه شده در این کنترل کننده دیدگاه کنترل ناوبری، ما می بینیم این نوار در بالای ما نمایش فیلم داستانی از یک کنترل نمایش. و به این ترتیب، این به ما می دهد، مانند، تصویری، مرتب کردن بر اساس، هدایت به روی صفحه نمایش قابل مشاهده است. این واضح است که رفتن به شود نوار ناوبری. و آنچه من می خواهم به انجام این کار به سرعت، در حال حاضر، در دیگری قرار داده است - بنابراین این دیدگاه جدول کنترل من بود گرفتن یکی از این و کشیدن آن در اینجا، و این چیزی است که به من اجازه به سرعت، در واقع، ایجاد یک مشاهده کنترل. اگر ما هم هر چند، شما می بینیم که، برنامه نویسی، این یک کمی مشکل تر برای ایجاد یک جدول مشخصات کنترل کننده، به دلیل وجود دارد یک زن و شوهر از روش های است که می مورد نیاز را برای شما به، نوع، ارسال به منظور برای نمایش جدول کنترل را به درستی نمایش داده می شود. با این حال، من فقط می خواهم به شما نشان دهد، در حال حاضر، نمونه ای از جایی که، اگر من این را، به عنوان مثال - I در کنترل کننده دیدگاه دیگری قرار داده است. و در حال حاضر، اجازه دهید بگویم من می خواهم به کنترل ALT را برای اولین بار آبی من سطر جدول به اینجا. و من می خواهم به این آبی. و پس از آن - اجازه دهید را ببینید. من در نظر دارم در حال حاضر، و من می توانم تغییر پس زمینه آبی رنگ است. و به این ترتیب، توجه، در اینجا، این کشویی منو نیز به شما می دهد یک سلسله مراتب از همه از این اشیاء. بنابراین چیزی که مهم است که توجه داشته باشید، در اینجا، این است که همه این چیزها، اینجا - این کنترل مشاهده جدول، جدول این دیدگاه، بخش مشاهده جدول، مشاهده سلول - همه از این می اشیاء، در کد. بنابراین، شما می دانید، یک برچسب در حال حاضر تحت است از نظر محتوا، و غیره. غیره و غیره. بنابراین، اگر ما این کد را اجرا کنیم، باید چیزی را ببینید - اجازه دهید اگر این را ببینید - آره. بنابراین، وجود دارد ما به. اما، اگر ما کار را نمی کنند، هیچ کدام از این چیزهای دیگر کار می کنند. درست است؟ بنابراین فقط این یکی کار می کند. و، به خاطر زمان، من نه رفتن به شما می دانید، قرار دادن پایین آنهایی که دیگر. و این پایان است، مرتب کردن بر اساس، استوری بورد - آنچه که من می خواستم برای نشان دادن شما برای داستانپردازی. و، من یک مثال کار می کرد، در واقع، در اینجا ببینید. بنابراین، این فیلم داستانی است که من قبلا ساخته شده است. بنابراین، همانطور که می بینید، این بود کنترل ناوبری من. پس از آن من تا به حال برای اولین بار از کنترل به نظر من، پس از آن من تا به حال کنترل مشاهده من، و پس از آن من تا به حال همه از این - تا پیش از این، من انجام شده بود چیزی بسیار متفاوت است. بنابراین، بهانه ای کسانی که همه چیز. من احتمالا آن را پاک کردن بعد قبل من آن را ارسال را به تولید می باشد. اما، اگر ما این را اجرا کنید، خواهیم دید که تمام گزینه ها در دسترس ما. به جز من زمینه را ندارد کسانی که رنگ. بنابراین، برنامه های خوب ساده است. در حال حاضر، اجازه دهید سعی کنید برای مقابله با این برنامه نویسی. OK. بنابراین، برای انجام این کار، ما فقط رفتن برای شروع یک پروژه Xcode متعلق به جدید است. ما آن را یک برنامه خالی کن ساختن، چرا که ما نمی خواهیم که داستانپردازی. بنابراین، من به سادگی خودم را محدود به نه استفاده از هر یک از استوری بورد، و برنامه خالی خواهد شد من داستانپردازی دهد. این فقط برای جلوگیری از خودم از تقلب. اجازه دهید را ببینید. صبر کنید. آیا I - بله. OK. راست. بنابراین، در اینجا، ما با چپ هیچ چیزی به جز کد. بنابراین، اجازه دهید من این پنجره حرکت کمی بیش از. راست. همانطور که می توانید در اینجا مشاهده کنید، تنها فایل ها ما با توجه به در حال است AppDelegate.h و نقطه متر، و ما لازم نیست فیلم داستانی دیگر. بنابراین اگر ما این را اجرا کنید، ما هنوز هم به رفتن به صفحه سفید، خدایا شکر. OK - صفحه سفید، اما هیچ چیز دیگری. و، در اینجا بخش مهم است. این است که در آن عمل اتفاق می افتد. در نسخه های قبلی، وجود دارد معمولا کد در اینجا، اما استوری بورد در اصل فراهم می کند کد برای این بخش. من نمی خواهد به جزئیات در مورد چگونگی بروید. و چیزی که ما می خواهیم انجام دهیم در حال حاضر، ما می خواهیم در اینجا، و این فضای کوچک شروع می شود ایجاد برنامه ما دوباره. بنابراین - بله؟ رسید زوم؟ RHED SHI: زوم. آره، حتما. OK. من تایپ کردن، بنابراین این باید نیست ماده بیش از حد. OK. بنابراین، برای اولین بار، به یاد داشته باشید که ما می خواست برای ایجاد کنترل ناوبری، درست است؟ و نیز، همانطور که شما در اینجا می توانید ببینید، Xcode متعلق به آیا واقعا یک کار بزرگ خود پر. بنابراین، همانطور که می بینید، نام همه چیز در بسیاری دیگر از معمول، اما Xcode متعلق به آن را پر می کند در را برای شما. بنابراین من فقط می توانید دکمه را وارد کنید. بنابراین، من می خواهم برای ایجاد یک ناوبری UI اشاره گر کنترل، و من می توانم آن را navigationController. در حال حاضر، چه کار باید بکنم؟ بعد از این علامت مساوی، من به نیاز، برای اولین بار، ایجاد آن را در داخل حافظه. بنابراین، من قصد دارم برای انجام NavigationController alloc - بنابراین، این شبیه به malloc است، که شما بچه ها استفاده می شود در C - و پس از آن، من قصد دارم به آن init انجام. بنابراین، بسیار مهم است که هر شی که ایجاد می کنید، شما می خواهید alloc و init انجام آن است. که رفتن به آن را ایجاد و instantialize آن را در داخل حافظه، و در حال حاضر شما می توانید آن را استفاده کنید. همه درست است؟ اگر شما اینکار را نکنید، جسم خود را می کند وجود ندارد، و شما را به یک دسته اجرا از مشکلات. و پس از آن، من می خواهم برای ایجاد کنترل مشخصات، درست است؟ بنابراین، من می خواهم برای ایجاد یک UIViewController ستاره - بنابراین، همه چیز یک اشاره گر در است هدف-C، و من قصد دارم به انجام چیزی مشابه، در اینجا - alloc، init انجام. OK. و پس از آن چه من می خواهم به انجام این کار است، من هستم رفتن به - بنابراین، به یاد داشته باشید هنگامی که ما انجام دادیم قراردادن در کنترل ناوبری؟ این است که چگونه شما آن را انجام دهید در کد. شما در حال رفتن به انجام navigationController pushViewController - یک مدعو: [نامفهوم]. آیا این اتفاق می افتد برای ما، و یا -؟ RHED SHI: اوه، آره. شماره این من را دوست دارد بهتر است. نه، آن را برای شما کار می کنند، بیش از حد. بنابراین، این همه روش ها می باشد. بنابراین pushViewController یک روش است، و همچنین، به طور خاص، آن را روش نمونه از UI کنترل ناوبری. از آنجا که من تا به حال برای ایجاد ناوبری UI من ستاره کنترل، و پس از آن من می توانید این pushViewController در تماس من به عنوان مثال خاص از یک ناوبری UI کنترل. یک مدعو: آیا ما را به انجام دقیق آن کلمه، و یا آن را در حال حاضر برای آن وجود دارد؟ RHED SHI: بله، چرا که این یک روش است. آن را مانند یک تابع است. آن را مانند چون printf است. این مثل scanf است. آن را مانند strcompare است. به جز آن می داند چه شما ممکن است به خواهید نوع و متوجه است که آن را همیشه آمد تا با چیزهایی که از نظر قانونی برای شما مجاز است. بنابراین، اگر هیچ چیز نشان می دهد تا در اینجا، پس از آن چیزی اشتباه است. بنابراین، pushViewController. بنابراین، در حال حاضر، من می خواهم به فشار من به تازگی ایجاد شده UIViewController، و پس از آن، متحرک - شاید نه. از آنجا که این است که رفتن به کنترل نگاه اول. منظور من، حتی اگر من را متحرک، احتمالا نشان داده نخواهد شد، زیرا آن را روی صفحه نمایش اول است. و به یاد داشته باشید براکت. بنابراین، به یاد داشته باشید که چگونه با استفاده از براکت؟ و در داخل پرانتز، شی خواستار روش - بنابراین هدف ما ناوبری است کنترل و روش فشار است مشخصات کنترل متحرک. و ببینید که چگونه آن را در دو آرگومان می گیرد، و آنها توسط، مرتب از هم جدا، کلمات و روده بزرگ است. بنابراین، هدف-C تلاش می کند تا آن را خوب و آسان شما را به خواندن با صدای بلند - کد خود را - و آن را نیمه، مرتب کردن بر اساس، ایجاد حس. با این حال، انجام این کار این کافی نیست. به من اجازه زوم کردن در حال حاضر. انجام این کار این است که به اندازه کافی نمی آنچه ما را قبلا کردم. بنابراین در اینجا، شما متوجه وجود دارد این است که در واقع برای رفتن به هر نوع نوار، در اینجا، درست است؟ هیچ نوار، که به معنی وجود دارد که ما هنوز آن را بدست نیست. و ما می توانیم از تست آن، نیز، های، شاید، تغییر پس زمینه ViewController، درست است؟ ViewController.background-- آه. بنابراین، ببینید که چگونه ViewController نداشت رنگ پس زمینه، حتی اگر من می خواستم به آن دسترسی داشته باشید؟ و این به دلیل ViewController یک ظرف برای نمایش است. بنابراین، آن را به یک ملک نمایش، که سپس یک رنگ پس زمینه. و من می توانم آن را تعیین می کنند، نوعی از tediously، با تماس رنگ در جسم UIColor. بنابراین، هشدار، redColor روش است. این یک روش کلاس از UIcolor است. از آنجا که من مجبور به ایجاد یک به عنوان مثال واقعی از یک UIColor به منظور فراخوانی متد بر روی آن. من فقط، به سادگی، آن را به نام بر روی نام مانند نوع. من، مانند، آن را بر روی اعضای هیات نامیده می شود، اگر بین المللی بود، مانند، یک روش به آن، به عنوان مثال. و به این ترتیب، اگر ما این کد را اجرا کنید، ما به شما توجه کنید که پس زمینه در واقع قرمز است. این هنوز سفید. و چگونه ما می توانیم در اطراف آن این است که، توجه کنید که چگونه این self.window وجود دارد. این است که، مانند، ظرف نهایی برای درخواست شما. این چیزی که در نهایت است که شامل همه چیز را بر روی صفحه نمایش، برای یک آیفون و یا نرم افزار اپل. و، به راحتی، self.window دارای این خاصیت به نام rootViewController. و این است برای رفتن به یک اشاره گر به از نظر کنترل بسیار برای اولین بار در داخل از برنامه شما. بنابراین، آنچه که ما می خواهیم انجام دهیم در اینجا، در حال حاضر، است به مجموعه ای که برابر ناوبری ما کنترل. درست است؟ از آنجا که، از لحاظ فنی، ناوبری کنترل اولین نظر ما این است کنترل. این نگه می دارد آهنگ از مجموعه ای از دیدگاه های دیگر کنترل کننده، و ما از این تحت فشار قرار دادند مشخصات کنترل به آن آرایه در کنترل ناوبری. بنابراین، شما نمی خواهید برای انجام این کار. که نمی خواهد واقعا به شما کمک کند. شما می خواهید برای انجام این کار، اگر شما می خواهید به انجام کنترل ناوبری، که اکثر از شما احتمالا چون شما می خواهید به، نوع، نوعی، مثل، منو برای رفتن به یا برخی از صفحه اصلی برای رفتن به، به جای صفحه نمایش خالی است. بله؟ یک مدعو: آیا ناراحت کننده را برای شما به زوم بر روی - RHED SHI: آره. بنابراین، آره. این کد است، و در حال حاضر اجازه دهید آن را امتحان کنید. بنابراین، وجود دارد ما به. سحر و جادو. بنابراین، OK. متشکرم. OK. بنابراین در حال حاضر، آنچه که ما می خواهیم انجام دهیم این است - اما، ما نوع محدود، در اینجا، درست است؟ ما به طور بالقوه می تواند همه چیز را ارسال در داخل این تابع. اما، این که چگونه توسعه های iOS نمی معمولا کار می کند. بنابراین، آنچه ما می خواهیم انجام دهیم این است، ما رفتن به ایجاد برخی از فایل های جدید. اما، به طور خاص، ما قصد داریم به ایجاد یکی دیگر از کلاس هدف-C، یا یکی دیگر از جسم - کلاس ها و اشیاء قابل تعویض هستند اینجا. و اینجا است که چگونه من می توانم، به طور بالقوه، ایجاد کلاس دیگری از کنترل U. بنابراین، آن است که یک زیر کلاس است، همانطور که می بینید، در اینجا، آن است که یک زیر کلاس از است مشاهده UI کنترل، اما من می توانم آن را به هر نام دیگری تماس بگیرید در اینجا. من می توانم این CS50 تماس بگیرید، من می توانم تماس این کنترل کننده این دیدگاه، من می توانم تماس این اه نظر کنترل - هر چیزی من می خواهم. این فقط نام برای کلاس است. با این حال، آن را به مهم باشد چرا که، اساسا، آنچه که من انجام می دهند در اینجا، من ایجاد نام کلاس دیگر. بنابراین، آن را برای رفتن به، مانند، برخی از مرتب کردن بر اساس نوع و یا یک شی. بنابراین، باید آن را کمی کلی است. این نمی شود بسیار خاص. و همچنین، من نمی خواهم به نقطه از این دو گزینه. از آنجا که ما در حال انجام همه چیز داخل کد، گاهی اوقات آن را بسیار ساده تر میکند را به را در یک فایل رابط، به طوری که من به معنای واقعی کلمه می توانید با کشیدن و رها کردن، به عنوان ما قبلا با داستانپردازی بود - شما می دانید، برچسب، و یا یک دکمه، یا هر چیز دیگری. و به این ترتیب، xibs فایل هایی که شما اجازه می دهد می باشد انجام این کار، و شما باید آن را قلاب در این فایل مشاهده کنترل. بنابراین، من قصد دارم به عمد این چک نیست. معمولا من این را بررسی کنید، و اگر من فقط این برای آی فون یا آی پد، من این را بررسی کنید و به سادگی آن را ندارد برای، شما می دانید، آی فون یا آی پد. اما از آنجا که من انجام می دهند جهانی، من قصد دارم برای ایجاد دو نفر از کسانی که بعد از آن. بنابراین، من قصد دارم به عمد این گزینه را. این هم واقعا مهم است. بسیاری از اوقات، من باگ داشته ام که در آن این بود بررسی نیست. و به این ترتیب، بدیهی است، این فایل نیست، نوع، مانند، شامل و یا وارد در داخل این پوشه آزمون. و به این ترتیب، کد من مطلقا هیچ ایده از وجود این فایل، و که باعث می شود بسیاری از درد و ساعت از اشکال زدایی. اما، فقط مطمئن شوید که این انتخاب شود تا که، می دانید، هدف از این فایل برای این نرم افزار. OK. بنابراین، در حال حاضر ما دو فایل جدید ایجاد کرده اید. و این فایل ها نگاه زیبا خالی است. و، در واقع، اجازه دهید نیز ادامه در با ایجاد فایل های xib. بنابراین، پیش از این، من در بود کاکائو لمسی کشویی. در حال حاضر، من قصد دارم برای رفتن به کاربر رابط کاربری لمسی، و همانطور که می بینید، من می توانید یک فیلم داستانی ایجاد کنید. بنابراین، حتی من با خالی آغاز شده برنامه، من هنوز هم می توانید استفاده کنید داستانپردازی. اگر چه، این مشکل می شود در نظر چگونه می خواهید برای اتصال که به کد شما. بنابراین، من نمی خواهد به آنجا رفت. اما، آنچه که ما می خواهیم انجام دهیم در حال حاضر ایجاد یک دیدگاه. و شما می توانید برای انتخاب آیفون یا آی پد. و به طور معمول، به معنی تفاوت - اگر شما در حال انجام برنامه جهانی - شما یا قرار دادن آی فون زیرین، و یا شما می توانید یک Twiddly انجام دهد. این واقعا مهم نیست. این به سادگی برای شما به افتراق که دیدگاه است که برای آن دستگاه. و به این ترتیب، در حال حاضر نگاه کنید. من یک صفحه نمایش است که من می توانم با کار می کنند. و به این ترتیب، برای مثال، من می توانم یک برچسب قرار داده در اینجا، شما می دانید، و من نیز می تواند قرار داده دکمه دیگری را در اینجا. من نمی خواهد زحمت تغییر ارزش ها در اینجا. اما، آنچه که مهم است در اینجا که صاحب فایل - بنابراین، من در داخل از آی فون هستم نمایش، فایل xib آی فون. و در این زمینه ناوبری و یا منوی کشویی، من می خواهم برای رفتن به صاحب فایل است. و این است که واقعا گام مهم در اینجا. من می خواهم نظر طبقاتی کنترل، به طوری که این فایل xib است رفتن به با همراه است کنترل به نظر من. و هر چیزی را که من در داخل از نظر من انجام کنترلر برنامه نویسی است رفتن به بر روی اینجا منعکس شده است. بنابراین، با این حال، توجه کنید که - در واقع، بیایید این دیدگاه پس زمینه آبی رنگ، به عنوان مثال. و یا سبز می باشد. و پس از آن، بنابراین اگر شما متوجه، پشت در این کد، این است که در آن ما به هم ما کنترل ناوبری. حتی اگر ما این گام را انجام داد، آن را هنوز هم برای رفتن به قرمز، سبز نیست. و یک دلیل که چرا وجود دارد. این به این دلیل، زمانی که ما inited کنترل از نظر ما، در اینجا - با عرض پوزش، آن را کمی دیوانه - زمانی که ما کنترل نظر ما inited در اینجا، ما آن را از نوع عمومی inited UIViewController. OK؟ بنابراین ما حتی نمی آن را با این کلاس. بنابراین به یاد داشته باشید، این است که مانند یک کلاس در حال حاضر. این را می توان به عنوان یک نوع فکر کردم، فقط به عنوان UIViewController یک نوع است. و به منظور استفاده از آن، چه ما نیاز به انجام واردات آن - واردات ViewController - و، به عنوان شما می توانید آن را ببینید، آن autofills برای من. بنابراین، ViewController - و در حال حاضر، در اینجا، من می توانم این را تغییر دهید UIViewController به ViewController. و در حال حاضر، در اینجا، من می توانید تغییر دهید این به ViewController. اجازه دهید این را دوباره اجرا کنید. این هنوز قرمز است. و به همین دلیل آن را هنوز قرمز است زیرا - کشیدن است، آنچه رخ داده وجود دارد؟ ما می خواستیم به شریک این xib فایل را با کنترل مشخصات. با این حال، به منظور در واقع انجام که، ما باید برای رفتن به این. و هنگامی که ما انجام init انجام، ما می خواهیم انجام دهیم initWithNibName، و پس از آن ما به خواهید انجام در View_iPhone رشته، به عنوان مثال. شما می توانید بسته نرم افزاری را در اینجا نادیده گرفت. و این است که اجازه می دهد تا به ما، در واقع - اوه اوه، یک مشکل وجود دارد. راست. و به این ترتیب، یک مشکل وجود دارد، زیرا در فایل مشخصات xib ما، ما یک برچسب و ما باید یک دکمه. با این حال، حتی اگر ما متصل شده اید این دو، هیچ چیز در داخل وجود دارد ViewController.h یا ViewController.m که منعکس کننده آن دکمه ها و یا کسانی که برچسب. بنابراین، ما باید به نوشتن کسانی که در عنوان خواص کنترل نظر. بنابراین، این است که چگونه شما اعلام ملک. طول می کشد در، معمولا، این دو گزینه. برای اهداف ما و این سمینار، من می خواهم بگویم که به طور کلی، بیشتر خواص nonatomic است و حفظ. شما می توانید با جستجو در گوگل به عنوان خوانده شده تا، شما می دانید، تفاوت بین nonatomic و حفظ در، شما می دانید، گوگل و یا چیزی. و من شما را به مانند، پشته را سرریز، که در آن مردم خواهد شد پاسخ برای تفاوت بین آن. اما در حال حاضر، این چیزی است که ما می خواهم با نگران باشد. و ما می خواهیم به ایجاد یک برچسب UI، ستاره، و ما می توانیم آن را هر چه ما می خواهیم. ما می توانیم این را می دانید، برچسب. و ما دیگر ایجاد یکی برای را فشار دهید. و به یاد داشته باشید که شامل ستاره، چرا که ما در خرید و فروش با اشاره گر تقریبا در همه جا در داخل از هدف-C. با این حال، که هنوز هم حل نمی کند مشکل، همانطور که شما در اینجا می توانید ببینید. و به این دلیل است که، هر زمان که ما می خواهم برای اتصال یک برچسب فایل xib یا را فشار دهید تا برنامه، و یا هدر و فایل اجرای، ما به خواهید اضافه کردن این قطعه از کد - خروجی. توجه کنید که یک کلمه کلیدی است. و به محض پایان تایپ که از آن باید به این داشته باشد دو دایره، در اینجا. معمولا آنها در حال پر نشده اید. من مطمئن هستم که چرا آنها نیست. اما معمولا، شما را به صورت دستی دارند اتصال آنها را با رفتن به این سمت از منطقه آب و برق. و به این ترتیب، در حال حاضر، من برچسب من کردم انتخاب، و من می خواهم به کشیدن این جدید ارجاع خروجی به صاحب فایل من، و سپس بر روی برچسب را کلیک کنید. بنابراین در حال حاضر، در نهایت، این برچسب است متصل شده به این برچسب. و این برچسب آن چیزی است که ما قصد داریم به استفاده از برنامه نویسی به تغییر آن متن، فونت خود را، پس زمینه آن رنگ، و غیره. پس چرا ما نمی همین کار را برای دکمه؟ و همانطور که می بینید، برای دکمه، آن را کمی پیچیده تر است. از آنجا که، منظور من، شما قرار است به را فشار دهید بر روی یک دکمه، به طوری که آن را به یک مقدار زیادی از گزینه برای چگونه کاربران می تواند بر روی یک دکمه را فشار دهید. و پس از آن، ما بعد از آن که ببینید ما می توانیم این را برای اتصال ما کد، آن را به کار می کنند. بنابراین، در حال حاضر هر چند، ما می خواهیم برای اتصال آن را به دکمه های واقعی داخل کد ما. بنابراین ما به خروجی مرجع جدید، و بعد به کار را فشار دهید. در حال حاضر، اجازه دهید این کار را دوباره اجرا کنید. اوه اوه. OK. من نمی دانم چه خبر است در حال حاضر اینجا. ایست. فقط یک لحظه، در اینجا. در واقع، چرا ما نه یک در یک مثال دیگر را در علاقه از زمان. OK. بنابراین، در اینجا آماده تر آماده به عنوان مثال برای ViewController. همانطور که شما در اینجا می توانید ببینید، من شامل خواص برای برچسب و را فشار دهید. و پس از آن، این قطعه از کد را در اینجا - این IBaction - اتصال به این دکمه در اینجا بود. همانگونه که شما اینجا می توانید ببینید، لمسی داخل به انتخاب متصل به نام دکمه. بنابراین، ما در واقع می تواند از طریق به حرکت دوباره، در اینجا، با در نظر گرفتن لمسی به بالا در داخل و کشیدن آن را به مالک فایل است، و پس از آن در دکمه را کلیک کنید. در حال حاضر، اجازه دهید کد ما اجرا شود. بنابراین در حال حاضر، این دکمه در حال حاضر کار می کند و ما را به صفحه بعد را. و، در شرایط کنترل ما، این قطعه از کد را که در زمان است مراقبت از دکمه فشار داده شده. و این مهم است که توجه داشته باشید در اینجا، که من نوع دیگری از نظر ایجاد کرده اید کنترل نام جدول مشخصات کنترل. بنابراین، این شبیه به پشت در بود استوری بورد، زمانی که من کشیده میشوند، یکی از این کنترل مشاهده به داستانپردازی. من ساختن اشاره گر به کنترل مشاهده جدول، alloc و init انجام دادن آن، و پس از آن انجام کنترل ناوبری خود نقطه، فشار ViewController، این جدید viewController. و من در راه انیمیشن به بله، زیرا در حال حاضر در داخل برنامه من، و من می خواهم به واقع دیدن انیمیشن رفتن از صفحه اصلی به جدول مشخصات کنترل. یک مدعو: آیا شما هنوز هم نگران در مورد جمع آوری زباله؟ RHED SHI: آن چیست؟ شماره بنابراین، این پرسش بود، آیا شما برای کار با جمع آوری زباله؟ بنابراین، Xcode متعلق به 4 مثل ARC به حال، که شمارش مرجع خودکار. و به این ترتیب، معمولا زمانی که شما شروع به جدید پروژه، شما می توانید بررسی کنید که، به دلیل هیچ کس واقعا می خواهد برای مقابله با آزاد کردن حافظه و مسائل. اما من فکر می کنم در Xcode متعلق به 5 است، وجود دارد حتی این گزینه بر روی این پروژه جدید است. بنابراین، آن را به طور خودکار این کار را برای شما خواهد شد. بله؟ یک مدعو: آیا می توانید صادرات PDF در داستانپردازی خود را؟ RHED SHI: بله، قطعا. بنابراین، همه این خواهد شد شامل کد منبع، پس شما بچه ها می توانید از پروژه Xcode متعلق به واقعی برای آن است. آره؟ رسید اما، منظورم این است که، مانند، می تواند I چاپ PDF با داستانپردازی من؟ اگر من فقط می خواهم به صادرات تصاویر برای نشان دادن کسی. RHED SHI: اوه آره. من فکر می کنم، شاید، شما فقط می توانید یک ضربه روی صفحه نمایش. آره، و ارسال آنها را به یک صفحه نمایش شات و یا چیزی. آره. بنابراین، اجازه دهید را ببینید. در بهره از زمان، من فکر می کنم که همه در لیتر می تواند امروز را پوشش میدهد. اما، من می دانم که، در واقع، فقط به سختی لمس سطح در iOS توسعه است. بنابراین، لطفا با من تماس بگیرید اگر شما هر گونه سوال در مورد IOS های دارای توسعه است. و امیدوارم، من قادر به تمیز کردن تا برخی از کد منبع فایل کد، به طوری که شما برخی از نمونه های واقعا خوب برای کار با. دیگر از آن، اگر شما بچه ها در حال رفتن به CS50 Hackathon، من ممکن است یا ممکن نمی شود وجود دارد، و من می تواند کمک کند با برخی از توسعه های iOS، بیش از حد. بنابراین، با تشکر بسیار، بچه ها.