1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> TIANYU LIU: Hey, nasıl herkesi gidiyor? 3 00:00:13,590 --> 00:00:20,250 Ve bu iOS App nesnel c Seminerin programlama. 4 00:00:20,250 --> 00:00:21,520 Ve benim adım Tianyu Liu olduğunu. 5 00:00:21,520 --> 00:00:26,114 Ben, şu anda Lowell genç değilim bilgisayar bilimi konsantre. 6 00:00:26,114 --> 00:00:28,030 Yani bu seminere ben değilim gidiş Sizi öğretmek 7 00:00:28,030 --> 00:00:30,770 Bir uygulamayı nasıl hakkında biraz. 8 00:00:30,770 --> 00:00:33,030 Yay, bunun için heyecanlı olsun. 9 00:00:33,030 --> 00:00:36,790 >> Biz bile dalış başlamadan önce Yani gerçek programlama tarafına, 10 00:00:36,790 --> 00:00:41,840 hakkında konuşmak hızla sadece gerçekten atalım neden bir iOS uygulaması oluşturmak isteyebilirsiniz? 11 00:00:41,840 --> 00:00:43,940 Neden bu kadar iOS harika? 12 00:00:43,940 --> 00:00:47,250 İlk sorunun Yani, ilk Bizim için oldukça harika bir şey, 13 00:00:47,250 --> 00:00:51,190 özellikle CS50 olarak Öğrenci, yani iOS 14 00:00:51,190 --> 00:00:55,860 Amaç C. Şey kullanır, orada Swift adında yeni bir dil, 15 00:00:55,860 --> 00:00:58,260 ama biz gitmiyoruz Bu seminerde bu kullanın. 16 00:00:58,260 --> 00:01:01,540 Orada, Swift ilgileniyorsanız Bu konuda bağımsız bir seminer olduğunu. 17 00:01:01,540 --> 00:01:05,590 Ama Objective C temelde C. Anlam bir üst 18 00:01:05,590 --> 00:01:10,230 C kullanmak her şey olabilir Objective C çevrilecek 19 00:01:10,230 --> 00:01:11,630 çok kolay. 20 00:01:11,630 --> 00:01:15,730 >> Daha sonra, o gerçekten görebilirsiniz gibi bazı çok temel sözdizimi vardır, vardır 21 00:01:15,730 --> 00:01:19,790 temel olarak tamamen aynı, C ve Objective C Yani, 22 00:01:19,790 --> 00:01:22,860 Eğer CS50 almış beri Bu kadar uzak, zaten 23 00:01:22,860 --> 00:01:26,500 en az% 40 Objective C biliyorum. 24 00:01:26,500 --> 00:01:30,720 Ayrıca, Apple gerçekten var iOS için sağlam API. 25 00:01:30,720 --> 00:01:33,750 Gerçekten çılgın bir yeri vardır şeyleri onunla yapabilirsiniz. 26 00:01:33,750 --> 00:01:36,760 Bir birisi aslında bir iOS uygulaması yarattı 27 00:01:36,760 --> 00:01:40,600 kontrol otomobiller için olan oldukça ilginç. 28 00:01:40,600 --> 00:01:42,610 Muhtemelen bir helikopter daha heyecan verici. 29 00:01:42,610 --> 00:01:47,020 Ama bu ne kadar güçlü iOS API olabilir. 30 00:01:47,020 --> 00:01:49,340 >> Ve aklınıza gelebilecek Şu anda anladım, 31 00:01:49,340 --> 00:01:53,000 yığın taşması muhtemelen biridir En önemli online kaynaklar 32 00:01:53,000 --> 00:01:54,250 Sizin için kullanılabilir. 33 00:01:54,250 --> 00:01:58,090 Ve iyi haber, her belki olabilir tek sorun 34 00:01:58,090 --> 00:02:01,840 inşa ederken düşünüyorum senin Objective C nihai proje, 35 00:02:01,840 --> 00:02:05,910 Bir yığın taşması cevap muhtemeldir. 36 00:02:05,910 --> 00:02:07,420 Sadece harika. 37 00:02:07,420 --> 00:02:12,780 Buna ek olarak, iOS gerçekten bir platform 38 00:02:12,780 --> 00:02:16,260 Eğer büyük bir ulaşabileceğiniz küçük bir çaba ile seyirci. 39 00:02:16,260 --> 00:02:20,170 Bu Android gibi değil her şey oldukça parçalanmış. 40 00:02:20,170 --> 00:02:22,540 >> Herşey iOS birleşik olduğunu. 41 00:02:22,540 --> 00:02:25,920 Ve sürece oluşturmak gibi Bir iPhone için bir uygulama, 42 00:02:25,920 --> 00:02:31,260 yapabilirsiniz çok kolay bağlantı iPad ki, iPad Mini, ya da farklı iPhone boyutları. 43 00:02:31,260 --> 00:02:33,050 Bunlar gerçekten uygundur. 44 00:02:33,050 --> 00:02:36,430 Ve bu sadece gerçekten iyi arkadaşlarınızı etkilemek için. 45 00:02:36,430 --> 00:02:38,920 Sen sadece bir iPhone tutabilir ve, hey, arkadaşına söyle 46 00:02:38,920 --> 00:02:40,250 Bu yaptığım app. 47 00:02:40,250 --> 00:02:43,860 Herhangi için bunu yapabilirsiniz güzel masaüstü uygulamaları. 48 00:02:43,860 --> 00:02:48,870 >> Pekala, şimdi aslında başlayalım dil Amaç C içine 49 00:02:48,870 --> 00:02:52,910 Peki neden biz başlamak yok Bazı gerçekten temel sözdizimi. 50 00:02:52,910 --> 00:02:57,410 Objective önce belirtildiği gibi C Bu C temelde bir üst var 51 00:02:57,410 --> 00:03:01,860 Yani temel sözdizimi bir yeri vardır Aslında tam olarak aynı. 52 00:03:01,860 --> 00:03:06,150 Bir değişkeni bildirmek ve İki değişken bir araya ekleme 53 00:03:06,150 --> 00:03:09,440 Biz Mario yapmış gibi tam olarak budur. 54 00:03:09,440 --> 00:03:11,140 Burada yeni bir şey yok. 55 00:03:11,140 --> 00:03:17,370 Döngü için >> Benzer şekilde, kiracı ve durum da aynıdır. 56 00:03:17,370 --> 00:03:22,370 Sen senin kadar sadece bir for döngüsü yapabilirsiniz Bir Mario [duyulamaz] yaptım var. 57 00:03:22,370 --> 00:03:26,280 Ve koşullar yapabilirsiniz gibi ne 58 00:03:26,280 --> 00:03:29,240 önceki p setleri yapıyor. 59 00:03:29,240 --> 00:03:33,400 Ancak, Objective C C, tamamen değil, 60 00:03:33,400 --> 00:03:36,640 ve bir şey olduğunu garip konuda. 61 00:03:36,640 --> 00:03:42,340 >> Ilki olma sen ne zaman ki C programlama yapıyor, genellikle çağrı 62 00:03:42,340 --> 00:03:46,310 dahildir ve bir kütüphane adı. 63 00:03:46,310 --> 00:03:49,860 Ama Objective C o ithalat diyoruz. 64 00:03:49,860 --> 00:03:53,100 Temelde, işlevselliği söyleyerek sadece farklı isimler. 65 00:03:53,100 --> 00:03:55,940 Ve dizeleri Aslında biraz garip. 66 00:03:55,940 --> 00:03:58,250 İlk görebilirsiniz garip bir şey 67 00:03:58,250 --> 00:04:04,190 Eğer oldukça weird-- olması sorry-- Eğer oldukça garip NS var 68 00:04:04,190 --> 00:04:04,960 Buraya oturum. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 Ve ikinci şey Bu tür garip 71 00:04:09,160 --> 00:04:14,090 Daha önce işareti bir var olan Aslında dize ilan. 72 00:04:14,090 --> 00:04:19,209 Yani işareti temelde anlamına Bir dize dize değil, sadece olduğunu, 73 00:04:19,209 --> 00:04:20,880 Aslında bir amacıdır. 74 00:04:20,880 --> 00:04:22,780 Biz açıklamak için gidiyoruz daha sonra o kadar yok 75 00:04:22,780 --> 00:04:25,800 panik Eğer yapmazsan Bu ne demek anlıyorum. 76 00:04:25,800 --> 00:04:29,980 Ve konsola baskı biraz olduğunu Farklı çünkü printf diyoruz C, 77 00:04:29,980 --> 00:04:33,350 ama Objective C biz [duyulamaz] diyoruz. 78 00:04:33,350 --> 00:04:35,640 >> Ne olduğunu merak ediyor olabilirsiniz. 79 00:04:35,640 --> 00:04:38,070 Yani, Printf temelde sadece farklı bir dil. 80 00:04:38,070 --> 00:04:41,370 Tam aynı kullanım, aynı işlevselliği. 81 00:04:41,370 --> 00:04:44,060 Peki o çıkıyor Objective C, aslında 82 00:04:44,060 --> 00:04:50,040 Bir ns Neredeyse önek vardır Her şey, her temel veri türü, 83 00:04:50,040 --> 00:04:52,690 NSDictionary, NSArray, NSString. 84 00:04:52,690 --> 00:04:56,340 nedeni ns varlık Aslında Sonraki Adım açılımı, 85 00:04:56,340 --> 00:04:59,980 hangi bir şirket olduğunu Steve Jobs, kurdu 86 00:04:59,980 --> 00:05:03,960 Bir şirket hangi durumlarda dil Objective C doğdu. 87 00:05:03,960 --> 00:05:06,140 Yani bu temelde bir gelenektir. 88 00:05:06,140 --> 00:05:09,010 Ben biraz biliyorum garip, ama Apple var. 89 00:05:09,010 --> 00:05:16,840 Hatta tuhaf bir >> Yani bir şey daha bir işlev bildirimi olduğunu. 90 00:05:16,840 --> 00:05:22,600 Bu biz ne çok farklı C görmek burada aslında, çünkü 91 00:05:22,600 --> 00:05:25,190 Artık C gibi görünmüyor. 92 00:05:25,190 --> 00:05:28,810 Eğer tarafından ötürü-- ne var Bu bir kurşun nokta değildir yolu, 93 00:05:28,810 --> 00:05:30,690 Bu bir eksi işareti olduğunu. 94 00:05:30,690 --> 00:05:36,440 Bir eksi işareti parantez var geçersiz ve ardından işlev adı. 95 00:05:36,440 --> 00:05:38,450 Sadece eğer diyelim biz Daha sonra, merhaba dünya var 96 00:05:38,450 --> 00:05:42,820 Dönüş türü geçersiz olur biz hiçbir şey geri çünkü. 97 00:05:42,820 --> 00:05:44,680 >> Ne gerçekten garip olur sen ne olduğunu 98 00:05:44,680 --> 00:05:49,580 birden fazla parametre olan Aynı işlevi geçen bu 99 00:05:49,580 --> 00:05:53,870 Burada görüldüğü gibi gerçekten garip olacaktır. 100 00:05:53,870 --> 00:05:58,230 Biz bir yöntem adı var, denilen addInt [duyulamaz] 101 00:05:58,230 --> 00:06:00,370 ve biz bir parametre geçiyoruz. 102 00:06:00,370 --> 00:06:05,170 Ama bundan sonra, biz daha yöntem adı çağrısı. 103 00:06:05,170 --> 00:06:08,500 Ve ile sonra geçen ediyoruz İkinci parametre. 104 00:06:08,500 --> 00:06:11,940 Bu, aslında biraz garip ancak tüm bu işlev bildirimleri 105 00:06:11,940 --> 00:06:14,770 Bu aynı desen izleyin. 106 00:06:14,770 --> 00:06:17,450 >> Biz başlamak için bir eksi işareti var. 107 00:06:17,450 --> 00:06:21,550 Eksi işareti artı işareti olabilir bazen yöntemin ne tür dayanmaktadır 108 00:06:21,550 --> 00:06:22,340 öyle. 109 00:06:22,340 --> 00:06:25,000 Yöntem temelde fonksiyonu için başka bir ad. 110 00:06:25,000 --> 00:06:26,760 Ve biz gidiyoruz açıklamak daha sonra zaman 111 00:06:26,760 --> 00:06:30,580 Biz nesne hakkında konuşuyor yönelimli programlama. 112 00:06:30,580 --> 00:06:34,300 Önce dönüş belirtmek , iç parantez yazın 113 00:06:34,300 --> 00:06:37,450 sonra yöntem adı geliyor. 114 00:06:37,450 --> 00:06:40,310 Sen bir parametre geçiyoruz. 115 00:06:40,310 --> 00:06:44,750 Ve daha fazla parametre varsa Eğer yöntem adı uzatmak gerekir 116 00:06:44,750 --> 00:06:46,770 ve temelde daha buraya bir şeyler yazmak. 117 00:06:46,770 --> 00:06:48,090 >> Bu istediğiniz herhangi bir şey olabilir. 118 00:06:48,090 --> 00:06:50,140 Bizim durumumuzda bu birlikte. 119 00:06:50,140 --> 00:06:56,160 Ama söyleyebiliriz sonu, ya da ya da ya Eğer istersen abc tam bar. 120 00:06:56,160 --> 00:06:59,500 Ve ondan sonra sen parametre b geçen. 121 00:06:59,500 --> 00:07:01,750 Bu gerçekten garip Kongre ama biz 122 00:07:01,750 --> 00:07:05,800 Elma istedi neden göreceğiz çok hızlı bir şekilde yapmak. 123 00:07:05,800 --> 00:07:10,530 Peki nasıl işlev diyorsunuz? 124 00:07:10,530 --> 00:07:15,520 Amaç bir işlevi çağırmadan Cı, aynı zamanda C farklıdır 125 00:07:15,520 --> 00:07:18,170 >> Aslında, çağıran bir Objective C işlevi 126 00:07:18,170 --> 00:07:21,030 Eğer birisiyle konuşurken gibi daha fazla olduğunu. 127 00:07:21,030 --> 00:07:27,030 Burada öz, var olan Bir nesne denir. 128 00:07:27,030 --> 00:07:33,830 Temelde söylüyorsun demek kendini nesne "Merhaba Dünya!" 129 00:07:33,830 --> 00:07:36,830 Bu işlevi çağırmak için nasıl. 130 00:07:36,830 --> 00:07:41,690 Bir nesne ve bir yöntem adı birbirleri ile kombine. 131 00:07:41,690 --> 00:07:49,600 Ve bu yerde garip bir uzantısıdır yöntem adı gerçekten devreye giriyor. 132 00:07:49,600 --> 00:07:52,150 >> Ikinci örneğe bakalım. 133 00:07:52,150 --> 00:07:56,780 Biz sadece denilen bir yöntem tanımlanmıştır addInt ile falan filan. 134 00:07:56,780 --> 00:08:00,066 Eğer aradığınız zaman bu durumda Yani belirli [? mesajı?] gidiyor 135 00:08:00,066 --> 00:08:02,035 kendini addInt gibi bakmak: 10: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 Bu İngilizce gibi geliyor. 138 00:08:08,070 --> 00:08:11,980 Fonksiyonu olmasına rağmen fonksiyon beyanı, garip 139 00:08:11,980 --> 00:08:15,600 Objective C yılların noktası yöntem beyanı desen, 140 00:08:15,600 --> 00:08:18,830 Eğer aradığınız zaman olduğunu fonksiyonu veya yöntem 141 00:08:18,830 --> 00:08:21,980 gerçek İngilizce gibi ses çıkarır. 142 00:08:21,980 --> 00:08:25,270 Bu yüzden çok sezgisel Eğer içine bir kez olsun. 143 00:08:25,270 --> 00:08:28,740 >> Özellikle bu durumda, nerede temelde olabilir 144 00:08:28,740 --> 00:08:33,010 işlev adı olduğunu görüyoruz çeşit kendini belgeleyen. 145 00:08:33,010 --> 00:08:35,390 Herhangi gerek yok Daha fazla açıklama görmek için 146 00:08:35,390 --> 00:08:42,770 tam ne oluyor, ne Tam bir parametre yapıyor. 147 00:08:42,770 --> 00:08:48,470 Bu ötesinde, en küçük bir konuşalım Nesne yönelimli programlama hakkında biraz. 148 00:08:48,470 --> 00:08:52,160 Nesne yönelimli programlama temel programlama biri 149 00:08:52,160 --> 00:08:57,110 olan teknikler veya desenler Amaç C. Objective C tarafından kullanılan 150 00:08:57,110 --> 00:09:03,110 Objective C, değil denir C gerçekten iyi bir nedenle. 151 00:09:03,110 --> 00:09:07,560 >> Biz içine girmeden önce Yani Objective C sözdizimi, 152 00:09:07,560 --> 00:09:11,670 En gerçekten hızlı bakalım tam olarak ne bir amacıdır. 153 00:09:11,670 --> 00:09:15,480 Biz muhtemelen bir şey yaptık önce bir nesne gibi hangi 154 00:09:15,480 --> 00:09:19,780 sen yapı olarak adlandırılır Bir ağaç veya bir bağlantılı liste uygulanması 155 00:09:19,780 --> 00:09:25,730 veya [? deneyin. ?] Yani, bu kadar temelde bir yapı gibi, 156 00:09:25,730 --> 00:09:28,560 ama çok daha güçlü daha var. 157 00:09:28,560 --> 00:09:33,150 Bir nesne yöntemleri ve özelliklere sahiptir. 158 00:09:33,150 --> 00:09:35,310 Yöntem temelde işlevleri vardır. 159 00:09:35,310 --> 00:09:39,480 Temelde bir o fonksiyonları Belirli bir nesneye özgü olabilir. 160 00:09:39,480 --> 00:09:45,440 >> Ve özellikleri temelde alanı, yapı içinde belirtin. 161 00:09:45,440 --> 00:09:48,500 Her nesne Yani bazı özelliğine sahip 162 00:09:48,500 --> 00:09:53,160 bazı değişkenleri olan nesneye özeldir. 163 00:09:53,160 --> 00:09:57,170 Ve bazı işlevlere sahip olan Ayrıca nesne özgüdür. 164 00:09:57,170 --> 00:10:01,180 Ve işlevleri yöntemler olarak da adlandırılır ve değişkenler özellikleri denir. 165 00:10:01,180 --> 00:10:03,190 Bu sadece bir fantezi isim. 166 00:10:03,190 --> 00:10:10,440 Size aslında ederken, her görünüm Eğer bir iOS uygulaması açın yaparken görmek 167 00:10:10,440 --> 00:10:17,720 , Sadece Twitter ya da Facebook diyelim Gördüğünüz her görünümü bir nesnedir. 168 00:10:17,720 --> 00:10:22,110 Ve hatta tüm app Bir nesne ile başlamak. 169 00:10:22,110 --> 00:10:25,340 Çok ilginç bir kavram. 170 00:10:25,340 --> 00:10:28,480 >> Ve neden nesne istiyorsun programlama odaklı? 171 00:10:28,480 --> 00:10:33,530 Yani hayal edebiliyorum sizi o Program oldukça karmaşık alır. 172 00:10:33,530 --> 00:10:36,400 Sadece sen ne zaman diyelim satranç tahtası uygulanması, 173 00:10:36,400 --> 00:10:40,020 mantık gidiyor Gerçekten karmaşık. 174 00:10:40,020 --> 00:10:43,280 Sen 36 farklı var adet, bu yüzden eğer 175 00:10:43,280 --> 00:10:48,370 tüm mantığı yazmak istiyorum Satrançta 36 farklı parça, 176 00:10:48,370 --> 00:10:52,150 Bunun bir sürü olacak Farklı işlevler ve değişkenler. 177 00:10:52,150 --> 00:10:54,070 Bu sorun bir sürü. 178 00:10:54,070 --> 00:10:58,980 Ve muhtemelen bir yazmak için gidiyoruz Farklı yöntem veya farklı fonksiyon 179 00:10:58,980 --> 00:11:03,950 parçanın her biri için tam olarak ne kontrol. 180 00:11:03,950 --> 00:11:08,830 Eğer bunu yaparsanız >> Ama nesne yönelimli Programlama, bu parçaların hepsi 181 00:11:08,830 --> 00:11:12,440 içine soyutlanmış olabilir tek bir nesne. 182 00:11:12,440 --> 00:11:16,111 Ve nesne bazı ortak olacak parçanın ne tür gibi özellikler, 183 00:11:16,111 --> 00:11:16,610 değil mi? 184 00:11:16,610 --> 00:11:17,740 Bu ne renk? 185 00:11:17,740 --> 00:11:19,480 Nasıl taşıyabilirsiniz? 186 00:11:19,480 --> 00:11:24,660 Ve bu şekilde büyük ölçüde var Bunun mantığını basitleştirilmiş. 187 00:11:24,660 --> 00:11:28,480 Yani sadece gerçekten iyi bir yoldur karmaşık programları yapmak, 188 00:11:28,480 --> 00:11:33,700 ve hiyerarşik ilişki program dahilinde, çok basit. 189 00:11:33,700 --> 00:11:36,800 Biz görmek için gidiyoruz gibi neden çok hızlı ne zaman 190 00:11:36,800 --> 00:11:39,660 biz aslında yapıyoruz biz aslında olduğunuzda programming-- 191 00:11:39,660 --> 00:11:42,830 S kodu yapıyor Daha sonra oturumu programlama. 192 00:11:42,830 --> 00:11:48,120 >> Aslında bu ek olarak, Nesne yönelimli programlama 193 00:11:48,120 --> 00:11:50,030 eğlenceli bir çok şey var. 194 00:11:50,030 --> 00:11:51,990 Kendi nesne tasarımı var. 195 00:11:51,990 --> 00:11:56,080 Sen ne tasarım var kendiniz tarafından benziyorsun. 196 00:11:56,080 --> 00:11:58,250 Bunun hiçbir doğru cevabı yoktur. 197 00:11:58,250 --> 00:12:02,940 Ve tamamen ilginç. 198 00:12:02,940 --> 00:12:07,270 Yani nesne yönelimli programlama, iki temel kavramlar 199 00:12:07,270 --> 00:12:10,130 sınıf ve örnek olacak. 200 00:12:10,130 --> 00:12:13,570 A sınıfı temelde nesne için bir şablon. 201 00:12:13,570 --> 00:12:18,070 Ve bir örneği temelde belirli bir nesne. 202 00:12:18,070 --> 00:12:21,090 >> Sadece bir çerez yapıyoruz diyelim. 203 00:12:21,090 --> 00:12:24,800 Bu durumda, her bir aslında ile sona çerez 204 00:12:24,800 --> 00:12:27,310 bir nesne olacak. 205 00:12:27,310 --> 00:12:35,830 Ama çerez tabağı size pişirmeye kullanın tüm çerezleri bir sınıf olacak. 206 00:12:35,830 --> 00:12:37,880 A sınıfı temelde bir şablon. 207 00:12:37,880 --> 00:12:46,170 Ve örneği belirli bir olacak Nesne bu sınıfın dışına yarattı. 208 00:12:46,170 --> 00:12:49,970 >> Ve bir örneği oluşturulur sınıf bildirimi dayalı, 209 00:12:49,970 --> 00:12:56,760 olarak daha sonra slaytlar göreceğiz. 210 00:12:56,760 --> 00:13:00,010 Yani aslında gerçekten bir yapalım Hızlı bir örnek [duyulamaz]. 211 00:13:00,010 --> 00:13:04,280 En biz ilan ediyoruz diyelim Bir kedi için bir nesne. 212 00:13:04,280 --> 00:13:07,930 Nesne have-- gerekir Kedi sınıfı gerekir 213 00:13:07,930 --> 00:13:11,260 Bazı özellikleri ve yöntemleri vardır. 214 00:13:11,260 --> 00:13:17,300 Özellikleri olmalı ne tür sınıf have-- kedi olmalıdır? 215 00:13:17,300 --> 00:13:20,580 >> Örneğin, renk, yaş ve cins, bu 216 00:13:20,580 --> 00:13:24,440 değişken olacağı her kedi için özeldir. 217 00:13:24,440 --> 00:13:27,790 Ve bu bazı şeyler vardır Biz kedi tanımlamak için kullandıkları. 218 00:13:27,790 --> 00:13:31,880 Yöntemin ne tür, veya bir kedi ne yapabilirim? 219 00:13:31,880 --> 00:13:37,160 Bazı hızlı örnekler kovalamaca olacaktır fare, balık yemek ya da sadece miyav. 220 00:13:37,160 --> 00:13:40,900 Bu gerçekten hızlı Kedi sınıfının örneği. 221 00:13:40,900 --> 00:13:46,920 Ve gerçekten özel kedi nesnesi bir kedi olacak 222 00:13:46,920 --> 00:13:50,930 Biz belirttiğiniz yerde renk, yaş ve cins. 223 00:13:50,930 --> 00:13:53,790 >> Bu durumda, bizim amacı, artık bir sınıf artık. 224 00:13:53,790 --> 00:14:00,010 Biz sınıf şablonu kopyalayıp her özel bilgileri belirtmek 225 00:14:00,010 --> 00:14:04,510 Bu belirli bir nesneye bağımsız hale getirmek için. 226 00:14:04,510 --> 00:14:09,350 Ve aradığınız zaman Bir nesnenin içindeki bir yöntem, 227 00:14:09,350 --> 00:14:16,640 Sadece, nesne üzerinde miyav çağrı hangi sadece oluşturduğunuz kedi. 228 00:14:16,640 --> 00:14:19,020 >> Muhtemelen dışarı basacaktır "Hello World gibi bir şey! 229 00:14:19,020 --> 00:14:20,000 Miyav. " 230 00:14:20,000 --> 00:14:22,110 Oldukça sevimli. 231 00:14:22,110 --> 00:14:24,500 Pekala, sadece izin Bazı detaya olsun 232 00:14:24,500 --> 00:14:30,650 ve tam olarak ne yaptığını görmek iOS programlama olmanın çevirmek. 233 00:14:30,650 --> 00:14:36,500 IOS her programlama Yani içinde Sınıf iki dosya uygulanacaktır. 234 00:14:36,500 --> 00:14:41,420 Bir dosya, burada hangi arayüz denir. 235 00:14:41,420 --> 00:14:45,300 Başka bir dosya, burada hangi uygulama denir. 236 00:14:45,300 --> 00:14:48,890 >> Tipik arayüzü extension.h olacaktır 237 00:14:48,890 --> 00:14:51,740 Biz C kütüphanelerinde gördük. 238 00:14:51,740 --> 00:14:56,340 Ve uygulama dosyası extension.n olacak. 239 00:14:56,340 --> 00:14:57,260 Bu garip tür. 240 00:14:57,260 --> 00:15:01,270 Ama hiç yoktur, .c aslında .n demektir arasındaki temel fark 241 00:15:01,270 --> 00:15:02,100 İki. 242 00:15:02,100 --> 00:15:06,650 Bu durumda Yani, biz olduğumuzu görebilirsiniz nesneyi: arayüzü, Cat ilan. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 Bu miras denir. 245 00:15:13,760 --> 00:15:19,170 Biz temelde miras ediyoruz Nesne sınıfından kedi sınıfı. 246 00:15:19,170 --> 00:15:24,790 Yani her özellik ve yöntem olduğunu Daha önce nesne sınıfında tanımlanan 247 00:15:24,790 --> 00:15:28,560 otomatik olarak tanımlanacaktır Bir kedi sınıfında yanı. 248 00:15:28,560 --> 00:15:35,900 >> Buna ek olarak, renk tanımlamak cins, yaş, üç değişken. 249 00:15:35,900 --> 00:15:39,360 Bu aslında benziyor Eğer daha önce yapmış şey. 250 00:15:39,360 --> 00:15:41,770 Bu yapı gibi görünüyor. 251 00:15:41,770 --> 00:15:44,950 Yani temelde sözdizimi yapı beyanı için, 252 00:15:44,950 --> 00:15:47,710 ve bu tamamen doğrudur. 253 00:15:47,710 --> 00:15:51,825 Ve ben daha önce belirtildiği beri, fark, bir yapı 254 00:15:51,825 --> 00:15:53,960 ve bir amacı, bir temel farklılıklar 255 00:15:53,960 --> 00:15:59,080 , bir nesne yöntemi olmasıdır ise bir yapı yalnızca değişkenleri vardır. 256 00:15:59,080 --> 00:16:03,450 Böylece özelliklerine ek olarak veya Biz nesne için yarattık değişkenler, 257 00:16:03,450 --> 00:16:05,700 bazı yöntemini belirtin. 258 00:16:05,700 --> 00:16:09,720 >> Sadece biz burada diyelim Bir MEOW iki yöntem, 259 00:16:09,720 --> 00:16:12,460 Başka bir kovalamaca faredir. 260 00:16:12,460 --> 00:16:18,600 Biz muhtemelen geçen olmak istiyorum önceki yönteme dayalı parametre 261 00:16:18,600 --> 00:16:20,440 beyanname desen. 262 00:16:20,440 --> 00:16:22,160 Muhtemelen bir fare geçen olmak istiyorum. 263 00:16:22,160 --> 00:16:25,180 Ve muhtemelen isteyeceksiniz Bir bool belirten dönmek için 264 00:16:25,180 --> 00:16:30,010 kedi başarıyla varsa Fareyi yakalandı ya da değil. 265 00:16:30,010 --> 00:16:33,170 >> Bu arayüz, ama biz bkz aslında arayüz 266 00:16:33,170 --> 00:16:35,150 bir şey yapmaz. 267 00:16:35,150 --> 00:16:40,800 Bu sadece bir program söyler exists-- ne ne kedi sınıfında bulunmaktadır. 268 00:16:40,800 --> 00:16:43,640 Yani sırayla Program bir şeyler yapmak, 269 00:16:43,640 --> 00:16:46,680 Biz uygulama dosyalarını olması gerekir. 270 00:16:46,680 --> 00:16:51,940 Yani burada, yaptığımız ilk şey Açıkçası biz arayüzü ithal. 271 00:16:51,940 --> 00:16:56,470 Biz arayüzü aldıktan sonra, Biz yöntemini tanımlar. 272 00:16:56,470 --> 00:17:00,150 >> Sadece burada miyav diyelim sadece dışarı yazdırmak istiyorum 273 00:17:00,150 --> 00:17:01,740 "Selam Dünya!" konsola. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 Ve Uygulamadan sonra Dosya, biz hemen hemen bitti. 276 00:17:08,460 --> 00:17:14,530 Bu temelde bir sınıf bir sınıf için beyanname. 277 00:17:14,530 --> 00:17:19,970 Şimdi soru, olur nasıl bir değişken bildirmek? 278 00:17:19,970 --> 00:17:26,880 yolu bir oluşturmak için bir sınıf kullanmak Objective C nesne burada yazılıdır. 279 00:17:26,880 --> 00:17:30,730 >> Önce belirtmek Bu, bir kedi göstericisidir 280 00:17:30,730 --> 00:17:38,700 Objective C her nesne, çünkü Sonunda bir işaretçi olarak uygulanmaktadır. 281 00:17:38,700 --> 00:17:46,210 Ve sınıf aramak, onları aramak temel olarak Malloc Alloc gibi, 282 00:17:46,210 --> 00:17:51,220 işletim sistemi söylüyorum size Bu nesne için bazı bellek alanı olması gerekir. 283 00:17:51,220 --> 00:17:55,780 Bundan sonra bir nesne var Zaten ve sadece bunu başlatmak. 284 00:17:55,780 --> 00:17:56,780 Bu sadece sözleşmedir. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Ben biraz garip bu kadar biliyorum, ama Bu Apple şeyler yapar aslında nasıl olduğunu. 287 00:18:04,410 --> 00:18:07,130 >> Özelliklerini bir atama aslında oldukça basit. 288 00:18:07,130 --> 00:18:09,250 Bu çok benzer Ne zaman ne yapıyoruz 289 00:18:09,250 --> 00:18:13,780 Eğer bazı özel atıyorsanız yapı içinde alan. 290 00:18:13,780 --> 00:18:16,830 Sadece değişken var , mülkiyet ismi, 291 00:18:16,830 --> 00:18:20,140 ve buna belirli bir değer atayın. 292 00:18:20,140 --> 00:18:24,120 Ve bir yöntemi çağırmak çok benzer. 293 00:18:24,120 --> 00:18:29,080 çağıran bir yöntemdir temelde hakkında konuşmak ne 294 00:18:29,080 --> 00:18:32,390 Amaç C. herhangi bir yöntemi çağırmak için 295 00:18:32,390 --> 00:18:36,660 >> Siz, bir nesne geçirerek Bu durumda o, Mycat olacak 296 00:18:36,660 --> 00:18:42,490 ve yöntem adı geçen ediyoruz. 297 00:18:42,490 --> 00:18:47,130 Eğer nesneye konuştuğunuz gibi, Eğer miyav gerektiğini Mycat. 298 00:18:47,130 --> 00:18:48,570 Oldukça ilginç. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 Bundan sonra, bir tane var daha temel tasarım deseni 301 00:18:55,680 --> 00:18:59,940 Konuşmamız gerektiğini Gerçek S koduna almadan önce. 302 00:18:59,940 --> 00:19:03,300 Bu tasarım deseni denir Olay programlama odaklı. 303 00:19:03,300 --> 00:19:09,660 Bu, aynı zamanda, en büyük olasılıkla biridir iOS programlama temel fikirler. 304 00:19:09,660 --> 00:19:14,410 >> Peki muhtemelen tam olarak ne olduğunu bilmiyorum olay güdümlü programlama, bir 305 00:19:14,410 --> 00:19:16,990 ama gerçekten bu korkutucu değil. 306 00:19:16,990 --> 00:19:20,400 Peki aslında, var zaten daha önce yapmış. 307 00:19:20,400 --> 00:19:24,894 Bu muhtemelen ettik hatlarından biridir Zaten son [inaudible] yazılı 308 00:19:24,894 --> 00:19:26,810 CS50 ve, google.maps.event.addListener (marker 309 00:19:26,810 --> 00:19:27,810 )} {), Fonksiyon ("tık" :. 310 00:19:27,810 --> 00:19:32,410 311 00:19:32,410 --> 00:19:37,620 Sen bu hattımızı arayarak aslında bilgisayar söylüyorum 312 00:19:37,620 --> 00:19:42,650 olay denir her ki , Işaretleyici olur "tıklayın" 313 00:19:42,650 --> 00:19:43,630 bu işlevi kullanın. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> Bu çok farklı Eğer mario.c içinde ne. 316 00:19:50,950 --> 00:19:56,670 Mario.c size sadece programı çalıştırın bir kez, o sana bir çıkış verir, 317 00:19:56,670 --> 00:19:58,590 ve bitirdiniz. 318 00:19:58,590 --> 00:20:02,590 Bunlar tür gibidir bir atış programları. 319 00:20:02,590 --> 00:20:05,830 Olay güdümlü programlar çok farklıdır. 320 00:20:05,830 --> 00:20:10,230 Facebook, biri ise, en hayal edelim atış programı gerçekten iyi değil. 321 00:20:10,230 --> 00:20:13,750 Sadece Facebook gitmek bir kez ve bitti. 322 00:20:13,750 --> 00:20:16,700 Size bazı çıktı verir ve geri aldım asla. 323 00:20:16,700 --> 00:20:19,380 Daha fazla bir şey var asla. 324 00:20:19,380 --> 00:20:23,880 >> Yani burada, özellikle Kullandığımız desen 325 00:20:23,880 --> 00:20:26,940 Olay böylece, tahrik Her işlev olacak 326 00:20:26,940 --> 00:20:31,480 dayalı yakalanmış ne Olay oldu. 327 00:20:31,480 --> 00:20:34,670 Örneğin, biz varsa Bir düğme ve biz belirtin 328 00:20:34,670 --> 00:20:39,870 Bu düğmeye tıklandığında zaman ki, denilen işlev çağrısı "Merhaba Dünya!" 329 00:20:39,870 --> 00:20:47,810 Bu şekilde biz gerçekten can fonksiyon mantığı yönetmek 330 00:20:47,810 --> 00:20:50,560 son derece esnek bir şekilde akar. 331 00:20:50,560 --> 00:20:55,840 Kullanıcı yapmak veya bir fonksiyonu çağırabilirsiniz zaten adı olmuştur. 332 00:20:55,840 --> 00:20:59,900 Tamamen kullanıcıların ne dayanıyor. 333 00:20:59,900 --> 00:21:04,080 >> Yani biz bu olduğunu görebilirsiniz mario.c aslında daha çok daha iyi. 334 00:21:04,080 --> 00:21:07,190 Ve iyi haber olmasıdır aslında yeni bir kavram. 335 00:21:07,190 --> 00:21:12,140 Siz zaten yaptık son sorun ayarlayın. 336 00:21:12,140 --> 00:21:16,640 Bu nedenle amacı C orada Üç farklı şemalar 337 00:21:16,640 --> 00:21:19,030 olay güdümlü programlama için. 338 00:21:19,030 --> 00:21:21,970 İlk diyagramıdır Hedef eylem denir, 339 00:21:21,970 --> 00:21:26,990 nerede bir düğmeye bağlamak Bazı fonksiyonu ile basın. 340 00:21:26,990 --> 00:21:31,590 Eğer tıklayın zaman Sadece, diyelim Bazı düğme, bazı işlevini çağırın. 341 00:21:31,590 --> 00:21:33,620 Bu çok basit bir hedef eylemdir. 342 00:21:33,620 --> 00:21:35,580 >> Ikincisi de Aslında zor bir, 343 00:21:35,580 --> 00:21:38,450 protokol heyet denir. 344 00:21:38,450 --> 00:21:41,800 Biz açıklamak için gidiyoruz çok detaylı daha sonra. 345 00:21:41,800 --> 00:21:44,420 Ve üçüncü yol bildirim olduğunu. 346 00:21:44,420 --> 00:21:46,770 Bu aslında değil çok önemli kadarıyla 347 00:21:46,770 --> 00:21:50,920 biz endişe konum olarak, şans, çünkü Eğer bildirim kullanmak için gidiyoruz 348 00:21:50,920 --> 00:21:53,310 son proje oldukça düşüktür. 349 00:21:53,310 --> 00:21:56,440 Yani biz bu bölümünü atlamak için gidiyoruz. 350 00:21:56,440 --> 00:21:59,460 >> Ve biz dalış için gidiyoruz protokolü heyet içine. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Peki tam olarak bir protokol nedir? 353 00:22:04,470 --> 00:22:06,450 Ya da bir heyet tam olarak nedir? 354 00:22:06,450 --> 00:22:09,670 En başlamak protokol hakkında konuşalım. 355 00:22:09,670 --> 00:22:13,360 Protokoller olaylar başka bir şey değildir. 356 00:22:13,360 --> 00:22:19,230 Ama bu olaylar verilir Apple tarafından size başlamak için. 357 00:22:19,230 --> 00:22:22,640 Örneğin, ben değilim Senin kaç tamamen emin 358 00:22:22,640 --> 00:22:27,930 adamlar Apple'ın orijinal kullanın Uygulamaya posta veya temas, 359 00:22:27,930 --> 00:22:32,180 ama her zaman kaydırma Tablo ve belirli bir hücre basın 360 00:22:32,180 --> 00:22:36,130 masada, o bir olaydır. 361 00:22:36,130 --> 00:22:38,330 >> Ve yapmak istiyorsanız kendiniz bu olay, 362 00:22:38,330 --> 00:22:40,410 aslında biraz zor. 363 00:22:40,410 --> 00:22:44,880 Yani Apple bile size vermiş Sadece doğrudan kullanabilirsiniz, böylece 364 00:22:44,880 --> 00:22:49,610 Etkinlik kendi şey yapmak. 365 00:22:49,610 --> 00:22:52,980 Protokoller aslında Gerçekten, gerçekten yaygın olarak kullanılan 366 00:22:52,980 --> 00:22:58,320 içinde Amaç C. Well Aslında, her uygulama 367 00:22:58,320 --> 00:23:00,870 bir şey yakaladı uygulama temsilci vardır. 368 00:23:00,870 --> 00:23:06,330 Narin içi tümüdür Uygulamayı yüklemek için protokoller. 369 00:23:06,330 --> 00:23:12,470 >> Sadece orada diyelim app bir olay yükü yaptım. 370 00:23:12,470 --> 00:23:18,200 Eğer ettik sonra Peki ne olması gerektiğini Bir uygulama oluşturulan, sen app açtıktan sonra, 371 00:23:18,200 --> 00:23:22,630 sonra sonra uygulamayı kapatın, ya da Eğer uyku iPhone koydu. 372 00:23:22,630 --> 00:23:27,480 Bunlar sahip olduğu tüm olaylardır zaten size verilmiş. 373 00:23:27,480 --> 00:23:34,730 Ve ilk olarak bu parçacıklar içinde hiçbir uygulama olacaktır. 374 00:23:34,730 --> 00:23:39,750 Apple sadece bu fonksiyonu olduğunu söyledi Bazı olay gerçekleştiğinde ne olacak, 375 00:23:39,750 --> 00:23:44,380 ama bununla ne fonksiyon size kalmış tamamen. 376 00:23:44,380 --> 00:23:49,290 >> Heyeti temelde sınıf söylüyorum 377 00:23:49,290 --> 00:23:53,060 Bu protokolleri ele gerektiğini söyledi. 378 00:23:53,060 --> 00:23:55,340 Biraz var kafa karıştırıcı, ama olacak 379 00:23:55,340 --> 00:23:59,380 biz ne zaman çok daha net eylem s kodları. 380 00:23:59,380 --> 00:24:04,760 Protokole Delegasyonu aslında bir olduğunu anlamda son derece sağlam mekanizma 381 00:24:04,760 --> 00:24:08,160 biz heyeti yaparsak Belirli bir sınıfa, 382 00:24:08,160 --> 00:24:12,400 biz aslında işleyebilir olayların her türlü 383 00:24:12,400 --> 00:24:17,040 Elimizdeki herhangi bir sınıfı kullanarak, çok uygun bir araç. 384 00:24:17,040 --> 00:24:21,530 Için >> Yani bir hızlı örnek protokolü heyet 385 00:24:21,530 --> 00:24:24,120 Ben sadece konuştuk ne olacak. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Bu protokol, spesifik olarak adlandırılır tableview [duyulamaz] rolünü seçin 388 00:24:30,890 --> 00:24:35,480 [at? index?] [? Geçmiş. ?] Yani bu bir yakalanmış olacağını olay olduğunda sizi 389 00:24:35,480 --> 00:24:39,710 Aslında belirli bir dokunun daki tableview hücre 390 00:24:39,710 --> 00:24:43,570 Sadece senin posta diyelim ya da kişiler app. 391 00:24:43,570 --> 00:24:48,180 >> Bir işlev içinde oldu aslında hiçbir şey yapmadan. 392 00:24:48,180 --> 00:24:51,950 fonksiyonu yok Varsayılan olarak bir şey yapmak. 393 00:24:51,950 --> 00:24:55,540 Ama belirtebilirsiniz işlevi ne, 394 00:24:55,540 --> 00:24:59,610 Eğer app istediklerini verilen. 395 00:24:59,610 --> 00:25:01,610 Çok uygun bir araç. 396 00:25:01,610 --> 00:25:06,840 Ve tüm bu Ben temelde söyleniyor 397 00:25:06,840 --> 00:25:11,430 bazı çok temel sözdizimi kapsayacak ve Objective C için temel kavram 398 00:25:11,430 --> 00:25:15,860 programlama, ve biz bazı s kod yapabilirsiniz. 399 00:25:15,860 --> 00:25:17,980 Çok daha heyecanlı. 400 00:25:17,980 --> 00:25:21,070 Yani s kodu aslında bir olduğunu biraz ezici 401 00:25:21,070 --> 00:25:23,330 ilk kez açtığınızda. 402 00:25:23,330 --> 00:25:26,640 >> Bir hızlı notu, bu yüzden eğer iOS geliştirme yapmak istiyorum, 403 00:25:26,640 --> 00:25:29,630 Ben çok bir Mac tavsiye ederiz. 404 00:25:29,630 --> 00:25:33,930 IOS geliştirme yapıyorum Çünkü , Windows gerçekten zor, gerçekten. 405 00:25:33,930 --> 00:25:37,560 Bu yapılabilir, ama bu gerçekten zor. 406 00:25:37,560 --> 00:25:40,610 Ve kesinlikle yapmak g düzenlemek kullanmak istemiyorum. 407 00:25:40,610 --> 00:25:47,950 Yani s kodu biz birkaç farklı alanlarda. 408 00:25:47,950 --> 00:25:53,050 ilk s açmak kodu Bir gezinti alanı göreceksiniz, 409 00:25:53,050 --> 00:25:57,470 hangi temelde tüm gösterir Mevcut projede olduğu dosyalar. 410 00:25:57,470 --> 00:26:03,590 >> Bir araç çubuğu alanı, sahip olduğu temelde görüşlerini yönetiyor, 411 00:26:03,590 --> 00:26:08,570 ya da bazı küçük hızlı s kodu kendisi hakkında araçlar. 412 00:26:08,570 --> 00:26:11,140 Ve bu gerçek editörü alandır. 413 00:26:11,140 --> 00:26:15,900 Bu alan çok benzer g düzenleme olduğunu, g düzenlemek daha ama çok daha iyi. 414 00:26:15,900 --> 00:26:21,150 Ve bu doğru alanda, bir programı alanı denir. 415 00:26:21,150 --> 00:26:27,170 Alan zaman gerçekten kullanışlı olur Eğer arayüz oluşturma veya belirterek konum 416 00:26:27,170 --> 00:26:30,070 app için bazı hızlı kurulumları. 417 00:26:30,070 --> 00:26:34,570 >> Ve son alan hata ayıklama olduğunu. 418 00:26:34,570 --> 00:26:37,970 Bu alan konsolu içerir. 419 00:26:37,970 --> 00:26:43,170 Yani printf demek ne zaman, veya, bizim durumumuzda NSLog 420 00:26:43,170 --> 00:26:47,330 Tüm sonuçlar gidiyor Burada basılacak. 421 00:26:47,330 --> 00:26:48,260 Tamam? 422 00:26:48,260 --> 00:26:52,090 Ben gerçekten hızlı bir şekilde yapabiliriz sanırım iOS programlama için bir örnek. 423 00:26:52,090 --> 00:26:54,220 Ve en doğrusu kadar s kodu açalım. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Yani yukarı ın kodu açmak her zaman, bu kadar Böyle bir şey göstermek için gidiyor. 426 00:27:01,346 --> 00:27:03,220 Seni sormak için gidiyor ne yapmak istiyorsun? 427 00:27:03,220 --> 00:27:06,830 Eğer bir şey başlatmak istiyor musunuz temelde rastgele, bir oyun, sen 428 00:27:06,830 --> 00:27:11,250 Sadece olmadan kodu test edebilirsiniz Aslında herhangi bir uygulama taahhüdünde. 429 00:27:11,250 --> 00:27:13,020 >> Yeni bir proje oluşturmak istiyor musunuz? 430 00:27:13,020 --> 00:27:16,660 Yoksa devam etmek istiyor musunuz Mevcut proje üzerinde çalışıyor? 431 00:27:16,660 --> 00:27:20,270 Bizim durumumuzda biz gidiyoruz Yeni bir proje oluşturun. 432 00:27:20,270 --> 00:27:22,980 Bu yüzden, gerçekten güzel s var kodu aslında zaten 433 00:27:22,980 --> 00:27:26,820 Bazı şablonlar size verilen nesneleri oluşturmak için. 434 00:27:26,820 --> 00:27:32,680 Eğer bir oyun yapmak istiyorsanız, kod s aslında sizin için bir oyun şablonu vardır, 435 00:27:32,680 --> 00:27:36,890 , sayfa tabanlı uygulamalar vardır sekme tabanlı uygulama. 436 00:27:36,890 --> 00:27:39,280 Bu durumda, biz gidiyoruz çok basit bir şey yapmak, 437 00:27:39,280 --> 00:27:43,230 ve biz kullanmak için gidiyoruz Tek görünüm uygulaması. 438 00:27:43,230 --> 00:27:48,270 >> Bundan sonra sadece aramak istediğiniz ne Ürününüz, ve, senin adın ne 439 00:27:48,270 --> 00:27:52,760 ne tanımlayıcı, ve Eğer hangi dili kullanıyorsunuz. 440 00:27:52,760 --> 00:27:57,060 İşte biz istemiyoruz Çekirdek Veri kullanarak kontrol edin. 441 00:27:57,060 --> 00:28:00,170 Çekirdek Veri temelde bir databasing iOS olduğunu. 442 00:28:00,170 --> 00:28:05,360 Core Veri yaparsanız, s Kod tanımlamak için gidiyor 443 00:28:05,360 --> 00:28:07,710 Senin için çok daha karmaşık sınıflar. 444 00:28:07,710 --> 00:28:12,740 Bu yüzden sen, herşeyi basit tutmak Sadece Çekirdek Veri olmadan yapacağım 445 00:28:12,740 --> 00:28:15,290 hemen şimdi. 446 00:28:15,290 --> 00:28:18,030 >> Biz olmak için gidiyoruz sorun kullanarak problem ki- olduğunu 447 00:28:18,030 --> 00:28:23,770 Biz yaratmak için olduğunu gidiyoruz biz o temelde C Mario almak istiyorum 448 00:28:23,770 --> 00:28:25,437 iOS app. 449 00:28:25,437 --> 00:28:26,645 Yani Mario iOS ki diyelim. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Tabii ki size ne belirttiğiniz projenizde koymak istiyorum. 452 00:28:34,880 --> 00:28:37,870 Ve oraya gitmek. 453 00:28:37,870 --> 00:28:41,390 >> Yani bu biraz olduğunu ezici, ama bu aslında 454 00:28:41,390 --> 00:28:43,540 ne sadece slaytlar gördüm. 455 00:28:43,540 --> 00:28:49,710 Ve ilk alan şu anda bakın temelde proje yapılandırma. 456 00:28:49,710 --> 00:28:53,390 Yani her şeyi yapmak istiyorum Proje, cihazın ne tür, 457 00:28:53,390 --> 00:28:58,810 diyelim cihazın ne tür Eğer app görünmesini istiyorsunuz? 458 00:28:58,810 --> 00:29:01,280 IPhone, iPad veya evrensel midir? 459 00:29:01,280 --> 00:29:04,660 Cihaz yönelim, tüm bu şeyler Yani. 460 00:29:04,660 --> 00:29:08,490 Çok önemli değil, ama olabilir, ama bu olabilir 461 00:29:08,490 --> 00:29:11,050 kurmak bir yerdir proje eğer gerçekten 462 00:29:11,050 --> 00:29:15,180 Apple mağazası dağıtmak istiyorum. 463 00:29:15,180 --> 00:29:20,420 >> Pekala, bakalım Bizim kod içinde bir şey. 464 00:29:20,420 --> 00:29:22,360 Dosya gezgini üzerinden gidelim. 465 00:29:22,360 --> 00:29:30,140 Ve bu tüm dosyalar zaten vardır Çok güzel bir şablonla birlikte geldi. 466 00:29:30,140 --> 00:29:35,980 Yani biz onlardan birini tıkladığınızda Bu neye benzediğini olduğunu. 467 00:29:35,980 --> 00:29:38,530 G düzenlemek çok benzer. 468 00:29:38,530 --> 00:29:41,340 Ama bunu görebilirsiniz dizim muhtemelen 469 00:29:41,340 --> 00:29:42,780 biraz daha güzel. 470 00:29:42,780 --> 00:29:45,610 Ve aslında çok fazla var g düzenleme daha güçlü. 471 00:29:45,610 --> 00:29:49,970 Ve tam otomatik olabilir Sizin için bir çok şey, 472 00:29:49,970 --> 00:29:52,370 biz çok hızlı bir şekilde göreceğimiz gibi. 473 00:29:52,370 --> 00:29:54,100 >> En de hata ayıklama alanı açalım. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 Pekala, biz gördüğünüz gibi, Konsol burada. 476 00:30:07,000 --> 00:30:13,840 Bu nereye görmek için gidiyoruz ne Eğer printf falan nsloging konum. 477 00:30:13,840 --> 00:30:17,155 Fazla uzatmadan Yani, aslında atalım Uygulamayı derlemek ve ne olduğunu görün. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Bir temel özelliği için s kodu, bu s kodu 480 00:30:23,410 --> 00:30:25,850 iPhone simülatörü ile birlikte geliyor. 481 00:30:25,850 --> 00:30:29,820 Yani bir olması gerekmez iPhone, projenizi denemek için 482 00:30:29,820 --> 00:30:34,440 s kodu için bu taklit edebilirsiniz Eğer, biz şimdi görebiliyorum. 483 00:30:34,440 --> 00:30:36,406 >> Oldukça güzel. 484 00:30:36,406 --> 00:30:38,640 Biraz alıyor zaman biraz derlemek 485 00:30:38,640 --> 00:30:43,040 ve temelde var Boş bir uygulama, 486 00:30:43,040 --> 00:30:44,640 hangi aslında hiçbir şey yok. 487 00:30:44,640 --> 00:30:46,175 Ama derler. 488 00:30:46,175 --> 00:30:47,380 Oldukça etkileyici. 489 00:30:47,380 --> 00:30:50,200 Ha, C daha iyi? 490 00:30:50,200 --> 00:30:52,130 Pekala, o zaman atalım bir şey eklemeyi deneyin. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Biraz olan Bir dosya Burada garip storyboard denir. 493 00:31:02,650 --> 00:31:08,020 Bu, aslında bir büyük s kodu için müthiş bir özellik. 494 00:31:08,020 --> 00:31:14,170 Çünkü s kodunda, Sürükle aslında can ve arayüzü üzerine elemanları damla 495 00:31:14,170 --> 00:31:17,430 ve doğrudan görünecektir. 496 00:31:17,430 --> 00:31:18,055 En deneyelim. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Biz, burada "Merhaba Dünya !!!" etiket damla 499 00:31:27,236 --> 00:31:29,740 Biz bu merkezi olabilir. 500 00:31:29,740 --> 00:31:30,970 Oldukça serin. 501 00:31:30,970 --> 00:31:33,915 Şimdi bu durdurma simülasyonu çalıştırın. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Burada "Merhaba Dünya !!!" var 504 00:31:38,700 --> 00:31:40,810 Biz bile henüz kodlama yapmadım. 505 00:31:40,810 --> 00:31:42,750 Halt ne oluyor? 506 00:31:42,750 --> 00:31:45,880 Bu kadar güçlü bir Interface Builder olabilir. 507 00:31:45,880 --> 00:31:48,030 Biri bile söyledi yapabilirsiniz muhtemelen sadece 508 00:31:48,030 --> 00:31:52,800 yazılı olmayan bir uygulamayı tamamlamak kod muhtemelen bin satır 509 00:31:52,800 --> 00:31:54,820 Sadece Interface Builder kullanarak. 510 00:31:54,820 --> 00:31:59,680 Ama muhtemelen değil En iyi şekilde yapmak. 511 00:31:59,680 --> 00:32:01,670 >> Şimdi aslında kodlama aşağı başlayalım. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Dosya yapısı Yani aslında gerçekten ilginç 514 00:32:08,330 --> 00:32:15,610 , çünkü görebilirsiniz gibi, orada Hiçbir yerde ana işlevi. 515 00:32:15,610 --> 00:32:17,466 Görmek? 516 00:32:17,466 --> 00:32:19,340 Daha önce de belirttiğimiz gibi, Eğer bu görebilirsiniz 517 00:32:19,340 --> 00:32:22,830 bir uygulama dosyası Belirli bir sınıf. 518 00:32:22,830 --> 00:32:25,690 Ama asıl yerde yoktur. 519 00:32:25,690 --> 00:32:27,490 Peki nerede ana nedir? 520 00:32:27,490 --> 00:32:31,970 Aslında, orada bir ana olduğunu, ancak Ana aslında sizden gizli. 521 00:32:31,970 --> 00:32:34,560 Ana burada. 522 00:32:34,560 --> 00:32:37,120 Bu tanıdık görünüyor. 523 00:32:37,120 --> 00:32:41,000 >> Peki temelde ne iOS Ana içinde yapıyor 524 00:32:41,000 --> 00:32:43,540 Ana olduğunda olmasıdır temel olan çağrılır 525 00:32:43,540 --> 00:32:49,000 app, bunu yürütülen her appDelegate adlı bir nesne oluşturur. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Ben daha önce de belirtildiği gibi, tüm Uygulama, aslında tek başına bir amacıdır. 528 00:32:57,350 --> 00:33:02,270 Temel olarak, bu şekilde Yani iOS uygulaması derleyici anlatıyor 529 00:33:02,270 --> 00:33:05,540 O Tamam, ben oluşturmak için gidiyorum appDelegate ismi verilen bir ürün, 530 00:33:05,540 --> 00:33:07,620 ve bu benim app olacak. 531 00:33:07,620 --> 00:33:09,640 Yani gitmek gerekir Bu appDelegate yoluyla 532 00:33:09,640 --> 00:33:12,040 ve o adam ne yaptığını görüyorum. 533 00:33:12,040 --> 00:33:14,850 Benim işim benim için yapılır. 534 00:33:14,850 --> 00:33:22,070 >> Ve appDelegate içinde bunu görebilirsiniz bazı gerçekten garip fonksiyonlar vardır, 535 00:33:22,070 --> 00:33:25,290 iyi aslında yöntemleri, bu Apple zaten vermiş. 536 00:33:25,290 --> 00:33:27,464 Bunlar ne? 537 00:33:27,464 --> 00:33:31,010 Bunlar aslında sadece protokoller ben bahsediyordum. 538 00:33:31,010 --> 00:33:35,670 Yani bu olaylar olduğunu Elma ile başlamak sizi verdi. 539 00:33:35,670 --> 00:33:38,050 Hiçbir şey bazı yoktur Şu anda fonksiyonların, 540 00:33:38,050 --> 00:33:40,820 ama biz başlatmak istiyorsanız Bizim app için bir şey 541 00:33:40,820 --> 00:33:46,140 görüntülemeden girmeden önce Herhangi bir görünüm, biz burada bunu. 542 00:33:46,140 --> 00:33:51,150 >> Sadece isim okuyabilir ve sanırım Olay aslında gerçekten açıktır. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Yani şimdi ana yarattı appDelegate için bir nesne. 545 00:33:58,350 --> 00:34:05,220 Ve appDelegate yapacağını ne gerçekten de sizden gizli. 546 00:34:05,220 --> 00:34:09,250 AppDelegate başlayacak ViewController stok yükleme. 547 00:34:09,250 --> 00:34:13,170 Yani temelde başlatmak için gidiyor Eğer varsa tüm görünümleri kadar yükleme 548 00:34:13,170 --> 00:34:17,500 ve sadece görünümü hale hiyerarşiye dayalı. 549 00:34:17,500 --> 00:34:21,280 >> Peki bu durumda biz sadece var burada bir görünümü. 550 00:34:21,280 --> 00:34:25,060 Yani tek görünümüdür Bu çağrılacak gidiyor. 551 00:34:25,060 --> 00:34:28,159 ViewController mantığı burada. 552 00:34:28,159 --> 00:34:32,159 Bu aslında kodu biz sadece gördüğümüz görünümü kontrol eder. 553 00:34:32,159 --> 00:34:33,679 Pekala, burada bir şeyler yapalım. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Yani viewDidLoad bir olay gibi geliyor, bu aynı zamanda bir temsilci olduğu aslında, 556 00:34:50,560 --> 00:34:52,500 Bu da bir protokoldür. 557 00:34:52,500 --> 00:34:56,350 >> Yani görünümü yüklenen olursa olsun, İşlevin içindeki her şeyi 558 00:34:56,350 --> 00:34:57,920 çağrılır. 559 00:34:57,920 --> 00:35:02,840 Bu durumda biz Merhaba "görmelisiniz Tianyu! "Biz programı çalıştırırsanız. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 Biraz yavaş gidiyor storyboard dosyaları derleme. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 Peki gerçekten de, biz bunun için bir çıkış görüyorum. 564 00:35:18,190 --> 00:35:20,720 Oldukça serin. 565 00:35:20,720 --> 00:35:22,000 Şimdi aslında Mario yapalım. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Ben tanımlamak için gidiyorum çok hızlı bir şekilde işlev görür. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: (int) düzeyi sonuçları. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> Pekala, bu aslında harika s kodu otomatik tamamlama özelliği. 572 00:36:06,410 --> 00:36:10,680 Yani sizin için yazmak ve girin yazdığınızda, Zaten şablon vazgeçti 573 00:36:10,680 --> 00:36:12,325 Sizin için, hangi oldukça serin. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 Bu gerçekten bakmak gerekir Eğer çocuklar tanıdık. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 Üzgünüm, bu benim hatam. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 Pekala, serin. 580 00:37:18,120 --> 00:37:22,710 Bu mantık gerçekten tanıdık görünmelidir Eğer çocuklar, özellikle sadece Mario. 581 00:37:22,710 --> 00:37:26,140 >> Ama şimdi dışarı basacaktır Konsol her zaman, 582 00:37:26,140 --> 00:37:29,280 biz bir şekilde tutmak istiyorum çünkü Biz baskı ne iz. 583 00:37:29,280 --> 00:37:31,810 Biz kullanmak için gidiyoruz Daha sonra her nasılsa sonuçları, 584 00:37:31,810 --> 00:37:35,010 baskı görüntülemek için dışarı kullanıcıya sonuçlanır. 585 00:37:35,010 --> 00:37:37,730 Bunun yerine biz sadece konum Her şeyi nslogging, 586 00:37:37,730 --> 00:37:42,410 hangi biz her şeyi depolamak Bir işlev çağrısı sonucu içine, 587 00:37:42,410 --> 00:37:44,070 ama mantık aynıdır. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Biz, biz bitirdikten sonra sadece bizim sonuçlarını yazdırabilirsiniz. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> Ve burada yerine yazdırmanın benim isim, bir işlevi çağırmak için gidiyoruz. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 En ne görelim. 594 00:38:18,090 --> 00:38:21,240 Üzgünüz, açıkçası. 595 00:38:21,240 --> 00:38:24,320 Biz güzel bir var Burada küçük piramit. 596 00:38:24,320 --> 00:38:28,370 Bu temelde C, biz konum sadece Eğer bir işlev çağrısı nereye manipüle 597 00:38:28,370 --> 00:38:30,010 ve nasıl gibi bir işlev görünüyor. 598 00:38:30,010 --> 00:38:31,560 Farklı bir şey yok. 599 00:38:31,560 --> 00:38:34,040 Ama bu aslında değil çok heyecan verici burada, 600 00:38:34,040 --> 00:38:37,500 gördüğümüz değil çünkü iPhone app şey. 601 00:38:37,500 --> 00:38:42,120 >> Yani aslında bir iPhone app-- varsa aslında Mario iOS hakkı varsa 602 00:38:42,120 --> 00:38:45,080 Şimdi, sen gitmiyorsun bir şey görmek için bu 603 00:38:45,080 --> 00:38:49,450 Çünkü Mario ile ilgisi vardır Bir konsolun içine tüm bu çıkışlar 604 00:38:49,450 --> 00:38:51,620 Bir kullanıcıdan gizlenir. 605 00:38:51,620 --> 00:38:53,850 Bu, gördüğünüz ne hangi "Merhaba Dünya !!!" dir 606 00:38:53,850 --> 00:38:55,720 Iyi değil. 607 00:38:55,720 --> 00:39:03,090 Şimdi kullanıcı görmek için çalışalım tam olarak ne biz baskı ediyoruz. 608 00:39:03,090 --> 00:39:06,000 Yani biz artık etiket gerek yok. 609 00:39:06,000 --> 00:39:09,800 En deneyelim ve bir şeyler anlamaya Başka bu yararlı olabilir. 610 00:39:09,800 --> 00:39:12,140 >> Aslında bir yoktur adı elemanı 611 00:39:12,140 --> 00:39:16,460 Metin alanı, olabilir bize çok yardımcı olacaktır. 612 00:39:16,460 --> 00:39:19,880 Bu temelde bir bölgeyi görüntüler metin düzenlenebilir olduğunu. 613 00:39:19,880 --> 00:39:22,320 Yani gerçekten yararlı görünüyor. 614 00:39:22,320 --> 00:39:23,810 Şimdi sürükleyin ve bırakın edelim. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Vay be, biz bir metin görünümü var Bizim görünümünde, gerçekten fantezi. 617 00:39:32,670 --> 00:39:35,430 O biraz çok büyük. 618 00:39:35,430 --> 00:39:38,150 En daha küçük yapalım. 619 00:39:38,150 --> 00:39:40,290 Merkezi haline koy. 620 00:39:40,290 --> 00:39:43,760 Sıra daha küçük yapın. 621 00:39:43,760 --> 00:39:50,110 >> Şimdi hangi biz-ebil, bir metin görünümü var Bizim nihai sonucu görüntülemek için kullanılır. 622 00:39:50,110 --> 00:39:52,860 Ama şimdi o var Kesinlikle işe yaramayacak 623 00:39:52,860 --> 00:39:56,970 hayır-- olduğundan ViewController biz sadece 624 00:39:56,970 --> 00:40:03,010 bunu bilmiyor tanımlanmış Orada bir metin görünümü vardır. 625 00:40:03,010 --> 00:40:06,550 Yani biz bir şekilde gerek Metin görünümü bağlantı biz sadece 626 00:40:06,550 --> 00:40:11,660 sınıf ile oluşturulan Zaten bizimle geldi. 627 00:40:11,660 --> 00:40:14,860 >> Biz bunu yoludur aslında gerçekten büyülü. 628 00:40:14,860 --> 00:40:18,190 Yani film şeridi açın. 629 00:40:18,190 --> 00:40:22,220 Orada özel bir [inaudible] [aradı? asistan?] [duyulamaz]. 630 00:40:22,220 --> 00:40:25,190 Bunu tıkladığınızda, bu kadar İki dosyalarını açmak için gidiyoruz. 631 00:40:25,190 --> 00:40:29,425 Bir sınıf ve diğeri ise bunun için karşılık gelen bir görünüşüdür. 632 00:40:29,425 --> 00:40:31,920 Çok, çok yararlı. 633 00:40:31,920 --> 00:40:35,950 Ve Sadece .h dosyasına geçer verelim. 634 00:40:35,950 --> 00:40:39,110 Kontrol, bu [inaudible] mantık. 635 00:40:39,110 --> 00:40:47,280 Basın Kontrol ve sürükle deklarasyon haline metin görünümü. 636 00:40:47,280 --> 00:40:48,780 Biz bu outputView aramak için gidiyoruz. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Bağlayın. 639 00:40:53,670 --> 00:40:59,420 Yani burada yeni bir ilan var Bizim ViewController sınıfı için özellik. 640 00:40:59,420 --> 00:41:02,300 Ve yeni bir özellik Sadece metin görünümüdür 641 00:41:02,300 --> 00:41:05,000 Biz arayüz binada yarattık. 642 00:41:05,000 --> 00:41:07,990 Bu şekilde biz olabilir Yani erişim, tüm veriler 643 00:41:07,990 --> 00:41:13,630 ve içeride her şeyi manipüle müthiş çıkış görünümü. 644 00:41:13,630 --> 00:41:19,260 >> Bizim gerçek kod Yani, en onunla bir şeyler yapalım. 645 00:41:19,260 --> 00:41:23,810 Yani bu sefer baskı gibi zaman Nihai sonuç üzerinden Mario için, 646 00:41:23,810 --> 00:41:28,020 biz bir şey günlüğü değil konum. 647 00:41:28,020 --> 00:41:30,080 Ben tutmak demek günlük beyanı. 648 00:41:30,080 --> 00:41:41,490 Buna ek olarak, okuma göndermek biz sadece 649 00:41:41,490 --> 00:41:47,622 çıkış görüntüsü, oluşturulan hangi biz sadece oluşturduğunuz TextView bir UI. 650 00:41:47,622 --> 00:41:48,746 Şimdi ne görelim. 651 00:41:48,746 --> 00:41:54,470 652 00:41:54,470 --> 00:41:56,620 Vaov. 653 00:41:56,620 --> 00:41:59,130 Biz şu anda app bir piramit var. 654 00:41:59,130 --> 00:42:06,720 >> Böylece kullanıcı, çünkü bizim çıkış görebilirsiniz bizim kodundan çıktı kopyaladığınız 655 00:42:06,720 --> 00:42:08,045 Bizim arayüzü. 656 00:42:08,045 --> 00:42:10,950 Oldukça iyi. 657 00:42:10,950 --> 00:42:14,990 Aslında öyle değil heyecan verici biz can-- çünkü 658 00:42:14,990 --> 00:42:18,250 Tüm uygulama olduğunu yapıyor Size bir piramit gösteren, 659 00:42:18,250 --> 00:42:20,520 ve bu konuda yapabileceğimiz bir şey yok. 660 00:42:20,520 --> 00:42:22,330 Özellikle heyecan verici değil. 661 00:42:22,330 --> 00:42:27,840 Şimdi en bir düğme yapalım Bu görüşlerini silinir. 662 00:42:27,840 --> 00:42:30,290 Bir düğme yardımcı olacak gibi görünüyor. 663 00:42:30,290 --> 00:42:33,270 Sürükleyin ve bırakın. 664 00:42:33,270 --> 00:42:33,900 Düğme biri. 665 00:42:33,900 --> 00:42:36,730 666 00:42:36,730 --> 00:42:37,320 Düğme iki. 667 00:42:37,320 --> 00:42:49,170 668 00:42:49,170 --> 00:42:52,052 >> Bu yüzden sol tıkladığınızda düğmesi, görünümü temizlemek gerekir. 669 00:42:52,052 --> 00:42:53,635 Ekranda hiçbir şey olmalıdır. 670 00:42:53,635 --> 00:42:56,970 Ve biz tıkladığınızda Sağ düğme, Mario, 671 00:42:56,970 --> 00:42:59,740 görünümü tekrar görünmesini gidiyor. 672 00:42:59,740 --> 00:43:05,510 Yani bu şekilde biz de yapmak sihirli şeyler, kontrol ve sürükle 673 00:43:05,510 --> 00:43:08,740 sınıf bildirimine yardımcısı director-- içinde 674 00:43:08,740 --> 00:43:11,600 yardımcısı izleyicide. 675 00:43:11,600 --> 00:43:18,620 Bu durumda biz belirterek vardır o bir eylem olmalıdır. 676 00:43:18,620 --> 00:43:19,120 clearMario. 677 00:43:19,120 --> 00:43:21,650 678 00:43:21,650 --> 00:43:26,830 >> Yani burada biz zaten oluşturduk clearMario adında bir eylem, 679 00:43:26,830 --> 00:43:34,210 ki adı olacaktır yöntemdir Biz düğmesi açık bastığınızda. 680 00:43:34,210 --> 00:43:41,030 Bizim aslında kod Yani, sadece atalım çıkış metin ve çıkış görünümü koymak 681 00:43:41,030 --> 00:43:44,620 hiçliğe ve bu şekilde açık olarak görünür. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 Buna ek olarak, en oluşturmasına izin runMario olarak adlandırılan başka bir metot. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Ah üzgünüm, bu özellik olmamalıdır. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 Pekala, gerektiği aynı zamanda bir eylem olabilir. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> Ve bu fonksiyon olduğunda denilen, biz sadece Mario on çalıştırın. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Umarım bu iyi olacak. 692 00:44:39,780 --> 00:44:41,120 Derlemek mu? 693 00:44:41,120 --> 00:44:43,920 Evet. 694 00:44:43,920 --> 00:44:45,090 Şimdi bir görünümü var. 695 00:44:45,090 --> 00:44:46,560 Biz bir çıkış var. 696 00:44:46,560 --> 00:44:50,040 Ve Sadece ne görelim. 697 00:44:50,040 --> 00:44:52,590 Bu gitti. 698 00:44:52,590 --> 00:44:54,500 Yine geri döndü. 699 00:44:54,500 --> 00:44:57,620 Yani burada biz belirttiğiniz fonksiyonunun ne tür 700 00:44:57,620 --> 00:45:00,400 çağrılacak olacak Biz bir şey yazın, 701 00:45:00,400 --> 00:45:03,160 Biz belirli bir düğmeye bastığınızda. 702 00:45:03,160 --> 00:45:07,890 Bu temelde Hedef eylem planı 703 00:45:07,890 --> 00:45:12,510 etkinlik için tahrik Amaç C programlama 704 00:45:12,510 --> 00:45:15,030 >> Buna ek olarak, Çok heyecan verici değil 705 00:45:15,030 --> 00:45:19,810 biz gerçekten değiştiremezsiniz çünkü piramit ne kadar yüksek olacak, 706 00:45:19,810 --> 00:45:23,640 bu yüzden muhtemelen bir şekilde istiyoruz Kullanıcı bir giriş olsun 707 00:45:23,640 --> 00:45:29,490 ve yüksekliğini değiştirmek piramit ne çıktı dayalı. 708 00:45:29,490 --> 00:45:32,900 Yani biz yapacağız. 709 00:45:32,900 --> 00:45:38,720 Bu yüzden runMario dediğimiz bu sefer, biz sadece Mario doğrudan demiyorlar. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Bu kişinin başlığı. 712 00:46:07,000 --> 00:46:22,180 713 00:46:22,180 --> 00:46:23,700 >> Delege. 714 00:46:23,700 --> 00:46:25,160 Bu çok ilginç. 715 00:46:25,160 --> 00:46:26,720 Bir temsilci nedir? 716 00:46:26,720 --> 00:46:28,950 Ben burada kendini koymak için gidiyorum. 717 00:46:28,950 --> 00:46:31,038 Ve biz görmek için gidiyoruz ne daha sonra gelir. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Yani burada biz temelde oluşturduğunuz bir Belirli örneği UI uyarısı olarak adlandırılan 720 00:46:51,120 --> 00:46:52,210 görünümü. 721 00:46:52,210 --> 00:46:54,440 Bir UI uyarı görünümüdür temelde ne olacak 722 00:46:54,440 --> 00:46:58,940 Her zaman bir şey pops görmek giriş için size sorar ve yukarı, 723 00:46:58,940 --> 00:47:03,080 Eğer çalıştığınız zaman ne olacak gibi Bir App Store üzerinde bir şey satın almak. 724 00:47:03,080 --> 00:47:14,250 >> Buna ek olarak, senden sonra oluşturun, biz sadece uyarı gösterir. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 Pekala, sadece hızlı atalım Test bu işin veya olmaz. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 Bu çok cool. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Şimdi aslında oluşturmanıza izin UI uyarının giriş alanı. 731 00:47:59,120 --> 00:48:01,170 Bu biz bunu nasıl. 732 00:48:01,170 --> 00:48:07,490 Ve biz bir olmalıdır uyarının giriş görünümü. 733 00:48:07,490 --> 00:48:09,020 Çok serin. 734 00:48:09,020 --> 00:48:12,330 Sadece 10 diyelim. 735 00:48:12,330 --> 00:48:14,900 >> Bu doğru bir şey yapıyor değil Şimdi çağrı aslında, çünkü 736 00:48:14,900 --> 00:48:17,770 mario yürütülmesi için değişmedi. 737 00:48:17,770 --> 00:48:23,470 Yani bu biraz haline gelmiştir biraz garip zaman, çünkü 738 00:48:23,470 --> 00:48:30,790 biz ne zaman biz aşağı bir düğmeye basarak uyarı görünümünde bir düğmeye basın, 739 00:48:30,790 --> 00:48:35,560 şey, olması gerektiğini ama olmuyor. 740 00:48:35,560 --> 00:48:37,220 Biz nasıl yakalarım? 741 00:48:37,220 --> 00:48:41,280 Nasıl bir kullanıcı olduğunu biliyorum Bir uyarı görünümü reddetti 742 00:48:41,280 --> 00:48:45,630 ve zaten, çünkü bir numara girdi Şu anda hiçbir şey aslında oluyor. 743 00:48:45,630 --> 00:48:50,450 >> Peki, tahmin olabilir doğru, heyet. 744 00:48:50,450 --> 00:48:55,440 Böylece tüm ek Bu beyannameler, 745 00:48:55,440 --> 00:49:03,190 yeni bir heyet eklemek gerekir UI uyarı görünüm temsilci çağırdı. 746 00:49:03,190 --> 00:49:06,440 Her Böylece etkileşim veya olay 747 00:49:06,440 --> 00:49:10,190 biz gidiyoruz UI uyarı görüntüsü 748 00:49:10,190 --> 00:49:14,100 ele olacak hem de bizim sınıf tarafından. 749 00:49:14,100 --> 00:49:26,297 >> Böylece ek olacak dizin uyarı görünümü tıklama butonu. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 Bu ulaşılır. 752 00:49:37,730 --> 00:49:42,020 Elimizdeki bu durumda Yani already-- yüzden var 753 00:49:42,020 --> 00:49:46,210 Bir protokol öğrendim zaman olayı idare edecek 754 00:49:46,210 --> 00:49:51,320 Biz Bitti düğmesini tıklatın uyarı görünümünde. 755 00:49:51,320 --> 00:49:55,976 Yani her zaman biz görevden Uyarı görünümü, bu gerçekleşmesi gerekir. 756 00:49:55,976 --> 00:49:57,350 Bana sadece çok hızlı test edelim. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 Peki gerçekten de, biz burada ulaştı. 759 00:50:19,300 --> 00:50:22,210 >> Yani burada, ne olmaz aslında aslında olsun 760 00:50:22,210 --> 00:50:43,120 Bu yüzden dışarı almak istiyorum Şeyin olsun Daha önce var metin 761 00:50:43,120 --> 00:50:45,350 uyarı görünümünde girdi. 762 00:50:45,350 --> 00:50:48,505 Ve metne dayalı, biz konum Mario görüntülemek için gidiyor. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 Bu çok hızlı bir şekilde çıkıyor aslında çalışır ya da değilse. 765 00:50:55,480 --> 00:50:59,476 Yani bu durumda, biz girişi varsa, Biz 10 görmelisiniz, 10, diyelim. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Çok iyi, biz burada bir dizi var. 768 00:51:05,210 --> 00:51:06,470 Oldukça iyi. 769 00:51:06,470 --> 00:51:16,840 Şimdi son adım Yani göre-- olacak Son adım şu anda yapmamız gereken 770 00:51:16,840 --> 00:51:21,100 Sadece bir ile Mario çağrı edilir seviye girişine göre 771 00:51:21,100 --> 00:51:23,270 biz uyarı görünüm içine koyduk. 772 00:51:23,270 --> 00:51:26,920 Yani biz dönüştürmek gerekir iOS içine bu dize. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Statik taşma çok harika. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 Ve sonra biz sadece kendini aramak marioWithLevels değeri. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 En olacak ki görelim gerçekten işe ya da değil. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Biz zaten bir piramit verilen konum. 781 00:52:01,550 --> 00:52:04,785 Yüksekliğini değiştirmek için deneyelim. 782 00:52:04,785 --> 00:52:06,530 Aslında çalışıyor. 783 00:52:06,530 --> 00:52:07,610 Oldukça serin. 784 00:52:07,610 --> 00:52:10,420 Şimdi yapabilirsiniz Yani sadece giriş istediğiniz herhangi bir değer. 785 00:52:10,420 --> 00:52:12,440 Sadece dört diyelim. 786 00:52:12,440 --> 00:52:14,260 Bu oldukça harika. 787 00:52:14,260 --> 00:52:17,090 Yani bu temelde gerçekten hızlı bir örnek 788 00:52:17,090 --> 00:52:23,170 s kodunda bir proje oluşturmak için nasıl ve gerçekten hızlı bir şekilde lantÛlarÛyla 789 00:52:23,170 --> 00:52:26,220 bazı gerçekten basit olaylar ve işlevleri. 790 00:52:26,220 --> 00:52:28,840 >> Yani kaynak gidiyor Daha sonra çevrimiçi koymak. 791 00:52:28,840 --> 00:52:33,400 Eğer ilgileniyorsanız Yani iOS Mario çalıştığını nasıl, 792 00:52:33,400 --> 00:52:38,360 Ben aynı koymak için gidiyorum Daha sonra CS50 web sitesi üzerine projeler. 793 00:52:38,360 --> 00:52:41,260 Biz temelde bitti yaz, biz ve bitirmek önce 794 00:52:41,260 --> 00:52:45,190 Ben sadece sizi işaret etmek istiyorum Bazı gerçekten harika kaynaklar olduğunu 795 00:52:45,190 --> 00:52:47,550 online olarak mevcuttur. 796 00:52:47,550 --> 00:52:52,270 >> Açıkçası Apple belgeleri çok yararlı olacak. 797 00:52:52,270 --> 00:52:57,630 Ancak buna ek olarak, özellikle Dört kaynakları, kod okul tavsiye 798 00:52:57,630 --> 00:53:02,120 ağaç ev, AppCoda ve WWDC videoları. 799 00:53:02,120 --> 00:53:07,270 Kod okul ve ağaç evi vardır iki online eğitmenin web siteleri, 800 00:53:07,270 --> 00:53:10,210 özellikle hangi odak Yazılım mühendisliği üzerine. 801 00:53:10,210 --> 00:53:16,930 Özellikle kodu okulun için, onlar iOS gerçekten iyi bir öğretici var. 802 00:53:16,930 --> 00:53:19,550 >> Bu onun için gerçekten hızlı bir örnektir. 803 00:53:19,550 --> 00:53:22,980 Onlar aslında gerçekten cute-- oluşturmak Bu küçük sevimli iPhone bakmak 804 00:53:22,980 --> 00:53:24,920 Oradaki dostum, oldukça harika. 805 00:53:24,920 --> 00:53:31,010 Ve yol onlar Amaç açıklamak C sözdizimi çok açıktır. 806 00:53:31,010 --> 00:53:32,230 Ağaç ev aynıdır. 807 00:53:32,230 --> 00:53:34,660 Ve AppCoda bir forumdur. 808 00:53:34,660 --> 00:53:38,130 Aslında çalıştırıldığı bir blog var Gerçekten deneyimli Objective C ile 809 00:53:38,130 --> 00:53:39,120 programcı. 810 00:53:39,120 --> 00:53:43,950 Ve AppCoda tüm bu öğreticiler oldukça kısa ve uygulanması kolay, 811 00:53:43,950 --> 00:53:45,390 tavsiye. 812 00:53:45,390 --> 00:53:47,700 >> Ve bir geliştirici iseniz, Kesinlikle kontrol gitmek 813 00:53:47,700 --> 00:53:55,660 nasıl WWDC videoları nerede yapabilirsiniz En son iOS programlama hakkında bilgi 814 00:53:55,660 --> 00:53:58,250 teknikleri, API'ler ve kütüphaneler. 815 00:53:58,250 --> 00:54:02,850 Yani hemen hemen Seminerin için. 816 00:54:02,850 --> 00:54:03,820 Çok teşekkür ederim. 817 00:54:03,820 --> 00:54:08,040 Ve ben eğlenmek umut Kendi iOS uygulaması yaratmak. 818 00:54:08,040 --> 00:54:09,302