RHED SHI: xoş gəlmisiniz CS50 seminar bax - IOS Giriş. Gələn üçün bütün təşəkkür edirik. Mən sizə yalnız kimi həyəcanlı istəyirik ümid edirik Mən iOS haqqında am kimi. Ötən il mən bir sophomore kimi CS50 etdi, və Mən əsasən üçün iOS öyrənildi mənim final layihə. Və bu, olduqca idi - yaxşı, asan deyil, lakin var online dəstək tutorials çox. Mən, həqiqətən, ümid edirəm ki, bu seminar, bir baş uşaqlar verəcəyik iOS inkişaf başlamaq Belə ki, iOS inkişaf baxımından, iki əsas şeylər var bu gün əhatə etmək istəyirəm. Birincisi, dil - dil də olacaq Objective-C. Biz, həqiqətən, eşitmək lazımdır həqiqətən maraqlı bir şey. Belə ki, siz bütün Apple qoşula bilər developers icma və bəzi qurmaq həqiqətən zəhmli apps. Həmçinin, iOS 7, ümid edirəm ki, gözəl siz bəzi. Amma bilirəm, mübahisəli var. Və əsasən, mən nə istəyirəm bələdçinizdir Siz Objective-C, həmçinin vasitəsilə Inteqrasiya olan Xcode, Siz olacaq ki, inkişaf mühit IOS üçün çalışır. Və belə ki, Objective-C yalnız bir söz. Əsasən, bu, C kimi tam eyni lakin digər şeylər bir çox. Və belə ki, daha ciddi, bu, həqiqətən bir super-set C. Belə ki, bir şey ki, olan, indi C edə bilərsiniz əsasən, 6 vasitəsilə pset 0 istəyirəm Objective-C edə bilərsiniz. Belə ki, bu yeni haqqında qorxusu yoxdur Əgər öyrənmək olacaq ki dil. Siz artıq bir çox əhatə etdik, bütün C bu keçmiş etdik, çünki dövr, indi istisna olmaqla, siz olacaq ilə işləmək üçün daha çox var. Mən yalnız bir vasitəsilə çıxara gedirəm bəzi qeyd etmək nümunələri neçə I idi ki, tapılmadı əsas fərqlər həqiqətən vacibdir, mən öyrəndim Objective-C keçən il. Yaxşı, həqiqətən, belə ki, digər bir nöqtə , Objective-C, açıq-aydın edir obyekt-yönümlü. Və biz bir az müzakirə edəcəyik ki, sonra nə deməkdir haqqında. Əsasən, bu işləmişdir nə kimi Bu son pset structs ilə qovşaqlarının və digər oxşar kimi şeylər. Objective-C, hər şey, başqa obyekt, və siz olacaq obyektlərin göstəricilərinə ətrafında keçən daha dəyərləri özləri çox. Belə ki, yalnız əhəmiyyətli bir şey var Yadda saxlamaq üçün. Belə ki, niyə biz bir neçə ilə başlamaq deyil C arasında sintaksis fərqlər Objective-C? Mən sizə daxildir # vurğulamaq istəyirəm C və C + + bilirik standart io.h ilə ki, Objective-C versiyası olan # idxal və sonra bəzi sort edir header file. Bu halda, bu, UIKit olardı bilirsiniz, UIKit.h doğramaq. O, həmçinin, bilirsiniz, MKMapview ola bilər Əgər istəyirsinizsə MKMapview.h zərbə , kimi, app daxilində bir xəritə etmək. Kimi oxşar şeylər. Belə ki, mühüm şey daxildir indi idxal dəyişib. Amma fikir hələ də qalır. Siz bir növ idxal etmək olacaq sizin proqram daxil header fayl. Mən də fərq qeyd etmək istəyirəm printf və NSLog arasında. Lakin, əvvəllər dediyi kimi, Objective-C ciddi super-set edir Printf mövcud o deməkdir ki, C, Objective-C, çox. Lakin, insanların çoxu istifadə etməyin. Çoxu bu NSLog istifadə çünki bir vaxt möhürü verir, və biz görəcəksiniz sonra hərəkətə. Lakin, adətən daha faydalı dəyişənlərin çap yol. Və mən də vurğulamaq istəyirəm NSLog yalnız eyni edir tutucu dəyərlər printf kimi - belə% d bir int üçün, % F bir float üçün. Lakin, qeyd etmək istəyirəm Bu çox son bir - Əlaməti NSLog% - ki, bir obyekt üçün tutucu edir. Mən əvvəllər, Objective-C məşğul dediyi kimi olduqca çox çox obyektlərində, zaman və bu istifadə gələcək bir bəlkə, bəlkə də, çap istəyirəm NSArray, və ya NSDictionary, və ya NSString. Belə ki, həmçinin, bizim NSLog ki, qeyd Şərhdə, biz ön giriş bir var kotirovka - ki, indi strings demek deyil Objective-C obyektlər var. Onlar artıq sadəcə char ulduz var. Onlar obyektləri istəyirik və kimi müalicə. Belə ki, bu, həqiqətən vacibdir ki, zaman Siz NSLog istifadə bir NS edir string, siz lazımdır o deməkdir ki, qarşısında bir at əlavə etmək üçün tırnak. Siz bütün, burada, bax ki, var mənim funksiyası, bu NSLog çağırır , quotes qarşısında var hətta % d və% f-nin olsa C. bütün eyni Hər hansı bir sualınız indiyə qədər? Mən bu tez keçmək üçün cəhd edəcəyik biz işləmək üçün daha çox vaxt ola bilər ki, Xcode və Objective-C, belə ki, Siz uşaqlar daha çox əldə edə bilərsiniz ki, tanış. Sonra, mən bir şey vurğulamaq istəyirəm konseptual əhəmiyyətli. Belə ki, C, çox şey funksiyaları. Biz bir funksiyası zəng etmək. Biz, funksiyaları bu şəkildə bəyan geri sonra, ilk yazın funksiyası adı, parantez və sonra nə dəlilləri və növü biz daxil keçmək istəyirəm bu arqumentlər Və Objective-C, çünki hər şey bir obyekt və ya sinif - belə sinif və object iki şərtləri var ki, bir-biri ilə çox sinonimi var, mən əvəz istifadə edə bilər Seminarda ərzində. Lakin, biz üsulları var ki, görürsünüz Objective-C daha çox funksiyaları. Və üsulları obyektlərinə aid edilir. Belə ki, yalnız kimi, bəlkə almaq Məsələn, node - Bizim növü [işitilemez] pset 6 və ya 5 node - biz, sözü, əmlak var və ya növbəti node göstərici. Üsulları sadəcə daxili funksiyaları strukturunun bir növ. Belə ki, bu halda, strukturu olacaq obyekt, sonra metodu bir obyekt məxsusdur ki, bir şey. Və bu elan necə edir, sort, bir üsul. Siz, yenə geri ilə başlayacaq növü - belə ki, mən rəng çalışdı burada əsas sözləri kod ki, uşaqlar Bu, ən azı, biçimlendirme bilərsiniz funksiyası arasında oxşarlıqlar bəyannamələr və metodu bəyanatlar. Belə ki, bir geri, bilirsiniz, ilə başlamaq növü - bu halda, bir sıra var, və ya bir NSArray göstərici - və sonra bu metodu var. Və sonra, nə burada maraqlı deyil əvəzinə parantez olan, biz Bu colons var. Və sonra, bizim dəlilləri qarşısında, biz parantez, yenidən qoymaq növü Bizim mübahisə. Belə ki, indi mən etmək üçün çalışıram Bildiyiniz, n və arasında müqayisə sayı, onlar istəyirik, çünki kimi ints də. Və sonra, digər bir bir NSUInteger növüdür. Və sonra, Objective-C, zaman çox arqumentlər var istəyirəm Sizin metodu bənddə, siz sort, cür bu kimi onları ayıra - Mən bunu təsvir etmək üçün necə tam əmin deyiləm, lakin bu necə yaxşı bir nümunəsidir orada çox arqumentlər ola bilər. Siz, əlbəttə, yalnız tamamilə ola bilər Bu andArray kolon ignore NSArray Siz yalnız bir üsul istəyirdi array əgər ki, bir arqument edir. Bəli, sual. Auditoriya: NSUInteger və həm edirsiniz Qəbul edilə bilər ki, NSArray dəlilləri Bu NSArray ərzində? RHED SHI: Bəli. Belə ki, mənə izah etsinlər. Belə ki, bəli. Belə ki, sual idi NSUInteger və Arqumentləri NSArray * növləri, ki, doğru deyil. Belə ki, siz həmişə nə müəyyən etmək istəyirik arqument növüdür. Və burada mən sizə təqdim çalışıram sintaksis və vocab bəzi Objective-C, belə ki, o faktiki növləri Siz ilə məşğul olacaq ki,. Və görəcəksiniz kimi, seriallarda , sort, artıq sadə bracket şeylər. Onlar obyektləri istəyirik. Baxmayaraq ki, biz növbəti getmək əgər slide, biz görürük biz ki, hard-kodu ilə Objective-C bir NSArray qarşısında sadəcə bir at simvolu mötərizədə. I, olub, həqiqətən, olduqca əmin deyiləm Mən syntactically bir sıra ağır kodlu düzgün C versiyası, lakin var C array ehtimal. Belə ki, bu, bilirsiniz necə edir, bəlkə də funksiyaları və ya istifadə biz əvvəllər yaratdığı üsulları. Sağ? Biz bəyan Belə ki, bu bizim funksiyası və metodu. İndi biz onları istifadə etmək istədiyiniz proqram, və bu biz bunu necə. Belə ki, C, siz bilirsiniz, olardı bəlkə də, bir bool b, və siz müəyyən sonra funksiyanı bərabər və Siz dəlilləri keçir. Objective-C, bu, olduqca çox eyni şey. Siz NSArray * my_array var və bu İndi, yalnız - bərabər gedir burada fərq bu obyekt şey, Mən sarı qeyd etdik və Gördüyünüz kimi, C var başqa heç bir sarı söz. Üsulları aid, çünki bu müəyyən bir obyekt ilə. Mən bir obyekt lazımdır nə ki, var ki, növ, bu üsul çağırır sonra sayı sıfır, və Bu NSArray a, b, c, d. Ki, hər hansı suallar? Biz fəaliyyət bu anlayışlar görəcəksiniz olduqca tezliklə biz bir demo getmək zaman. OK. İndi qısa bir az danışmaq istəyirəm Bu olan Xcode 5 haqqında entegre inkişaf ortamı Siz iş olacaq ki,. Mən sizə bir çox bilirik, və ya bəzi bir problem olan Macs, yoxdur Xcode mövcud deyil, çünki Windows və PC üçün. Niyə, lakin yəqin ki, sorma - Bəli, korporativ. Nə olursa olsun. Amma hər halda, belə ki, mən üzr bəzi əgər Siz bir növ download var Mac üçün virtual maşın Xcode 5 çalıştırmak üçün. Lakin bu olduqca uykusuz istifadə software. Belə ki, əvvəl biz hər hansı daxil dalış demo, yalnız sizə bir göstərmək istəyirəm Xcode kimi görünür nə şəkil sizin pəncərə, sonra da danışmaq Bu bütün kosmik nə. Belə ki, bu cür öyrənmək kimi necə istədiyiniz istisna olmaqla, Microsoft Word istifadə bütün ilə tanış fərqli şeylər ki, burada gedir. Belə ki, ilk, mən sizi qeyd etmək istəyirəm üst toolbar. Siz üst ki, görürsünüz, Siz fayl adı lazımdır - və ya, həqiqətən, sizin layihə adı və sonra fayl adı. Tamaşanın qeyd edin və stop düymələri. Bu siz olacaq olanlardır Bu sizin app çalıştırmak üçün istifadə simulator - iOS simulator. Bu avtomatik olaraq, Xcode 5 ilə gəlir belə ki, narahat yoxdur simulator bir növ downloading. Siz yalnız play düyməsini basın və sonra sizin app çalışır. Və siz ətrafında oynaya bilər Siz sonra necə işlədiyini görmək lazımdır. Və sonra, mərkəzində, əlbəttə, Sizin gözəl kodu bütün getmək niyyətindədir. Və sonra, sol tərəfdə, will bu var, sort, qovluq - naviqasiya - və sonra siz də boyunca, görəcəksiniz ki, qovluq icon ilə, bir var digər nişanlar dəstə ki, sonra faydalı olacaq. Və sonra, sağ tərəfdə bir uygulamadır siz ilə işləyə bilər harada sahəsi obyektlərin bəzi və sizə müəyyən bilirik, rəng olmalıdır nə, nə mətn font et Cetera olmalıdır. Siz ki, hər şey baxmayaraq, kommunal sahədə, siz həmçinin kodu yoxdur. Və belə ki, mən iki keçir olacaq da, sadəcə, heç bir kodu istifadə nümunələridir - bütün və ya çox minimal kodu - bütün kodu ayələr, yalnız ki, siz uşaqlar Siz və nə edə bilər nə Xcode və Objective-C. Və sonra, nəhayət, aşağı altında, Siz debug sahəsi var. Belə ki, artıq gdb run var et Cetera, sizin proqramları. Bu avtomatik olaraq sizin üçün bunu edir. Və siz də çap edə bilərsiniz Bu sahədə stuff. Belə ki, həqiqətən, sonra, biz vasitəsilə getmək lazımdır mario.c, uşaqlar hələ də xatırlayıram əgər ki, Xcode ilə. Belə ki, fun olmalıdır. Və sonra, yalnız onu geri gətirmək üçün Objective-C, vurğulamaq istəyirəm nə Siz hesabatları ilə edə bilərsiniz. Objective-C çünki Belə ki, bilirsiniz, bir C superset siz hər şeyi edir C. Siz kimi sözün, yalnız eyni yüngül fərqlər var. Belə ki, bir halda forma görəcəksiniz Şərhdə hələ də eyni - Siz Siz parantez var sonra əgər və daxilində bir vəziyyət, və sonra nə üçün qıvrım aşırma Orada daxilində etmək istəyirəm. Lakin, bu slide up qoymaq istədi burada, sadəcə göstərmək üçün, biz indi obyektləri ilə məşğul olduğunuz çünki biz bu şeylər istifadə etmək olacaq adlandırırlar, simli bərabər olan bir deyil, coincidentally, bir üsul string və ya NSString obyekt. Belə ki, söz, bu halda, bir NSString edir obyekt, və bu deyilən bir üsul var simli bərabər və sonra biz keçən edirik görmək üçün ağır kodlu simli bu bərabər olub bir-birinə. Hər hansı bir sualınız indiyə qədər? OK. Və mən artıq getmək istəyirəm də bəyanat a. Belə ki, məsələn, biz istəyirdi loop C simli uzunluğu üzərində, bu sizə tanış olmalıdır. Və, Objective-C, I istəyirəm , sort, bu qeyd etmək metodu count çağırıb. Yaxşı, həqiqətən, mənə bildirin yalnız geri almaq. Count serialın bir metodudur. Lakin, daha çox xüsusi bir niyə olan serialın əmlak dot notation istifadə edə bilərsiniz. Amma mən çox almaq istəmirəm Bu konseptual stuff, mən yalnız istəyirəm şeyi baxmaq necə göstərmək üçün kimi C. qarşı Objective-C Və həmçinin, mən qeyd etmək istəyirəm ki, Mən NSUInteger istifadə etdik baxmayaraq Objective-C bütün i nin qarşısında, int çünki siz də, int istifadə edə bilərsiniz Objective-C tamamilə etibarlı, həmçinin. Bəli? Auditoriya: yalnız mı üslub, və ya - RHED SHI: Bəli. Belə ki, görəcəksiniz kimi - belə ki, sual idi ki, yalnız bir üslub məsələ. Siz görəcəksiniz kimi, mən bir, sort, ulduz var ulduz aşağı altındakı şey, və ki, link bir Stack Overflow götürür kimsə izah harada təşkil bir int arasında fərq NSInteger və NSUInteger. Belə ki, siz daha sonra oxuya bilərsiniz. Bu slaydlar əlbəttə, olacaq, sizin üçün. Baxaq. OK, zəhmli. Belə ki, bu da slayd daxil edilir Mən bu böyük idi düşündüm, çünki sizə təqdim ki, veb Objective-C sintaksis. Belə ki, əslində, niyə biz hərəkət etmir Chrome və bu web kontrol? Sağ. Belə ki, nə sizə göstərmək istəyirəm burada uşaqlar bu image edir. Belə ki, bu, sort, olacaq nə Əgər hər hansı bir daxilində görmək olacaq Xcode file. Əslində, niyə biz yalnız bir etmirlər , növ, daxil bu almaq üçün an Belə ki, bu kitab - ki, obyekt var ki, biz ilə məşğul olduğunuz. Və sonra, bu, açıq-aydın olacaq başqa obyekt miras, lakin siz narahat yoxdur. Və sonra, bu, bəlkə də var Bəzi üzv dəyişənlər. Mən sizə göstərmək istəyirəm mühüm şey burada instansiya üsulları var. Belə ki, məsələn, üsulları qeydi edilir Bu minus işarəsi ilə. Siz görəcəksiniz kimi Və sonra, biz istəyirik artıq paradiqma görmək üçün başlanğıc metodu bəyannamə üçün, sağ? Qaytarılması növü, metodu adı, və sonra dəlil növü, və sonra dəlil adı. Bu minus sign bir var o deməkdir ki, instansiya metodu, o deməkdir ki, bu metodlar yalnız mövcuddur instantiated edilmişdir ki, obyektlər. Bir plus ilə fərqli, metodlar Onların qarşısında imza sinif üsulları, siz zəng edə bilərsiniz deməkdir ki, bu metodlar, hətta yoxsa bir obyekt hələ yaratmışdır. Belə ki, açıq-aydın bir misal üçün, NSString bir sinif edir. Və siz, məsələn, zəng edə bilərsiniz, NSString sinif üsulları - faktiki, kimi, söz NSString. Lakin, sifariş, bu istifadə etmək metodları, həqiqətən, bir string yaratmaq lazımdır. Məsələn, NSString star string bərabərdir kotirovka nişanı da, dünya salam. Və sonra, bu üsulları istifadə edə bilərsiniz - instansiya üsulları - ki, salam dünya simli. Belə ki, arasında fərq var instansiya üsulları və sinif üsulları. Və biz yalnız bu hissəsini əhatə edirdi. Xüsusiyyətləri var ki, başqa bir şey var obyektlərin daxilində, əsasən. Və onlara bəyan əmlak söz at. Siz burada, bu variantları var, mən sonra izah edəcəyik ki, biz bir demo daxil. Bəli? Hi. Auditoriya: siz edin zoom bilərmi? RHED SHI: yes Oh. Üzr istəyirik. Auditoriya: Təşəkkür edirəm. RHED SHI: Bu çox yaxşı olmalıdır. Auditoriya: Bəli. Təşəkkür edirəm. RHED SHI: Bəli, mənə xatırlatmaq edin Mən Yakınlaştırmak və ya uzaklaştırmak unutmayın. Belə ki, bu mən istəyirdim bütün üçün sizə göstərmək üçün - oha, bir çox var - Bu veb. Belə ki, geri slaydlar gedək. Əslində, indi bir an qoy bir demo daxil dalış. Beləliklə, biz bir ilə başlamaq lazımdır yeni Xcode layihə. Belə ki, bütün Xcode açmaq lazımdır, əgər Sizin maşın, bu, bəzi almaq lazımdır kimi, açıq ya, deyir səhifə harada up mövcud layihə və ya yeni layihə, və olmalıdır yeni bir layihə basın. Və sonra, bu almaq lazımdır bu ekran siz. Bəli? Auditoriya: Biz bir Mac yoxsa, biz yalnız növ Chill edirsiniz? RHED SHI: Və ya baxmaq kimsə ilə, evet. Bəli. Siz də, Chill bilər. OK. Belə ki, biz indi, ilk etmək olacaq, , həqiqətən, biz nə olacaq bir tək keçirmək ərizə. Siz görəcəksiniz Belə ki, nə böyük var Xcode və Apple dəstək haqqında developers siz bir çox var ki, artıq işləmək şablonları. Siz, məsələn, bir edə bilər master-ətraflı tətbiqi. Siz bir oyun edə bilərsiniz - və həqiqətən, Mən oyun daxil deyil, oyunlar fərqli bir hekayə var, çünki iOS inkişafı üçün. Onlar cür, ayrı-ayrı edirik mən ki, daxil deyil. Sonra, səhifə-based var applications. Siz nişanı proqram - Belə ki, məsələn, kimi, Bank of America yəqin ki, kimi, bir sekmeli app var. Bu olduğu olanlar var altındakı düymələri. Və sonra, bir Sprite Kit oyun var. Yoxsa, sıfırdan işləyə bilər Biz sonra edəcəyik nə. Amma edək, birinci, ilə başlamaq bir görünüşü tətbiqi. Sonra o, bir ürün adı üçün xahiş edəcəyik, və biz yalnız test edə bilərsiniz. Təşkilatın adı - belə ki, təşkilat adı, şirkət identifier - Siz olacaq əgər o vacibdir app mağaza app qoymaq. Başqa, kodu gedir Bu olmadan tamamilə gözəl run. Bu əhəmiyyətli olacaq siz əgər istəyirəm - hər se, kimi, sizin app qoymaq Sizin telefon və ya bir şey, və test üzərində onu, bilirsiniz, real həyatda - Bu əhəmiyyətli olacaq. Bu adətən ilə bağlı çalışır geliştirici hesabı bir növ Apple ilə. Və mən, yəqin ki, siz bir çox bilirik hər hansı bir geliştirici hesabı yoxdur. Mən universitet bir var bilirəm. Mən CS bir var. Lakin, mənə e-poçt və mən cəhd edəcəyik sizin üçün ki, anlamaq üçün. Amma indi, mən yalnız gətirdik burada bəzi tutucu şeylər. Və, əlbəttə, burada, seçə bilərsiniz Siz yalnız olmaq istəyirəm olub iPhone, iPad, və ya hər ikisi - universal proqram. Belə ki, indi üçün, yalnız, universal edək Platformanın hər iki görmək. Baxaq. Belə ki, indi, mən saxlamaq üçün gedirəm Bu qovluq bir növ. Yerləşir etməz - siz həmişə sonra hərəkət edə bilər. Və indi, biz gətirilir Bizim Xcode layihə. Mən bütün bu narahat deyil. Mən hər hansı bir toxunan gəlir ki Bu, bilirsiniz halda dəqiq nə Siz yapýyorsun. Belə ki, bütün bu, yalnız ignore çox hissəsi üçün. Siz toxunmaq lazımdır, və əgər deyil burada bəzi şeyləri siz mess up etmək, bu bir az çətin olur. Belə ki, niyə biz baxmaq yoxdur üzrə faylları Bizim naviqator sol tərəfdən. Burada, biz AppDelegate.h var. Biz AppDelegate.m belə var will kimi bildiriş, biz faylları, header olan dot saat başa, və biz həyata keçirilməsi - həqiqətən, mənə daxil zoom imkan OK. Mənə daxil zoom edək Sağ, belə ki, faylları header və var Siz icra faylları var. Əslində - OK. Bu, bir az qəribə lakin mənimlə daşıyırlar. Sonra, çünki biz bir görünüşü seçdiyiniz tətbiqi, biz olacaq Kadr lövhəsindən ilə iş. Belə ki, eskizlərinin bir şeydir ki, Apple həqiqətən kömək etmək üçün gəlib developers sürətlə prototip onların applications. Yaratmaq bilər ki, bu bir yazılı olmadan bir app Kod vahid line. Lakin, bir görünüşü proqram, biz, əlbəttə, bir var , bizim fikrimizcə üçün fayl olan bir görünüşü nəzarətçi edir. Beləliklə, biz mövzu var və burada həyata file. Və mən indi həyata zoom gedirəm, çünki biz Kadr lövhəsindən işləmək lazımdır. Belə ki, burada bizim görünüşü var. Biz, sadəcə, indi app çalıştırmak gedən çox maraqlı deyil. Belə ki, bu ağ ekran görəcəksiniz. OK? Və bizim kommunal sahədə biz əlavə edə bilərsiniz ona müxtəlif şeyi bir dəstə. Belə ki, ekranlar ilə məşğul olduğunuz zaman iOS keçirmək kontrollerlər var içine obyektləri, sort, sizin views. Belə ki, bir görünüşü nəzarətçi həmişə view əmlak çağırıb. Və görünüşü, adətən, var bilirsiniz, nə ekranda görmək istəyirik. Belə ki, yaxşı, yalnız qoyaraq başlamaq bildirin bəlkə, bəlkə bir etiket. Belə ki, orada bir etiket qoymaq bildirin - ortasında qalmaq. Belə ki, indi mən, etiket tıklayan etdik ki, xassələri müfəttiş daxil edə bilərsiniz və onun dəyəri dəyişən başlamaq. Nin CS50 Colours zəng edək. Və mən də font dəyişə bilərsiniz. Əvəzinə sistemi, bunu belə olan default, biz xüsusi bir birini edə bilərsiniz. Biz dəyişə bilərsiniz - bilirsiniz, ultralight, 32 edir. Və sonra, biz box böyük edə bilərsiniz. Auditoriya: Siz zoom edə bilərsiniz düşünürsünüz yalnız bir az daha, bəlkə? RHED SHI: Evet? OK. Auditoriya: Sadece kran? RHED SHI: Bakalým. Bu iş? Auditoriya: Yalnız Xcode keçmək? RHED SHI: Sure. OK. Awesome. Auditoriya: altında etiket? Etiketi? RHED SHI: Nə olub? Auditoriya: Açılan altında etiket idi? RHED SHI: Belə ki, sual, nə açılan altında etiket idi? Bu, sadəcə, burada altında olmalıdır. Mən bunu bir kub şey danışarlar. Lakin adətən, bu default edir - Mən burada aşağı gedirəm Mən bir etiket tapmaq qədər. Bəli. Belə ki, indi biz etiket var. Nin mərkəzi edək. Və Xcode bizə qaydalar verir obyektlərin mərkəzə üçün. Belə ki, indi yenə bizim kodu run bildirin. Orada getmək. Belə ki, biz CS50 Rənglər var. İndi, bir düyməsini qoymaq bildirin orada, sağ? Biz etmək istəyirəm, çünki Bu interaktiv. Belə ki, burada bir düyməsini qoymaq bildirin. Və biz burada bu düyməsinə "kran zəng edəcəyik davam edir. "Biz də bunu mərkəzi lazımdır Əslində, bu, artıq mərkəzi oldu. Bəli. Belə ki, indi biz bir düyməsinə var. Yenə bu run əgər, biz olacaq burada bir gözəl az düyməsini var. Və mən bunu basın, lakin etmir bir şey, biz görülən deyil, çünki hələ düyməsinə ilə bir şey. Belə ki, hüquqları, bir görünüşü yaratmaq imkan? Belə ki, mən kran istədiyiniz deyək düyməsini və mən istəyirəm başqa səhifəyə gedin - başqa görünüşü. Mən gedirəm, mən yarada bir görünüşü nəzarətçi, sağ? İndi mənim düyməsinə basın, və sonra, lazımdır mühüm şey gedirəm edir basın - və ya - bəli, mənim klaviatura mətbuat nəzarət. Control. 'Düyməsinə basın, və sonra sürükleyin. Belə ki, nəzarət düyməsini xatırlayıram. Ki, daha nə edək. Belə ki, nəzarət keçirilməsi basın və drag Siz istədiyiniz nə. OK. Və indi mən burada bir neçə seçim var. Mən ya təkan, və ya bir edə bilərsiniz modal, və ya xüsusi bir edə bilərsiniz. Push Siz yalnız bir naviqasiya nəzarətçi. Hal-hazırda, bizim ilk baxış nəzarətçi hər hansı bir daxili deyil naviqasiya nəzarətçi. Belə ki, naviqasiya nəzarətçi biridir ki, siz geri düyməsinə verir Siz harada iOS app, bilirsiniz, ki, üst, sort, qalın bar - Siz geri, və ya edə bilərsiniz irəli, et Cetera. Hal-hazırda, mən ki, yoxdur. Mən bir təkan edə bilməz niyə Və belə ki, var. Belə ki, mən təkan tıklayan təsadüfən, burada. Və həqiqətən, kodu run edək, və məni qəza etməlidir. Mən düyməsini basın yalnız baxmayaraq ki, - sağ. Belə ki, bu pis. Və, siz burada, gördüyünüz kimi biz səhv mesaj var. Belə ki, "Push segues yalnız istifadə edilə bilər mənbə nəzarətçi bir tərəfindən idarə olunur UI naviqasiya nəzarətçi instansiya. " Belə ki, bu daxilində deyildi, çünki naviqasiya nəzarətçi, Mən edə bilmədim. Belə ki, indi, mən geri gedirəm qovluq geri Kadr lövhəsindən gedir. Auditoriya: naviqasiya nədir nəzarətçi, yenidən? RHED SHI: Belə ki, indi mən sizə göstərmək lazımdır. Baxaq. Beləliklə, mən bu görünüşü basın gedirəm nəzarətçi və sonra getmək üçün gedirəm məhsul qədər - həqiqətən, heç bir, sorry - redaktoru. Və mən getmək üçün gedirəm - Əslində, mən bunu basın idi? No Orada getmək. Mən redaktoru qədər getmək üçün gedirəm, aşağı getmək embed və sonra naviqasiya nəzarətçi. OK. Və mənim iş, həqiqətən messy görünür belə ki, bu təmiz bildirin. Belə ki, bütün bu eskizlərinin edir. Və bu şəkildə - OK, dayandırmaq - Mən tez bir şey inşa edə bilərsiniz bu kimi. Və sonra, indi geri getmək bilər, bilirsiniz? Amma bu doğru cür qazma var? Belə ki, mən bunu istəyirəm nə, mən istəmirəm , sadəcə, bir görünüşü etmək nəzarətçi. Mən həqiqətən etmək istədiyini deyirlər bir masa keçirmək nəzarətçi, mən qoya bilər cədvəldə bəzi gözəl rəng. Belə ki, indi mən masa görünüşü qoymaq etdik ki, nəzarətçi, mən geri birləşdirmək lazımdır Bu düyməsinə üçün view nəzarətçi. Belə ki, mən nəzarət etmək lazımdır, klik, drag şey yenidən. Mən embed çünki İndi, təkan edə bilərsiniz bir naviqasiya nəzarətçi daxilində. Auditoriya: Naviqasiya nəzarətçi yalnız Siz yerdən yerə getmək üçün imkan verir? RHED SHI: Bəli. Belə ki, daha çox texniki, bu bir obyekt yerləşir - belə ki, naviqasiya daxili nəzarətçi obyekt, o, bir sıra tutar. Və array bütün sonrakı keçirir kontrollerlər bilərsiniz. Siz geri düyməsini basın zaman görə ki, bu, əvvəlki səhifəyə geri gedir. Çünki naviqasiya nəzarətçi obyekt, və ya qayğı ki, kodu bu obyekt saxlayır ki, bir sıra var Bu view kontrollerlər izlemek və sonra, bilirsiniz, görünüşü DQ bilərsiniz nəzarətçi və geri vermək Əvvəlki biri. Belə ki, bu texniki stuff, lakin - və daha sonra sizə göstərmək lazımdır kodu, biz vaxt varsa. I növ vaxt həyata çalışan edirəm, lakin - Belə ki, masa ilə, biz nə edə bilər - Bu adətən avtomatik olaraq təyin edir Dynamic prototip - biz Static Cells etmək olacaq, əks halda biz olacaq bəzi problemlər daxil. Və sonra, mən gedirəm deyək bir bölmə var. Belə ki, bölmələr kimi - Əgər musiqi app gördüm əgər, zaman Siz rəssamlar, bölmələr ki var A Z's vasitəsilə - məktublar - və sonra, bilirsiniz, fərdi satır rəssam adları olacaq. Və belə ki, nə burada sərin var, mən bilər ki, daxili obyektlərin bütün daxil olmaq bu mənim eskizlərinin açılan menyu, çox. Belə ki, mən bölməsində basın gedirəm, və mən, bilirsiniz, bəlkə beş satır istəyirəm. Və sonra, hər bir sırada daxilində, Mən bir etiket qoymaq istəyirik. Və mən bu mavi zəng etmək üçün gedirəm. Və sonra, mən, bir UI görünüşü qoymaq istəyirəm bəlkə bir az qutusu, kimi, üçün, bilirik. Mən insanlara göstərmək olar ki, rəng bir preview. Mən geri əmlak getmək lazımdır oh, mən bunu ki, rəng dəyişdirmək bu bir bilirik. Və sonra, mən zaman, burada, həmçinin qeyd aksessuarlar, mən çox ola bilər müxtəlif aksesuarlar Siz adətən görürük. Bu açıqlama göstərici, ətraflı, və ya nişanı yoxlamaq, və ya sadəcə yalnız ətraflı. Belə ki, bəlkə biz kimi, bir açıqlanmasını edə bilərsiniz göstərici, məsələn. Və sonra, niyə biz bu, surəti etmirlər yapışdırın və onları qoymaq Növbəti masa satır. Belə ki, biz bu Sarı zəng edə bilərsiniz. Və mən bu uzatmaq üçün ola bilər. Nin sarı edək. Və bu şəkildə, biz kopyalayabilirsiniz Bizim yol aşağı yapışdırıb. Bu nə idi? Purple. Belə ki, bu bütün tipik CS50 var Siz sinif gördüm ki, rənglər - həqiqətən, sorry - və ya web. İnşallah uşaqlar bilərsiniz Mən burada yapýyorum nə. OK. Son bir. Auditoriya: Necə əlavə etməyib ilkin sıra? RHED SHI: Belə ki, sual idi, necə Mən əvvəlcə sıra əlavə etdi? Mən bu masa hissəyə getdi - və ya lakin mən masa bölmə seçin - və sonra, burada, mən yenilənir satır sayı. Və mənə bu işləri ümid edək. OK. Bu işləri əgər in nəzər salaq. Oh, mükəmməl, zəhmli. OK. Mən demo, bəzi tikinti isə şeylər üçün təşəkkür uyğun, belə deyil alqış. Bəli. Belə ki, görək. Biz bu doqquz etmək üçün yalnız etmək lazımdır hər şey - və ya, həqiqətən, edək, yalnız açıqlanması bu bütün çevirmək göstəriciləri. Və sonra, mən də, sizə göstərmək istəyirəm nə, Mən o hər bilər necə oldu masa satır və onlara qarşılıqlı var - oh. No Oh. Həmçinin, mən göstərmək istəyirəm - burada, mən adı qoya bilər mənim naviqasiya nəzarətçi, sağ? Belə ki, həqiqətən, siz qısa müddətdə, görəcəksiniz I daxilində bu görünüşü nəzarətçi əlaqədar naviqasiya nəzarətçi, biz görürük bizim üst bu navigation bar eskizlərinin nümayəndəliyi bir görünüşü nəzarətçi. Belə ki, bu, kimi, vizual bizə verir sort, bizim görünən ekran guide. Bu açıq-aydın gedir naviqasiya bar ola bilər. Və nə tez etmək istəyirəm, indi başqa qoyulur - Mən etdim bu masa keçirmək nəzarətçi bu bir alaraq və sürükleyerek burada, və mənə icazə neler var tez, həqiqətən, bir masa görünüşü yaratmaq nəzarətçi. Biz baxmayaraq vaxt varsa, will ki, bax, program, bir var bir masa yaratmaq daha çətin az görünüşü nəzarətçi, çünki orada ki, üsulları bir neçə Siz, sort, yazmaq üçün tələb olunan masa görünüşü üçün həyata nəzarətçi düzgün nümayiş olunacaq. Lakin, yalnız, indi sizə göstərmək istəyirəm Mən bu almaq əgər, nümunə, məsələn - Mən başqa view nəzarətçi qoymaq etdik. İndi, mən nəzarət etmək istəyirəm deyək mənim ilk mavi alt bura masa satır. Və mən bu mavi zəng etmək istəyirəm. Və sonra - nin görək. İndi görünüşü oldum və dəyişə bilərsiniz mavi fon. Və belə ki, bildiriş, burada, bu açılan menyu da bütün bir iyerarxiya verir bu obyektlərin. Belə əhəmiyyətli bir şey, burada qeyd etmək ki, burada bu şeyi, - Bu masa keçirmək nəzarətçi, masa görünüşü Cədvəl görünüşü ikibölməli, masa keçirmək mobil - bütün bunlar var kodu, obyektlərin. Belə ki, bilirsiniz, bir etiket indi altında məzmun görünüşü et Cetera. Belə ki, və s. Beləliklə, biz bu kodu run əgər, biz bir şey görmək lazımdır - Bu əgər in görək - Bəli. Belə ki, orada biz gedin. Lakin, biz bunu yoxdur, none bu başqa şeylər çalışır. Sağ? Belə ki, yalnız bu bir işləyir. Və zaman naminə, mən olmayacaq qoyaraq, bilirsiniz, getmək digər olanları aşağı. Bu sonu, növ, eskizlərinin - Mən göstərmək istədim nə Kadr lövhəsindən üçün. Və mən bir işlənib misal var, həqiqətən, burada. Belə ki, bu eskizlərinin edir Mən əvvəllər etdi. Gördüyünüz kimi, belə ki, bu idi mənim naviqasiya nəzarətçi. Sonra mən ilk görünüşü nəzarətçi idi, sonra mənim masa keçirmək nəzarətçi idi, və sonra mən bütün bu idi - belə əvvəl, mən bunu çox fərqli bir şey. Belə ki, o şeyi bəhanə. Mən yəqin ki, sonra əvvəl onu təmizləmək lazımdır Mən istehsalı onu göndərin. Biz bu run əgər Lakin, biz görəcəksiniz variantları bütün ki, bizə mövcud. Mən fonları etmədiyini istisna olmaqla bu rənglər. Belə ki, gözəl sadə proqram. İndi həll etmək üçün cəhd edək Bu program. OK. Belə ki, nə, biz yalnız olacaq yeni Xcode layihə başlamaq üçün. Biz artıq boş tətbiq etmək lazımdır biz istəmirik, çünki eskizlərinin. Belə ki, mən sadəcə özümü deyil məhdudlaşdıran deyiləm Kadr lövhəsindən hər hansı bir istifadə boş proqram deyil Mənə bir eskizlərinin verir. Bu yalnız qarşısını almaq üçün aldadıcı özümü. Baxaq. Gözləyin. Mən - bəli. OK. Sağ. Belə ki, burada, biz sol başqa, lakin kodu heç bir şey. Belə ki, mənə bu pəncərə hərəkət edək qədər artıq. Sağ. Burada göründüyü kimi, yalnız faylları biz sunulur var AppDelegate.h və dot m və biz yoxdur artıq eskizlərinin. Biz bu run Belə ki, biz hələ gedir ağ ekran almaq, Allaha şükür. OK - white ekran, lakin başqa heç bir şey. Və burada mühüm hissəsidir. Hərəkət olur yerdir. Əvvəlki versiyalarında var adətən heç burada kodu, lakin eskizlərinin mahiyyətcə təmin edir bu hissəsi üçün kodu. Mən necə təfərrüata varmaq olmaz. Və biz indi nə etmək istəyirəm ki, biz istəyirik ki, bu kiçik məkanda burada getmək və yenə bizim app yaratmaq başlayır. Belə ki, - bəli? Auditoriya: Zoom? RHED SHI: Zoom. Əmin, Bəli. OK. Mən bu olmamalı yazaraq olacaq məsələ çox. OK. Belə ki, ilk, biz yaratmaq istəyirdi unutmayın naviqasiya nəzarətçi, sağ? Və həmçinin, burada görə bilərsiniz kimi, Xcode həqiqətən böyük bir iş yoxdur self-doldurulması. Belə ki, siz görəcəksiniz kimi, adları hər şey çox artıq olan adi, lakin Xcode sizin üçün doldurur. Mən yalnız Enter düyməsini basın bilərsiniz. Belə ki, bir UI naviqasiya yaratmaq istəyirik nəzarətçi pointer, və mən zəng edə bilərsiniz navigationController. İndi, mən indi nə etməliyəm? Bu bərabər işarəsi sonra, mən, ilk lazımdır yaddaş daxilində yaradır. Belə ki, mən NavigationController gedirəm alloc - belə ki, bu malloc oxşar, ki, C istifadə uşaqlar - və sonra, mən bunu init gedirəm. Belə ki, bu, həqiqətən vacibdir ki, hər hansı yaratmaq ki, obyekt, istədiyiniz alloc və init. Ki, yaratmaq üçün gedən və yaddaş daxilində instantialize, və İndi siz onu istifadə edə bilərsiniz. Bütün hüquqlar? Bunu deyilsə, obyekt yoxdur mövcud, və bir dəstə daxil olacaq deyil problemləri. Və sonra, mən yaratmaq istəyirik bir görünüşü nəzarətçi, sağ? Belə ki, bir UIViewController yaratmaq istəyirik star - belə ki, hər şey bir göstəricisidir Objective-C, və mən gedirəm oxşar bir şey, burada - alloc, init. OK. Və sonra mən nə gedirəm mən oldum, gedir - biz belə zaman, xatırlayıram naviqasiya nəzarətçi embed? Bu kodu bunu necə edir. Siz navigationController nə olacaq pushViewController - Auditoriya: [işitilemez]. Bu, bizim üçün baş, və ya olacaq -? RHED SHI: Bəli, Oh. No Bu mənə daha yaxşı bəyənir. Xeyr, bu, çox, sizin üçün işləmək lazımdır. Belə ki, bu bütün üsulları var. Belə ki, pushViewController bir üsul və də, daha dəqiq desək, bir var UI instansiya üsulu naviqasiya nəzarətçi. Mən UI naviqasiya yaratmaq idi, çünki nəzarətçi star, və sonra Bu pushViewController zəng edə bilərsiniz mənim bir UI naviqasiya xüsusi instansiya nəzarətçi. Auditoriya: Biz dəqiq nə var söz, və ya artıq bunun üçün mövcud? RHED SHI: Bəli, bu bir üsulu var çünki. Bu funksiyası kimi. Bu printf kimi. Bu scanf kimi. Bu strcompare kimi. Bu istədiyiniz bilər nə bilir istisna olmaqla yazın, və qeyd edir ki, o, həmişə lazımdır olan şeylər ilə gəlmək qanuni sizin üçün icazə. Belə ki, burada heç bir şey göstərir, əgər, sonra bir şey səhvdir. Belə ki, pushViewController. Belə ki, indi mən basmaq istəyirəm mənim yeni yaradılmış UIViewController, və sonra, animasiya - bəlkə deyil. Bu olacaq, çünki ilk görünüşü nəzarətçi. Mən animasiya etmək, hətta əgər, demək yəqin ki, göstərilir deyil, çünki bu ilk ekran var. Və Mötərizədə xatırlayıram. Belə ki, biz Mötərizədə istifadə necə xatırlayırsınız? Və Mötərizədə daxilində, obyekt üsulu çağırır - belə ki, bizim obyekt naviqasiya nəzarətçi və metodu təkan view nəzarətçi cizgi. Və bu iki dəlilləri edir necə, və onlar, sort tərəfindən ayrılmış edirik sözlər, və kolon. Belə ki, Objective-C gözəl etmək üçün çalışır və asan yüksək səslə oxumaq üçün - Sizin kodu - və yarı var, sort, hissi verir. Lakin, yalnız bunu kifayət deyil. Mənə indi həyata zoom edək. Yalnız bunu etmək üçün kifayət deyil biz əvvəllər var nə almaq. Belə ki, burada siz olduğunu görəcəksiniz həqiqətən, heç bir növ olacaq deyil burada, bar, sağ? Heç bir navigation bar, olan vasitələri var biz hələ də kazanılmış deyil ki. Və biz test edə bilərsiniz, həmçinin, tərəfindən, bəlkə, fon dəyişən ViewController, sağ? ViewController.background - ah. Belə ki, ViewController yox idi necə fon rəngi, baxmayaraq mən daxil olmaq istəyirdi? Və çünki ViewController görünüşü üçün bir konteyner edir. Belə ki, bir görünüşü əmlak var sonra bir fon rəngi var. Və mən sort maraqsız, bilərsiniz, rəng axtararaq Bu UIColor obyekt. Belə ki, burada bildiriş, redColor bir üsuldur. Bu UIcolor bir sinif metodu var. Mən yaratmaq yox idi, çünki üçün bir UIColor faktiki instansiya bu barədə üsulla zəng etmək üçün. Mən yalnız, sadəcə, onu çağırıb növü kimi adı. Int var idi, mən kimi, int adlı kimi, misal üçün ona bir üsul. Biz bu kodu run əgər belə, biz will fon olduğunu qeyd həqiqətən qırmızı deyil. Bu hələ ağ. Və necə ki, ətrafında əldə edə bilərsiniz Bu self.window var necə görürsünüz. Ki, kimi, son konteyner edir Sizin tətbiqi üçün. Bu ehtiva son şey bir ekranda hər şey, iPhone və ya iPad tətbiqi. Və, rahat, self.window adlanan bu əmlak var rootViewController. Və ki, göstərici olacaq içərisində ilk baxış nəzarətçi Sizin app. Belə ki, biz burada nə etmək istədiklərini, indi, Bizim naviqasiya üçün bərabər müəyyən nəzarətçi. Sağ? Texniki, naviqasiya, çünki nəzarətçi bizim ilk rəyidir nəzarətçi. Bu, digər görünüşü bir sıra tutar kontrollerlər, və biz bu basdı ki massivinə view controller naviqasiya nəzarətçi. Belə ki, bunu istəmirəm. Ki, həqiqətən sizə kömək deyil. Siz istəyirdi əgər Siz bunu istəyirəm naviqasiya nəzarətçi olan ən siz yəqin ki, lazımdır, çünki üzvü , sort, bir növ var kimi, geri getmək üçün menyu və ya bəzi daha bir çox, geri getmək üçün homepage boş ekran. Bəli? Auditoriya: o narahat edir - Siz haqqında zoom üçün RHED SHI: Bəli. Belə ki, Bəli. Bu, indi kodunu, və nin həyata test imkan verir. Belə ki, orada biz gedin. Magic. Belə ki, OK. Təşəkkür edirəm. OK. , Belə ki, - belə ki, indi, biz nə istəyirik biz növ sağ, burada, məhdud edirik? Biz potensial hər şeyi yazmaq bilər bu bir funksiyası daxilində. Amma ki, necə iOS inkişaf deyil adətən işləyir. Belə ki, biz nə olacaq, biz istəyirik ki, bəzi yeni faylları yaratmaq niyyətindədir. Lakin, daha dəqiq desək, biz olacaq başqa Objective-C sinif yaratmaq, və ya bir obyekt - sinif və obyektlərin əvəz edir burada. Və burada potensial, necə ola bilər ki, U nəzarətçiləri bir sinif yaratmaq. Siz görəcəksiniz kimi, belə ki, bu, bir sub-sinif burada, bu bir sub-sinif UI görünüşü nəzarətçi, amma mən burada hər hansı digər adı çağırırıq. Mən bu CS50 zəng edə bilər, mən zəng edə bilər Bu görünüşü nəzarətçi, mən zəng edə bilər Bu blah view nəzarətçi - Mən istəyirəm bir şey. Bu sinif üçün yalnız adı. Lakin, vacib olacaq mahiyyətcə, mən nə edirəm, çünki burada, mən yaradılması alıram başqa bir sinif adı. Belə ki, bəzi kimi, olacaq növü və ya bir obyekt sort. Belə ki, bir az ümumi olmalıdır. Bu, çox xüsusi olacaq deyil. Və həmçinin, mən qeyd etmək istəyirəm Bu iki variantları həyata. Biz daxilində hər şeyi edirik, çünki kodu, bəzən çox asandır belə ki, bir interfeys fayl gətirmək Mən sözün sürükleyin kimi, açılır biz Kadr lövhəsindən ilə əvvəllər idi - bilirsiniz, bir etiket, və ya bir düyməsinə, və ya başqa hər hansı. Belə ki, xibs imkan verir fayllar var Siz onu bağlamaq lazımdır ki, və Bu görünüşü nəzarətçi fayl. Belə ki, mən qəsdən gedirəm Bu kontrol deyil. Adətən mən bu yoxlamaq və əgər ki, mən yalnız, iPhone və ya iPad üçün bunu bu yoxlamaq və sadəcə bir olardı üçün, siz iPhone və ya iPad bilirik. Mən universal edirəm çünki, Mən gedirəm sonra bu iki yaratmaq. Belə ki, mən qəsdən gedirəm bu işaretini sil. Bu da həqiqətən vacibdir. Bir çox dəfə, I hataları yaşadım bu yoxlanılır deyil edildi. Və belə ki, açıq-aydın, bu fayl deyil, sort kimi, daxil və ya idxal Bu test qovluq daxilində. Belə ki, mənim kodu tamamilə heç bir fikir var Bu fayl mövcudluğu və ki, ağrı bir çox səbəb və ayıklama saat. Lakin, yalnız əmin bu qədər yoxlanılır etmək ki, bilirsiniz, bu hədəf fayl bu proqram üçün. OK. Belə ki, indi biz iki yeni faylları yaratdıq. Və bu faylları olduqca boş baxmaq. Və, həqiqətən, də davam edək Bu xib faylları yaratmaq haqqında. Belə ki, əvvəllər, mən idi Kakao Touch açılan. İndi İstifadəçi getmək üçün gedirəm Interface touch, və gördüyünüz kimi, mən eskizlərinin yarada bilərsiniz. Belə ki, hətta mən boş ilə başladı proqram, mən hələ istifadə edə bilərsiniz eskizlərinin. Bu baxımından çətin olur, baxmayaraq siz qoşulmaq istədiyiniz necə ki, kodu. Belə ki, mən getmək olmaz. Amma, nə biz nə istəyirik İndi bir görünüşü yaratmaq deyil. Və sizin üçün seçə bilərsiniz bir iPhone və ya iPad. Və adətən, göstərmək üçün fərq - Siz edirik, əgər universal proqram - Bir çizgi iPhone qoymaq ya və ya bir Twiddly edə bilərsiniz. Bu, həqiqətən etməz. Siz fərqləndirmək üçün sadəcə var görünüşü olan cihaz üçün olan. Belə ki, indi baxmaq. Mən ilə işləyə bilər ki, bir ekran var. Və belə ki, məsələn, bir etiket qoymaq bilər burada, bilirsiniz, və mən də qoya bilər burada başqa düyməsini basın. Mən dəyişən narahat deyil burada dəyərlər. Amma, nə burada əhəmiyyətli idi ki, fayl sahibi - belə ki, mən iPhone daxilində deyiləm görünüşü, iPhone xib fayl. Və aşağı bu naviqasiya sahədə və ya açılan menyu, mən getmək istəyirəm fayl sahibi. Və bu həqiqətən Burada mühüm addım. Mən sinif görünüşü etmək istəyirəm nəzarətçi, bu xib fayl ki, ilə bağlı olacaq mənim görünüşü nəzarətçi. Mən baxımından daxilində ki, bir şey nəzarətçi program edir burada əks olacaq. Belə ki, lakin, ki, qeyd - həqiqətən, bu görünüşü edək məsələn fon mavi,. Və ya yaşıl. Və sonra, belə ki, geri, görəcəksiniz əgər biz var bu kodu, bu bizim naviqasiya nəzarətçi. Biz addım idi baxmayaraq, bu hələ də yaşıl, qırmızı deyil olacaq. Və niyə bir səbəbi var. Biz inited zaman, çünki var bizim görünüşü nəzarətçi, burada - Bağışlayın, bu bir az crazy var - biz, burada bizim görünüşü nəzarətçi inited zaman biz ümumi tipli onu inited UIViewController. OK? Beləliklə, biz hətta etmədi Bu sinif ilə. Belə ki, indi bir sinif kimi, xatırlayıram. Bu, sadəcə, bir növü kimi fikir ola bilər UIViewController bir növü kimi. Və istifadə etmək üçün nə biz nə etmək lazımdır onu idxal edir - idxal ViewController - və, Gördüyünüz kimi, bu mənim üçün autofills. Belə ki, ViewController - və indi, burada, mən bu dəyişə bilərsiniz ViewController üçün UIViewController. İndi, burada, mən dəyişə bilərsiniz bu ViewController üçün. Yenə bu run edək. Bu hələ qırmızı oldu. Və niyə səbəbi hələ qırmızı, çünki - woah, nə oldu? Biz bu xib birləşmək istədiyini görünüşü nəzarətçi ilə fayl. Lakin, həqiqətən üçün ki, biz bu getmək lazımdır. Biz init nə zaman, biz nə istəyirik initWithNibName, sonra biz istəyirik at string View_iPhone etmək, məsələn. Siz burada paketini iqnor edə bilər. Bu imkan gedir us həqiqətən, üçün - uh oh, bir problem var. Sağ. Belə ki, bir problem var, çünki bizim görünüşü xib fayl, biz bir etiket var və bir düyməsinə var. Lakin biz bağlı olduğunuz halda bu iki, daxilində heç bir şey yoxdur ViewController.h və ya ViewController.m o əks etdirən düymələri və ya həmin yazıları. Belə ki, biz həmin yazmaq lazımdır görünüşü nəzarətçi xassələri. Belə ki, bu elan necə əmlak. Bu, adətən, edir Bu iki variantları. Bizi bu seminarın məqsədləri üçün, Mən, ümumiyyətlə, deyərdim ki ən xassələri nonatomic var və saxlamaq. Siz Google axtarış oxuya bilərsiniz, Bildiyiniz arasında fərq nonatomic və sizə saxlamaq , Google və ya bir şey bilirik. Mən Stack kimi, sizi lazımdır Insanlar olacaq Overflow, fərqlərin cavab arasında. Amma indi ki, nə biz narahat etmək istəyirəm. Və biz, bir UI etiket, ulduz etmək istəyirəm və biz istədiyiniz nə zəng edə bilərsiniz. Biz, bilirsiniz, etiket bu zəng edə bilərsiniz. Və biz başqa yaratmaq lazımdır düyməsini üçün bir. Və ulduz daxil unutmayın, biz göstəricilər ilə məşğul, çünki olduqca çox hər yerdə daxili Məqsəd-C. Lakin, hələ həll edəcək burada görə bilərsiniz kimi problem. Və səbəb, çünki zaman biz bir xib fayl etiket və ya qoşulmaq istəyirəm Proqrama düyməsinə və ya header və həyata keçirilməsi fayl, biz istəyirik kodu Bu parça əlavə - çıxış. Bu əsas söz var ki, görürsünüz. Və tezliklə mən yazaraq bitirmək kimi ki, bu olmalıdır iki dairələri, burada. Adətən, onlar da dolu deyilik Mən nə əmin deyiləm. Amma adətən, siz özünüz olacaq bu tərəfinə gedərək onları birləşdirmək kommunal sahəsi. Və belə ki, indi, mən etiket var seçilmiş, və bu yeni sürükleyin istəyirəm , mənim fayl sahibi çıxış sened və sonra Label basın. Belə ki, indi, nəhayət, bu etiket edir Bu etiket bağlı. Bu etiket olacaq nə dəyişdirmək üçün program istifadə onun mətn, font, onun background rəng, et Cetera. Belə ki, niyə biz yoxdur düyməsini eyni? Və görəcəksiniz kimi, düyməsini, bir az daha mürəkkəb var. Mən demək, çünki, siz ehtimal edirik bir düyməsinə mətbuat, belə ki, bir çox var necə istifadəçilər üçün variantları bir düyməsinə basın bilərsiniz. Və sonra, biz ki, sonra görəcəksiniz biz bu qoşula bilər bizim Bu iş üçün kodu. Belə ki, indi olsa, biz qoşulmaq istəyirsinizsə faktiki düyməsini bizim kodu daxilində. Belə ki, biz, yeni bir müraciət çıxış getmək və sonra düyməsini yoxdur. İndi yenidən bu run bildirin. Oh uh. OK. Mən indi burada neler bilmirəm. Whoa. Burada yalnız bir an. Əslində, niyə biz bir etmirlər başqa misal baxmaq zaman faiz. OK. Belə ki, burada daha asan hazırlamışdır ViewController üçün nümunə. Burada görə bilərsiniz kimi, mən daxil etdik üçün xassələri etiket və düyməsini basın. Və sonra, kodu bu parça burada - Bu IBaction - Burada bu düyməsinə bir əlaqə idi. Siz, burada Touch Up Inside Gördüyünüz kimi Bu selector bağlıdır adlı Button Bərk. Belə ki, biz, həqiqətən, ilə getmək olar hərəkət təkrar bura, Touch Up alaraq Inside və sürükleyerek Sonra fayl sahibi, Bərk Button basın. İndi, bizim kodunu run bildirin. Belə ki, indi bu düyməsinə indi işləyir və Növbəti səhifə bizim olacaq. Və bizim görünüşü nəzarətçi baxımından, Bu vermiş kod parça bərk Button qayğı. Və, burada qeyd etmək vacibdir ki, Mən fikir bir növü yaratdıq nəzarətçi bir masa adlı view nəzarətçi. Belə ki, bu geri oxşar idi eskizlərinin, mən bir sürüklənəcəklər zaman Bu masa keçirmək kontrollerlər Kadr lövhəsindən daxil. Mən başqa bir yaradılması alıram Masa keçirmək nəzarətçi gösterci, alloc və init-Ing, və sonra bunu self dot naviqasiya nəzarətçi, ViewController təkan, bu yeni viewController. Mən, bəli animasiya müəyyən etdik çünki indi mənim app, və I daxilində həqiqətən animasiya gedən görmək istəyirəm ev səhifə masa view nəzarətçi. Auditoriya: Siz hələ narahat etməyin zibil toplanması haqqında? RHED SHI: Nə olub? No Belə ki, sual var idi zibil toplanması ilə işləmək üçün? Belə ki, Xcode 4 olan, ARC kimi idi avtomatik arayış hesablanması. Belə ki, adətən yeni bir başlamaq zaman layihə, siz ki, yoxlamaq, çünki heç kim həqiqətən ilə məşğul olmaq istəyir yaddaş və stuff azad. Amma Xcode 5, hətta deyildir yeni bir layihə üzərində ki, seçim. Belə ki, avtomatik olaraq sizin üçün ki, yoxdur. Bəli? Auditoriya: Əgər bir ixrac edə Sizin Kadr lövhəsindən PDF? RHED SHI: Bəli, mütləq. Belə ki, bütün bunlar daxil ediləcək mənbə kodu, belə ki, uşaqlar kontrol edə bilərsiniz bunun üçün faktiki Xcode layihə. Bəli? Auditoriya: Amma, mən kimi, bilər demək mənim Kadr lövhəsindən ilə PDF çap? Mən yalnız ixrac etmək istəyirsinizsə kimsə göstərmək images. RHED SHI: Bəli Oh. Mən sizə yalnız bilərsiniz, bəlkə, hesab edirəm bir ekran shot almaq. Bəli, və onlara bir ekran göndər shot və ya bir şey. Bəli. Belə ki, görək. Vaxt maraq, mən hesab edirəm ki, bütün l gün əhatə edə bilər. Amma mən yalnız, həqiqətən, bilirik ki ancaq iOS yerüstü toxunan inkişaf. Belə ki, mənə müraciət çekinmeyin əgər Siz iOS haqqında hər hansı bir sualınız inkişaf. Və ümid edirəm ki, mən təmiz edə bilərsiniz qaynaq kodu bəzi up kodu faylları, bəzi lazımdır ki, ilə işləmək üçün həqiqətən gözəl nümunələri. Başqa, uşaqlar gedir əgər CS50 Hackathon, mən bilər və ya var, və mən kömək edə bilər bəzi iOS inkişafı ilə, çox. Belə ki, thanks a lot, uşaqlar.