1 00:00:00,000 --> 00:00:11,420 2 00:00:11,420 --> 00:00:13,590 >> Tianyu Ліу: Гэй, як гэта адбываецца ўсё? 3 00:00:13,590 --> 00:00:20,250 І гэта IOS App праграмаванне Objective C семінары. 4 00:00:20,250 --> 00:00:21,520 І мяне клічуць Tianyu Лю. 5 00:00:21,520 --> 00:00:26,114 Я малодшы Лоуэлл прама зараз, канцэнтруючыся ў галіне кампутарных навук. 6 00:00:26,114 --> 00:00:28,030 Так што ў гэтым семінары я буду вучыць вас, хлопцы 7 00:00:28,030 --> 00:00:30,770 Крыху аб тым, як зрабіць прыкладанне. 8 00:00:30,770 --> 00:00:33,030 Ура, захапіцца для яго. 9 00:00:33,030 --> 00:00:36,790 >> Таму, перш чым нават пачаць плаванне ў фактычнай баку праграмавання, 10 00:00:36,790 --> 00:00:41,840 давайце проста вельмі хутка казаць пра Таму, магчыма, вы хочаце стварыць прыкладанне IOS? 11 00:00:41,840 --> 00:00:43,940 Чаму IOS настолькі дзіўным? 12 00:00:43,940 --> 00:00:47,250 Такім чынам, першай праблемай, у першую чаргу рэч, якая з'яўляецца даволі дзіўным для нас, 13 00:00:47,250 --> 00:00:51,190 асабліва ў CS50 студэнт, з'яўляецца тое, што IOS 14 00:00:51,190 --> 00:00:55,860 выкарыстоўвае Objective C. Ну, ёсць Новая мова называецца Свіфт, 15 00:00:55,860 --> 00:00:58,260 але мы не збіраемся выкарыстоўваць, што ў гэтым семінары. 16 00:00:58,260 --> 00:01:01,540 Калі вы зацікаўлены ў Swift, ёсць з'яўляецца незалежным семінар пра гэта. 17 00:01:01,540 --> 00:01:05,590 Але Objective C, у асноўным пашыраны Ч. Значэнне 18 00:01:05,590 --> 00:01:10,230 што ўсе вы карыстаецеся ў C можа быць пераведзены на Objective-C 19 00:01:10,230 --> 00:01:11,630 вельмі лёгка. 20 00:01:11,630 --> 00:01:15,730 >> Як вы можаце бачыць пазней, што, сапраўды, Ёсць некаторыя вельмі базавы сінтаксіс, з'яўляюцца 21 00:01:15,730 --> 00:01:19,790 асноўным сапраўды гэтак жа, C і Objective C. Такім чынам, 22 00:01:19,790 --> 00:01:22,860 так як вы зрабілі CS50 да гэтага месца, то ўжо 23 00:01:22,860 --> 00:01:26,500 ведаць, Objective C, па меншай меры, 40%. 24 00:01:26,500 --> 00:01:30,720 Акрамя таго, Apple, мае вельмі надзейны API для IOS. 25 00:01:30,720 --> 00:01:33,750 Ёсць шмат сапраўды вар'ят рэчы, якія вы можаце рабіць з ім. 26 00:01:33,750 --> 00:01:36,760 Адзін з якіх з'яўляецца той, на самай справе стварыў прыкладанне IOS 27 00:01:36,760 --> 00:01:40,600 для кантролю аўтамабіляў, якія гэта даволі цікава. 28 00:01:40,600 --> 00:01:42,610 Напэўна, верталёт больш захапляльным. 29 00:01:42,610 --> 00:01:47,020 Але гэта, як магутны API IOS можа быць. 30 00:01:47,020 --> 00:01:49,340 >> І, як вы, магчыма, прыйдзецца меркаваў, прама зараз, 31 00:01:49,340 --> 00:01:53,000 перапаўненне стэка, верагодна, адзін з найбольш важныя інтэрнэт-рэсурсы 32 00:01:53,000 --> 00:01:54,250 даступныя для вас. 33 00:01:54,250 --> 00:01:58,090 І добрая навіна для кожнага адной праблемы, магчыма, вы можаце 34 00:01:58,090 --> 00:02:01,840 думаць аб пры будаўніцтве вашага Канчатковы праект у Objective-C, 35 00:02:01,840 --> 00:02:05,910 існуе верагоднасць перапаўнення стэка адказ. 36 00:02:05,910 --> 00:02:07,420 Гэта проста ўзрушаюча. 37 00:02:07,420 --> 00:02:12,780 У дадатак да гэтага, IOS сапраўды платформа 38 00:02:12,780 --> 00:02:16,260 дзе вы можаце дабрацца да велізарнае Гледачы з невялікім высілкам. 39 00:02:16,260 --> 00:02:20,170 Гэта не тое, Android, дзе ўсё даволі фрагментаваная. 40 00:02:20,170 --> 00:02:22,540 >> Усе IOS адзіная. 41 00:02:22,540 --> 00:02:25,920 І да таго часу, як вы ствараеце Прыкладанне для iPhone, 42 00:02:25,920 --> 00:02:31,260 вы можаце вельмі лёгка пераносіць, што Ipad, Ipad міні, або розныя памеры iPhone. 43 00:02:31,260 --> 00:02:33,050 Гэта ўсё вельмі зручна. 44 00:02:33,050 --> 00:02:36,430 І гэта проста вельмі добра для ўражанне на сваіх сяброў. 45 00:02:36,430 --> 00:02:38,920 Вы можаце проста правесці iphone і скажыце вашага сябра эй, 46 00:02:38,920 --> 00:02:40,250 гэта дадатак, якое я зрабіць. 47 00:02:40,250 --> 00:02:43,860 Вы можаце зрабіць, што для любога настольныя прыкладанні, што прыемна. 48 00:02:43,860 --> 00:02:48,870 >> Добра, зараз давайце на самай справе атрымаць ў моўнай Objective C. 49 00:02:48,870 --> 00:02:52,910 Дык чаму б нам не пачаць з некаторыя сапраўды асноўны сінтаксіс. 50 00:02:52,910 --> 00:02:57,410 Як я ўжо казаў Мэта C Гэта ў асноўным пашыраным С. 51 00:02:57,410 --> 00:03:01,860 Так шмат асноўнага сінтаксісу на самай справе сапраўды гэтак жа. 52 00:03:01,860 --> 00:03:06,150 Аб'яву зменнай і дадаўшы дзве зменныя разам 53 00:03:06,150 --> 00:03:09,440 менавіта так, як мы зрабілі ў Марыё. 54 00:03:09,440 --> 00:03:11,140 Нічога новага тут. 55 00:03:11,140 --> 00:03:17,370 >> Сапраўды гэтак жа, жыхар цыкл і ўмова таксама і тое ж. 56 00:03:17,370 --> 00:03:22,370 Вы можаце зрабіць цыкл гэтак жа, як вас ўжо зрабіў у Марыё [неразборліва]. 57 00:03:22,370 --> 00:03:26,280 І вы можаце зрабіць умовы гэтак жа, як тое, што вы 58 00:03:26,280 --> 00:03:29,240 рабілі ў вашых папярэдніх набораў р. 59 00:03:29,240 --> 00:03:33,400 Тым не менш, Objective C не цалкам C, 60 00:03:33,400 --> 00:03:36,640 і ёсць тое, што крыху дзіўна пра гэта. 61 00:03:36,640 --> 00:03:42,340 >> Першы ў тым, што калі вы рабіць праграмаванні на мове З, вы, як правіла, называюць 62 00:03:42,340 --> 00:03:46,310 ўключаюць у сябе, а затым імя бібліятэкі. 63 00:03:46,310 --> 00:03:49,860 Але ў Objective-C Вы называеце гэта імпарт. 64 00:03:49,860 --> 00:03:53,100 У асноўным кажуць функцыянальнасць, проста розныя назвы. 65 00:03:53,100 --> 00:03:55,940 І струны на самай справе трохі дзіўна. 66 00:03:55,940 --> 00:03:58,250 Вы можаце бачыць, што першая рэч, якая крыху дзіўна 67 00:03:58,250 --> 00:04:04,190 з'яўляецца тое, што ў вас ёсць даволі weird-- sorry-- ў вас ёсць даволі дзіўныя NS 68 00:04:04,190 --> 00:04:04,960 увайдзіце сюды. 69 00:04:04,960 --> 00:04:07,452 70 00:04:07,452 --> 00:04:09,160 І другая рэч, гэта крыху дзіўна 71 00:04:09,160 --> 00:04:14,090 гэта вы павінны ў знак перад на самай справе аб'явіць радок. 72 00:04:14,090 --> 00:04:19,209 Так у знак асноўным азначае што радок не толькі радок, 73 00:04:19,209 --> 00:04:20,880 гэта на самай справе аб'ект. 74 00:04:20,880 --> 00:04:22,780 Мы збіраемся растлумачыць, што пазней, так што не 75 00:04:22,780 --> 00:04:25,800 паніка, калі вы не зразумець, што гэта значыць. 76 00:04:25,800 --> 00:04:29,980 І друк на кансолі трохі адрозніваецца тым, што ў C мы называем Printf, 77 00:04:29,980 --> 00:04:33,350 але ў Objective-C мы называем [неразборліва]. 78 00:04:33,350 --> 00:04:35,640 >> Вы можаце быць здзіўлены, што ёсць што. 79 00:04:35,640 --> 00:04:38,070 Гэта ў асноўным Printf, проста іншую мову. 80 00:04:38,070 --> 00:04:41,370 Сапраўды гэтак жа, выкарыстанне, дакладна тыя ж функцыі. 81 00:04:41,370 --> 00:04:44,060 Ну і атрымліваецца, што Objective C на самай справе 82 00:04:44,060 --> 00:04:50,040 Мае НС прэфікс амаль усе, кожны базавы тып дадзеных, 83 00:04:50,040 --> 00:04:52,690 NSString, NSArray, NSDictionary. 84 00:04:52,690 --> 00:04:56,340 Прычына ў тым, што НС на самай справе пазначае наступны крок, 85 00:04:56,340 --> 00:04:59,980 што кампанія, якая Стыў Джобс заснаваў, 86 00:04:59,980 --> 00:05:03,960 што кампанія, у якой мова Objective C нараджаецца. 87 00:05:03,960 --> 00:05:06,140 Так што гэта ў асноўным традыцыяй. 88 00:05:06,140 --> 00:05:09,010 Я ведаю, што гэта крыху дзіўна, але гэта Apple. 89 00:05:09,010 --> 00:05:16,840 >> Так што-то, што нават больш дзіўнага чым гэта аб'ява функцыі. 90 00:05:16,840 --> 00:05:22,600 Гэта вельмі адрозніваецца ад таго, што мы см у Сі, так вось гэта на самай справе 91 00:05:22,600 --> 00:05:25,190 не падобны З больш. 92 00:05:25,190 --> 00:05:28,810 Тое, што вы here-- па спосаб гэта не кулі, 93 00:05:28,810 --> 00:05:30,690 гэта мінус. 94 00:05:30,690 --> 00:05:36,440 У вас ёсць знак мінус дужкі несапраўднымі, а затым імя функцыі. 95 00:05:36,440 --> 00:05:38,450 Давайце проста скажам, калі мы ёсць прывітанне свет, то 96 00:05:38,450 --> 00:05:42,820 Тып якое вяртаецца б несапраўднымі таму што мы не вяртаюць нічога. 97 00:05:42,820 --> 00:05:44,680 >> Што становіцца сапраўды дзіўна з'яўляецца тое, што, калі вы 98 00:05:44,680 --> 00:05:49,580 якія маюць больш аднаго параметру пераходзячы ў адной і той жа функцыі, што 99 00:05:49,580 --> 00:05:53,870 будзе вельмі дзіўна, як паказана тут. 100 00:05:53,870 --> 00:05:58,230 У нас ёсць імя метаду, называецца addInt на [неразборліва] 101 00:05:58,230 --> 00:06:00,370 і мы перадаем адзін параметр. 102 00:06:00,370 --> 00:06:05,170 Але пасля гэтага, у нас ёсць болей імя выклік метаду с. 103 00:06:05,170 --> 00:06:08,500 А пасля з, што мы перадаем Другі параметр. 104 00:06:08,500 --> 00:06:11,940 Гэта на самай справе крыху дзіўна, але ўсе гэтыя аб'явы функцый 105 00:06:11,940 --> 00:06:14,770 па той жа схеме, як гэта. 106 00:06:14,770 --> 00:06:17,450 >> У нас ёсць знак мінус, каб пачаць з. 107 00:06:17,450 --> 00:06:21,550 Знак мінус можа быць знак плюс часам на аснове таго, які метад 108 00:06:21,550 --> 00:06:22,340 гэта. 109 00:06:22,340 --> 00:06:25,000 Метад у асноўным іншае назва для функцыі. 110 00:06:25,000 --> 00:06:26,760 І мы збіраемся растлумачыць, што пазней, калі 111 00:06:26,760 --> 00:06:30,580 мы гаворым аб аб'екце арыентаванае праграмаванне. 112 00:06:30,580 --> 00:06:34,300 Спачатку пакажыце вяртанне ўвядзіце ў дужках, 113 00:06:34,300 --> 00:06:37,450 пасля чаго прыходзіць імя метаду. 114 00:06:37,450 --> 00:06:40,310 Вы перадаеце адзін параметр. 115 00:06:40,310 --> 00:06:44,750 І калі ў вас ёсць некалькі параметраў, вам неабходна пашырыць назву метаду 116 00:06:44,750 --> 00:06:46,770 і ў асноўным нешта напісаць больш тут. 117 00:06:46,770 --> 00:06:48,090 >> Гэта можа быць усё, што заўгодна. 118 00:06:48,090 --> 00:06:50,140 У нашым выпадку гэта з. 119 00:06:50,140 --> 00:06:56,160 Але можна сказаць, што канец, або, або, або ABC поўны бар, усё, што вы хочаце. 120 00:06:56,160 --> 00:06:59,500 А потым пасля гэтага вы Перадача параметраў б. 121 00:06:59,500 --> 00:07:01,750 Гэта сапраўды дзіўна Канвенцыя, але мы 122 00:07:01,750 --> 00:07:05,800 ўбачыце, чаму Apple, хацеў зрабіць гэта вельмі хутка. 123 00:07:05,800 --> 00:07:10,530 Такім чынам, як вы выклікаць функцыю? 124 00:07:10,530 --> 00:07:15,520 Выклік функцыі ў Objective З таксама адрозніваецца ад C. 125 00:07:15,520 --> 00:07:18,170 >> На самай справе, называючы функцыя ў Objective-C 126 00:07:18,170 --> 00:07:21,030 больш, як вы кажаце каму-то. 127 00:07:21,030 --> 00:07:27,030 Тут мы маем сябе, што называецца аб'ектам. 128 00:07:27,030 --> 00:07:33,830 Вы ў асноўным кажа аб'ект сам, каб сказаць "Hello World!" 129 00:07:33,830 --> 00:07:36,830 Гэта значыць, як выклікаць функцыю. 130 00:07:36,830 --> 00:07:41,690 Аб'ект і імя метаду ў спалучэнні адзін з адным. 131 00:07:41,690 --> 00:07:49,600 І гэта, дзе дзіўны пашырэнне для назвы метаду сапраўды уступае ў гульню. 132 00:07:49,600 --> 00:07:52,150 >> Давайце паглядзім на другі прыклад. 133 00:07:52,150 --> 00:07:56,780 Мы толькі што вызначылі метад, званы addInt з бла-бла-бла. 134 00:07:56,780 --> 00:08:00,066 Такім чынам, у гэтым выпадку, калі Вы тэлефануеце што канкрэтная [? паведамленне?] гэта будзе 135 00:08:00,066 --> 00:08:02,035 каб выглядаць самастойнай addInt: 10 з: 2. 136 00:08:02,035 --> 00:08:05,410 137 00:08:05,410 --> 00:08:08,070 Падобна на тое, на англійскай мове. 138 00:08:08,070 --> 00:08:11,980 Хоць функцыі Аб'яву функцыі дзіўна, 139 00:08:11,980 --> 00:08:15,600 кропка Objective C гадоў Аб'яву метаду ўзор, 140 00:08:15,600 --> 00:08:18,830 з'яўляецца тое, што, калі вы тэлефануеце функцыя або метад 141 00:08:18,830 --> 00:08:21,980 гэта будзе гучаць як фактычным англійскай мове. 142 00:08:21,980 --> 00:08:25,270 Так што гэта вельмі інтуітыўна як толькі вы атрымаеце ў яе. 143 00:08:25,270 --> 00:08:28,740 >> Асабліва ў гэтым выпадку, дзе вы можаце ў асноўным 144 00:08:28,740 --> 00:08:33,010 бачыць, што імя функцыі Сартаваць дакументавання сябе. 145 00:08:33,010 --> 00:08:35,390 Вы не маеце патрэбу ні ў больш тлумачэнняў, каб убачыць 146 00:08:35,390 --> 00:08:42,770 што менавіта адбываецца, што дакладна адзін параметр робіць. 147 00:08:42,770 --> 00:08:48,470 Выходзячы за рамкі, што, давайце пагаворым крыху Крыху пра аб'ектна-арыентаванага праграмавання. 148 00:08:48,470 --> 00:08:52,160 Аб'ектна-арыентаванае праграмаванне адзін з фундаментальнага праграмавання 149 00:08:52,160 --> 00:08:57,110 метады або мадэлі, якія з'яўляецца выкарыстоўваецца Objective C. Objective-C 150 00:08:57,110 --> 00:09:03,110 называецца Objective C, ня C для сапраўды добрай прычыне. 151 00:09:03,110 --> 00:09:07,560 >> Таму, перш чым патрапіць у Мэта сінтаксіс C, 152 00:09:07,560 --> 00:09:11,670 Давайце сапраўды хутка зірнуць на што менавіта з'яўляецца аб'ектам. 153 00:09:11,670 --> 00:09:15,480 Мы, верагодна, зрабілі нешта як аб'ект раней, што 154 00:09:15,480 --> 00:09:19,780 называецца структура, калі вы знаходзіцеся рэалізацыі дрэва або звязаны спіс 155 00:09:19,780 --> 00:09:25,730 або [? паспрабаваць. ?] Такім чынам, гэта у асноўным, як структуры, 156 00:09:25,730 --> 00:09:28,560 але гэта значна больш магутны, чым гэта. 157 00:09:28,560 --> 00:09:33,150 Аб'ект мае ўласцівасці і метады. 158 00:09:33,150 --> 00:09:35,310 Метады асноўным функцыі. 159 00:09:35,310 --> 00:09:39,480 У асноўным функцыі, якія спецыфічныя для пэўнага аб'екта. 160 00:09:39,480 --> 00:09:45,440 >> І ўласцівасці ў асноўным поле вы паказваеце ў структуры. 161 00:09:45,440 --> 00:09:48,500 Такім чынам, для кожнага аб'екта у нас ёсць некаторы ўласцівасць 162 00:09:48,500 --> 00:09:53,160 які мае некалькі зменных, якія спецыфічныя да аб'екта. 163 00:09:53,160 --> 00:09:57,170 І ў нас ёсць некаторыя функцыі, якія таксама спецыфічныя для аб'екта. 164 00:09:57,170 --> 00:10:01,180 І функцыі называюцца метадамі і зменныя называюцца ўласцівасцямі. 165 00:10:01,180 --> 00:10:03,190 Гэта проста прыгожая назва. 166 00:10:03,190 --> 00:10:10,440 Пакуль вы самой справе, кожны выгляд Вы бачыце, калі вы адкрываеце прыкладанне IOS, 167 00:10:10,440 --> 00:10:17,720 давайце проста скажам, Twitter або Facebook, кожны выгляд вы бачыце аб'ект. 168 00:10:17,720 --> 00:10:22,110 І нават увесь дадатак Аб'ект, каб пачаць з. 169 00:10:22,110 --> 00:10:25,340 Вельмі цікавая канцэпцыя. 170 00:10:25,340 --> 00:10:28,480 >> І чаму мы хочам аб'ект арыентаванае праграмаванне? 171 00:10:28,480 --> 00:10:33,530 Такім чынам, вы можаце сабе ўявіць, што калі вы Праграма ён атрымлівае даволі складана. 172 00:10:33,530 --> 00:10:36,400 Давайце проста скажам, калі вы рэалізацыі шахматную дошку, 173 00:10:36,400 --> 00:10:40,020 Логіка збіраецца быць вельмі складаным. 174 00:10:40,020 --> 00:10:43,280 Вы павінны 36 розных штук, так што калі вы 175 00:10:43,280 --> 00:10:48,370 хачу напісаць логіку для ўсіх 36 розных частак у шахматы, 176 00:10:48,370 --> 00:10:52,150 што будзе шмат розныя функцыі і зменныя. 177 00:10:52,150 --> 00:10:54,070 Гэта шмат непрыемнасцяў. 178 00:10:54,070 --> 00:10:58,980 І, напэўна, вы збіраецеся напісаць іншы спосаб або іншая функцыя 179 00:10:58,980 --> 00:11:03,950 для кожнага з часткі, каб дакладна кантраляваць тое, што яны робяць. 180 00:11:03,950 --> 00:11:08,830 >> Але калі вы робіце аб'ектна-арыентаванага Праграмаванне, усе гэтыя кавалкі 181 00:11:08,830 --> 00:11:12,440 можна абстрагавацца ў адзін аб'ект. 182 00:11:12,440 --> 00:11:16,111 І аб'ект будзе мець некаторыя агульныя ўласцівасці, як і якія часткі 183 00:11:16,111 --> 00:11:16,610 гэта? 184 00:11:16,610 --> 00:11:17,740 Якога яна колеру? 185 00:11:17,740 --> 00:11:19,480 Як ён можа рухацца? 186 00:11:19,480 --> 00:11:24,660 І ў гэтым выпадку вы павінны ў значнай ступені спрасціць логіку яго. 187 00:11:24,660 --> 00:11:28,480 Так што гэта проста сапраўды добры спосаб каб зрабіць складаныя праграмы, 188 00:11:28,480 --> 00:11:33,700 і іерархічная сувязь у рамках праграмы, вельмі проста. 189 00:11:33,700 --> 00:11:36,800 Як мы збіраемся, каб убачыць Таму вельмі хутка, калі 190 00:11:36,800 --> 00:11:39,660 мы на самай справе робім programming--, калі мы на самай справе 191 00:11:39,660 --> 00:11:42,830 Вядзенне S код праграмаванне пленарным пасяджэнні. 192 00:11:42,830 --> 00:11:48,120 >> Добра ў дадатак да гэтага, аб'ектна-арыентаванае праграмаванне 193 00:11:48,120 --> 00:11:50,030 гэта проста весела. 194 00:11:50,030 --> 00:11:51,990 Вы павінны стварыць свой уласны аб'ект. 195 00:11:51,990 --> 00:11:56,080 Вы павінны праектаваць тое, што робіць гэта выглядае самастойна. 196 00:11:56,080 --> 00:11:58,250 Там няма правільнага адказу на яго. 197 00:11:58,250 --> 00:12:02,940 І гэта зусім цікава. 198 00:12:02,940 --> 00:12:07,270 Такім чынам, у аб'ектна-арыентаваным праграмаванні, два асноўных паняцці 199 00:12:07,270 --> 00:12:10,130 будзе клас і экзэмпляр. 200 00:12:10,130 --> 00:12:13,570 Клас у асноўным шаблон для аб'екта. 201 00:12:13,570 --> 00:12:18,070 І экзэмпляр у асноўным адзін канкрэтны аб'ект. 202 00:12:18,070 --> 00:12:21,090 >> Давайце проста скажам, што вы робіце печыва. 203 00:12:21,090 --> 00:12:24,800 У гэтым выпадку, кожны печыва вы на самой справе ў канчатковым выніку з 204 00:12:24,800 --> 00:12:27,310 будзе аб'ектам. 205 00:12:27,310 --> 00:12:35,830 Але печыва пліты вы карыстаецеся для выпечкі усе печыва будзе клас. 206 00:12:35,830 --> 00:12:37,880 Клас у асноўным шаблон. 207 00:12:37,880 --> 00:12:46,170 І асобнік будзе адзін канкрэтны Аб'ект, створаны з гэтага класа. 208 00:12:46,170 --> 00:12:49,970 >> І Асобнік будзе створаны на аснове дэкларацыі класа, 209 00:12:49,970 --> 00:12:56,760 як мы ўбачым у наступных слайдах. 210 00:12:56,760 --> 00:13:00,010 Такім чынам, давайце на самай справе сапраўды Хуткі прыклад [неразборліва]. 211 00:13:00,010 --> 00:13:04,280 Скажам, мы аб'яўленні Аб'ект для кошкі. 212 00:13:04,280 --> 00:13:07,930 Аб'ект павінен have-- клас котка павінна 213 00:13:07,930 --> 00:13:11,260 маюць некаторыя ўласцівасці і метады. 214 00:13:11,260 --> 00:13:17,300 Якія ўласцівасці павінны ў клас have-- павінны кот ёсць? 215 00:13:17,300 --> 00:13:20,580 >> Напрыклад, колер, узрост і парода, тых, 216 00:13:20,580 --> 00:13:24,440 будзе зменныя, якія спецыфічныя для кожнай кошкі. 217 00:13:24,440 --> 00:13:27,790 І тыя рэчы, што мы выкарыстоўваем для апісання котку. 218 00:13:27,790 --> 00:13:31,880 Якім метадам, або тое, што можа котка рабіць? 219 00:13:31,880 --> 00:13:37,160 Некаторыя хуткія прыклады будуць пераследваць мыш, ядуць рыбу або проста мяўкаюць. 220 00:13:37,160 --> 00:13:40,900 Гэта вельмі хутка Прыклад класа каціных. 221 00:13:40,900 --> 00:13:46,920 І сапраўды спецыфічны кот аб'ект будзе кошка 222 00:13:46,920 --> 00:13:50,930 дзе мы паказваем колер, узрост і парода. 223 00:13:50,930 --> 00:13:53,790 >> У гэтым выпадку, наш аб'ект не больш за класе не болей. 224 00:13:53,790 --> 00:14:00,010 Мы капіяваны шаблон з класа і мы паказваем кожны канкрэтную інфармацыю 225 00:14:00,010 --> 00:14:04,510 да гэтага канкрэтнаму аб'екту каб зрабіць яго незалежным. 226 00:14:04,510 --> 00:14:09,350 І калі вы тэлефануеце Спосаб ўнутры аб'екта, 227 00:14:09,350 --> 00:14:16,640 вы проста патэлефануеце мяу на аб'екце, што котка вы толькі што стварылі. 228 00:14:16,640 --> 00:14:19,020 >> Магчыма, вы будзеце друкаваць нешта накшталт "Hello World! 229 00:14:19,020 --> 00:14:20,000 Мяу. " 230 00:14:20,000 --> 00:14:22,110 Даволі міла. 231 00:14:22,110 --> 00:14:24,500 Добра, давайце проста трапіць у некаторых дэталях 232 00:14:24,500 --> 00:14:30,650 і паглядзець, што менавіта гэта перавесці на свет праграмаванне IOS. 233 00:14:30,650 --> 00:14:36,500 Такім чынам, у IOS праграмаванне кожны клас будзе ажыццяўляцца ў двух файлах. 234 00:14:36,500 --> 00:14:41,420 Адзін файл тут, які называецца інтэрфейс. 235 00:14:41,420 --> 00:14:45,300 Яшчэ адзін файл тут, які называецца рэалізацыю. 236 00:14:45,300 --> 00:14:48,890 >> Звычайна інтэрфейс будзе мець extension.h 237 00:14:48,890 --> 00:14:51,740 як мы бачылі ў C бібліятэк. 238 00:14:51,740 --> 00:14:56,340 І файл рэалізацыя будзе мець extension.n. 239 00:14:56,340 --> 00:14:57,260 Гэта крыху дзіўна. 240 00:14:57,260 --> 00:15:01,270 Але .n азначае на самай справе .c, няма Фундаментальнае адрозненне паміж тымі, 241 00:15:01,270 --> 00:15:02,100 два. 242 00:15:02,100 --> 00:15:06,650 Такім чынам, у гэтым выпадку, мы можам бачыць, што мы заявіўшы, інтэрфейс, Cat: аб'ект. 243 00:15:06,650 --> 00:15:10,660 244 00:15:10,660 --> 00:15:13,760 Гэта называецца ўспадкоўванне. 245 00:15:13,760 --> 00:15:19,170 Мы ў асноўным ў спадчыну кот-клас ад класа аб'екта. 246 00:15:19,170 --> 00:15:24,790 Такім чынам, кожны уласцівасцяў і метадаў, якія былі вызначаны раней у класе аб'екта 247 00:15:24,790 --> 00:15:28,560 будзе аўтаматычна вызначана у класе кошкі, а таксама. 248 00:15:28,560 --> 00:15:35,900 >> У дадатак да гэтага, мы вызначаем колер, парода і ўзрост, тры зменныя. 249 00:15:35,900 --> 00:15:39,360 Гэта на самай справе выглядае тое, што вы рабілі раней. 250 00:15:39,360 --> 00:15:41,770 Падобна на тое, структуры. 251 00:15:41,770 --> 00:15:44,950 Гэта значыць, у прынцыпе сінтаксіс для дэкларавання структуры, 252 00:15:44,950 --> 00:15:47,710 і што зусім правільна. 253 00:15:47,710 --> 00:15:51,825 А так як я ўжо згадваў раней, Розніца структура 254 00:15:51,825 --> 00:15:53,960 і аб'ект, адзін з фундаментальныя адрозненні 255 00:15:53,960 --> 00:15:59,080 у тым, што аб'ект мае метад, у той час як структура мае толькі зменныя. 256 00:15:59,080 --> 00:16:03,450 Такім чынам, у дадатак да ўласцівасцяў або зменныя, якія мы стварылі для аб'екта, 257 00:16:03,450 --> 00:16:05,700 мы паказваем нейкі спосаб. 258 00:16:05,700 --> 00:16:09,720 >> Давайце проста скажам, тут мы маем два метаду, адзін мяу, 259 00:16:09,720 --> 00:16:12,460 яшчэ адзін Чэйз мышы. 260 00:16:12,460 --> 00:16:18,600 Мы, верагодна, хочаце праходзячы Параметр заснаваныя на нашым папярэднім метадзе 261 00:16:18,600 --> 00:16:20,440 Дэкларацыя малюнак. 262 00:16:20,440 --> 00:16:22,160 Вы, напэўна, хочаце быць праходжанне мышы. 263 00:16:22,160 --> 00:16:25,180 І вы, напэўна, хочаце вярнуцца лагічнае значэнне, якое азначае, 264 00:16:25,180 --> 00:16:30,010 Калі ваша котка паспяхова злавіў мыш ці не. 265 00:16:30,010 --> 00:16:33,170 >> Гэта інтэрфейс, але мы можам бачыць, што інтэрфейс на самай справе 266 00:16:33,170 --> 00:16:35,150 нічога не рабіць. 267 00:16:35,150 --> 00:16:40,800 Гэта проста кажа праграму, што exists-- тое, што існуе ў класе кошкі. 268 00:16:40,800 --> 00:16:43,640 Так для таго, каб праграма павінна рабіць нешта, 269 00:16:43,640 --> 00:16:46,680 мы павінны мець файлы рэалізацыі. 270 00:16:46,680 --> 00:16:51,940 Дык вось, першае, што мы робім, Відавочна, мы імпартуем інтэрфейс. 271 00:16:51,940 --> 00:16:56,470 Пасля мы імпартуем інтэрфейс, вызначым метад. 272 00:16:56,470 --> 00:17:00,150 >> Давайце проста скажам, тут мяу будзе проста раздрукаваць 273 00:17:00,150 --> 00:17:01,740 "Прывітанне, Свет!" на кансоль. 274 00:17:01,740 --> 00:17:04,319 275 00:17:04,319 --> 00:17:08,460 І пасля рэалізацыі Файл, мы вельмі шмат зрабілі. 276 00:17:08,460 --> 00:17:14,530 У асноўным гэта клас Заяву для аднаго класа. 277 00:17:14,530 --> 00:17:19,970 Так што цяпер пытанне становіцца, як вы аб'яўляеце зменную? 278 00:17:19,970 --> 00:17:26,880 Як вы карыстаецеся клас для стварэння аб'ект у Objective C, што тут напісана. 279 00:17:26,880 --> 00:17:30,730 >> Вы спачатку пакажыце, Гэта паказальнік кошкі, 280 00:17:30,730 --> 00:17:38,700 таму што кожны аб'ект у Objective C нарэшце рэалізаваны як паказальнік. 281 00:17:38,700 --> 00:17:46,210 І гэта вы называеце клас, называць іх як Alloc, якая ў асноўным Таноса, 282 00:17:46,210 --> 00:17:51,220 кажа аперацыйнай сістэме, што вы трэба частку памяці для гэтага аб'екта. 283 00:17:51,220 --> 00:17:55,780 Пасля гэтага ў вас ёсць аб'ект ўжо, і вы проста ініцыялізаваць яго. 284 00:17:55,780 --> 00:17:56,780 Гэта проста ўмоўнасць. 285 00:17:56,780 --> 00:17:59,390 286 00:17:59,390 --> 00:18:04,410 Я ведаю, што гэта з'яўляецца трохі дзіўным, але гэта на самай справе, як Apple, робіць рэчы. 287 00:18:04,410 --> 00:18:07,130 >> Прызначэнне ўласцівасцямі, на самай справе даволі простая. 288 00:18:07,130 --> 00:18:09,250 Гэта вельмі падобна на Што вы робіце, калі 289 00:18:09,250 --> 00:18:13,780 вы прысвойваеце некаторыя канкрэтныя поле ўнутры структуры. 290 00:18:13,780 --> 00:18:16,830 Вы проста павінны зменную прозвішча, імя ўласцівасці, 291 00:18:16,830 --> 00:18:20,140 і прызначыць канкрэтнае значэнне да яго. 292 00:18:20,140 --> 00:18:24,120 І выклік метаду вельмі падобныя. 293 00:18:24,120 --> 00:18:29,080 Выклік метаду у асноўным тое, што я кажу пра 294 00:18:29,080 --> 00:18:32,390 для выкліку любога метаду ў Objective C. 295 00:18:32,390 --> 00:18:36,660 >> Вы перадаеце аб'ект, у у гэтым выпадку ён будзе myCat, 296 00:18:36,660 --> 00:18:42,490 і вы перадаеце імя метаду. 297 00:18:42,490 --> 00:18:47,130 Як быццам вы размаўляеце з аб'екта, myCat, што вы павінны мяу. 298 00:18:47,130 --> 00:18:48,570 Гэта даволі цікава. 299 00:18:48,570 --> 00:18:52,010 300 00:18:52,010 --> 00:18:55,680 Пасля гэтага, ёсць адзін больш істотным шаблон 301 00:18:55,680 --> 00:18:59,940 што мы павінны гаварыць аб перш чым дабрацца да фактычнага S кода. 302 00:18:59,940 --> 00:19:03,300 Гэта шаблон называецца падзейная праграмавання. 303 00:19:03,300 --> 00:19:09,660 Гэта таксама, верагодна, адзін з самых Асноўныя ідэі ў галіне праграмавання IOS. 304 00:19:09,660 --> 00:19:14,410 >> Такім чынам, вы, верагодна, не ведаеце, што менавіта з'яўляецца падзейная праграмаванне, 305 00:19:14,410 --> 00:19:16,990 але гэта на самай справе не так страшна. 306 00:19:16,990 --> 00:19:20,400 Ну на самай справе, у вас ёсць ўжо зрабілі гэта раней. 307 00:19:20,400 --> 00:19:24,894 Гэта адна з ліній вы, верагодна, ўжо пісаў у мінулым [неразборліва] 308 00:19:24,894 --> 00:19:26,810 з CS50, google.maps.event.addListener (маркер, 309 00:19:26,810 --> 00:19:27,810 "Клік", функцыю () {}):. 310 00:19:27,810 --> 00:19:32,410 311 00:19:32,410 --> 00:19:37,620 Называючы гэты радок вы па сутнасці кажуць кампутар 312 00:19:37,620 --> 00:19:42,650 што кожны раз, калі называецца падзея "Націсніце" адбываецца на маркер, 313 00:19:42,650 --> 00:19:43,630 выкарыстоўваць гэтую функцыю. 314 00:19:43,630 --> 00:19:46,910 315 00:19:46,910 --> 00:19:50,950 >> Гэта вельмі адрозніваецца ад што вы робіце ў mario.c. 316 00:19:50,950 --> 00:19:56,670 У mario.c вы проста запусціце праграму адзін раз, гэта дае вам выхад, 317 00:19:56,670 --> 00:19:58,590 і вы зрабілі. 318 00:19:58,590 --> 00:20:02,590 Гэта накшталт як Адзін стрэл праграмы. 319 00:20:02,590 --> 00:20:05,830 Кіраваныя падзеямі праграмы вельмі, вельмі розныя. 320 00:20:05,830 --> 00:20:10,230 Давайце прадставім, калі Facebook гэта адзін стрэл праграма, гэта не вельмі добра. 321 00:20:10,230 --> 00:20:13,750 Вы проста зайдзіце на Facebook адзін раз, і гэта зроблена. 322 00:20:13,750 --> 00:20:16,700 Гэта дае вам нейкі выхад, і вы ніколі не атрымаў яго назад. 323 00:20:16,700 --> 00:20:19,380 Вы ніколі не ёсць што-небудзь яшчэ. 324 00:20:19,380 --> 00:20:23,880 >> Дык вось, у асаблівасці шаблон мы выкарыстоўваем 325 00:20:23,880 --> 00:20:26,940 прывадам падзея, такім чынам, што кожная функцыя будзе 326 00:20:26,940 --> 00:20:31,480 быць злоўленым на аснове таго, што падзея ўжо адбылося. 327 00:20:31,480 --> 00:20:34,670 Напрыклад, калі ў нас ёсць Кнопка і мы паказваем 328 00:20:34,670 --> 00:20:39,870 што кожны раз, калі кнопка націснутая, выклікаць функцыю пад назвай "Hello World!" 329 00:20:39,870 --> 00:20:47,810 Такім чынам, мы можам сапраўды кіраваць лагічнай функцыі 330 00:20:47,810 --> 00:20:50,560 цечу ў вельмі гнутка. 331 00:20:50,560 --> 00:20:55,840 Карыстальнік можа рабіць ці выклікаць функцыю які ўжо быў выкліканы. 332 00:20:55,840 --> 00:20:59,900 Гэта цалкам заснавана на тым, што дзеянні карыстальнікаў. 333 00:20:59,900 --> 00:21:04,080 >> Такім чынам, мы бачым, што гэта на самай справе значна лепш, чым mario.c. 334 00:21:04,080 --> 00:21:07,190 І добрай навіной з'яўляецца тое, што гэта на самай справе не новая канцэпцыя. 335 00:21:07,190 --> 00:21:12,140 Вы, хлопцы, ўжо зрабілі што ў апошняй задачы усталяваны. 336 00:21:12,140 --> 00:21:16,640 Такім чынам, у Objective-C ёсць тры розных схемы 337 00:21:16,640 --> 00:21:19,030 для падзеі праграмаванні. 338 00:21:19,030 --> 00:21:21,970 Першы Дыяграма называецца мэтавай дзеянне, 339 00:21:21,970 --> 00:21:26,990 дзе вы звязваеце кнопку прэс з якой-то функцыі. 340 00:21:26,990 --> 00:21:31,590 Давайце проста скажам, кожны раз, калі вы націскаеце некаторыя кнопкі, вы называеце нейкую функцыю. 341 00:21:31,590 --> 00:21:33,620 Гэта вельмі проста мэта дзеянні. 342 00:21:33,620 --> 00:21:35,580 >> Другі з'яўляецца на самой справе адзін з самых цяжкіх, 343 00:21:35,580 --> 00:21:38,450 гэта называецца дэлегацыя па пратаколе. 344 00:21:38,450 --> 00:21:41,800 Мы збіраемся растлумачыць, што вельмі падрабязна пазней. 345 00:21:41,800 --> 00:21:44,420 І трэці спосаб паведамлення. 346 00:21:44,420 --> 00:21:46,770 На самай справе гэта не Вельмі важна, наколькі 347 00:21:46,770 --> 00:21:50,920 як мы зацікаўлены, таму што выпадкова што вы збіраецеся выкарыстоўваць апавяшчэнне 348 00:21:50,920 --> 00:21:53,310 у канчатковым праекце з'яўляецца даволі нізкім. 349 00:21:53,310 --> 00:21:56,440 Такім чынам, мы збіраемся, каб прапусціць гэтую частку. 350 00:21:56,440 --> 00:21:59,460 >> І мы збіраемся ныраць у дэлегацыі па пратаколе. 351 00:21:59,460 --> 00:22:02,380 352 00:22:02,380 --> 00:22:04,470 Так што ж такое пратакол? 353 00:22:04,470 --> 00:22:06,450 Ці тое, што менавіта дэлегацыя? 354 00:22:06,450 --> 00:22:09,670 Давайце пагаворым аб пратаколе, каб пачаць з. 355 00:22:09,670 --> 00:22:13,360 Пратаколы не што іншае, як падзеі. 356 00:22:13,360 --> 00:22:19,230 Але гэтыя падзеі дадзены Вы Яблыкам, каб пачаць з. 357 00:22:19,230 --> 00:22:22,640 Напрыклад, я не цалкам упэўненыя, як многія з вас 358 00:22:22,640 --> 00:22:27,930 хлопцы выкарыстоўваюць арыгінал ад Apple Дадатак пошце або звязацца з 359 00:22:27,930 --> 00:22:32,180 але кожны раз, калі вы пракруціць стол і націсніце канкрэтную вочка 360 00:22:32,180 --> 00:22:36,130 на стол, то ёсць падзея. 361 00:22:36,130 --> 00:22:38,330 >> А калі вы хочаце зрабіць гэта падзея самі, 362 00:22:38,330 --> 00:22:40,410 гэта на самай справе трохі цяжка. 363 00:22:40,410 --> 00:22:44,880 Так Яблык, улічваючы, што нават для вас так што вы можаце проста выкарыстоўваць непасрэдна 364 00:22:44,880 --> 00:22:49,610 Мерапрыемства зрабіць што-то па сваім меркаванні. 365 00:22:49,610 --> 00:22:52,980 Пратаколы на самай справе сапраўды, сапраўды шырока выкарыстоўваецца 366 00:22:52,980 --> 00:22:58,320 у Objective C. Ну ў Справа ў тым, кожны прыкладанне 367 00:22:58,320 --> 00:23:00,870 ёсць што-то злавіў дадатак дэлегаты. 368 00:23:00,870 --> 00:23:06,330 Ўнутры тонкая з'яўляецца ўсё пратаколы для загрузкі прыкладання. 369 00:23:06,330 --> 00:23:12,470 >> Давайце проста сказаць, што ёсць падзея для прыкладання зрабіў нагрузку. 370 00:23:12,470 --> 00:23:18,200 Так што павінна адбыцца пасля таго, як створана дадатак, пасля адкрыцця прыкладання, 371 00:23:18,200 --> 00:23:22,630 Пасля закрыцця прыкладання, або пасля Вы змяшчаеце iPhone спаць. 372 00:23:22,630 --> 00:23:27,480 Гэта ўсё падзеі, якія мае ўжо дадзена вам. 373 00:23:27,480 --> 00:23:34,730 І першапачаткова ўнутры гэтых часціц не будзе ніякага ажыццяўлення. 374 00:23:34,730 --> 00:23:39,750 Apple, толькі што сказаў вам, што гэтая функцыя адбудзецца, калі адбываецца нейкая падзея, 375 00:23:39,750 --> 00:23:44,380 але тое, што вы робіце з гэтым функцыя цалкам залежыць ад вас. 376 00:23:44,380 --> 00:23:49,290 >> Дэлегацыя ў асноўным кажа клас 377 00:23:49,290 --> 00:23:53,060 што вы павінны апрацоўваць гэтыя пратаколы. 378 00:23:53,060 --> 00:23:55,340 Гэта крыху збівае з толку, але гэта будзе 379 00:23:55,340 --> 00:23:59,380 нашмат больш ясна, калі мы робім Выбар S коды ў дзеянні. 380 00:23:59,380 --> 00:24:04,760 Дэлегацыя па пратаколе на самай справе вельмі магутны механізм, у тым сэнсе, 381 00:24:04,760 --> 00:24:08,160 што калі мы дэлегацыю да вызначанага класа, 382 00:24:08,160 --> 00:24:12,400 мы можам істотна апрацоўваць усе віды падзей 383 00:24:12,400 --> 00:24:17,040 з дапамогай якога-небудзь класа ў нас ёсць, вельмі зручны інструмент. 384 00:24:17,040 --> 00:24:21,530 >> Так адзін хуткі прыклад Дэлегацыя па пратаколе 385 00:24:21,530 --> 00:24:24,120 будзе тое, што я толькі што казаў пра. 386 00:24:24,120 --> 00:24:26,720 387 00:24:26,720 --> 00:24:30,890 Гэты пратакол спецыяльна называецца TableView [неразборліва] абярыце ролю 388 00:24:30,890 --> 00:24:35,480 на [? Індэкс?] [? мінулае. ?] Так што гэта Падзея, якая будзе злоўлены, калі вы 389 00:24:35,480 --> 00:24:39,710 на самай справе націсніце на канкрэтных клетка вашага Tableview, 390 00:24:39,710 --> 00:24:43,570 давайце проста скажам, у вашай пошце або ў дадатку Кантакты. 391 00:24:43,570 --> 00:24:48,180 >> Ўнутры функцыі было Першапачаткова, нічога не робячы. 392 00:24:48,180 --> 00:24:51,950 Не працуе функцыя зрабіць што-небудзь па змаўчанні. 393 00:24:51,950 --> 00:24:55,540 Але вы можаце паказаць што робіць функцыя, 394 00:24:55,540 --> 00:24:59,610 улічваючы тое, што вы хочаце ад вашага прыкладання. 395 00:24:59,610 --> 00:25:01,610 Вельмі зручны інструмент. 396 00:25:01,610 --> 00:25:06,840 І пры ўсім тым, што Пры гэтым, я ў асноўным 397 00:25:06,840 --> 00:25:11,430 пакрыцця некаторыя вельмі базавы сінтаксіс і фундаментальнае паняцце для Objective-C 398 00:25:11,430 --> 00:25:15,860 праграмаванне, і мы можам зрабіць некаторыя ы-код. 399 00:25:15,860 --> 00:25:17,980 Значна больш цікава. 400 00:25:17,980 --> 00:25:21,070 Так з код на самай справе трохі пераважнай 401 00:25:21,070 --> 00:25:23,330 калі вы адкрываеце яго ў першы раз. 402 00:25:23,330 --> 00:25:26,640 >> Адзін хуткі запіску, так што калі вы хачу зрабіць развіццё IOS, 403 00:25:26,640 --> 00:25:29,630 Я настойліва рэкамендую вам ёсць Mac. 404 00:25:29,630 --> 00:25:33,930 Паколькі пры распрацоўцы IOS на Вокны, сапраўды, вельмі цяжка. 405 00:25:33,930 --> 00:25:37,560 Гэта выканальна, але гэта вельмі цяжка. 406 00:25:37,560 --> 00:25:40,610 І Вы, безумоўна, не жадаеце выкарыстоўваць г рэдагавання. 407 00:25:40,610 --> 00:25:47,950 Такім чынам, у ы кода ў нас ёсць некалькі розных галінах. 408 00:25:47,950 --> 00:25:53,050 Калі вы ўпершыню адкрыць ёй код Вы ўбачыце навігацыйную вобласць, 409 00:25:53,050 --> 00:25:57,470 якія ў асноўным паказвае вам усё файлы, якія знаходзіцца ў бягучым праекце. 410 00:25:57,470 --> 00:26:03,590 >> У вас ёсць панэль інструментаў вобласць, якая у асноўным кіраванні погляды, 411 00:26:03,590 --> 00:26:08,570 ці які-небудзь хуткі Інструменты сінгапурскіх самага кода. 412 00:26:08,570 --> 00:26:11,140 І гэта фактычная плошча рэдактар. 413 00:26:11,140 --> 00:26:15,900 Гэтая вобласць вельмі падобны г рэдагаваць, але значна лепш, чым г рэдагавання. 414 00:26:15,900 --> 00:26:21,150 І ў гэтым правай частцы, з'яўляецца называецца дапаможнае памяшканне. 415 00:26:21,150 --> 00:26:27,170 Вобласць становіцца вельмі зручна, калі вы ствараеце інтэрфейс або ўказанні 416 00:26:27,170 --> 00:26:30,070 некаторыя хуткія ўстаноўкі для вашага прыкладання. 417 00:26:30,070 --> 00:26:34,570 >> І апошняя вобласць з'яўляецца адладка. 418 00:26:34,570 --> 00:26:37,970 Гэтая вобласць змяшчае кансоль. 419 00:26:37,970 --> 00:26:43,170 Таму, калі вы кажаце, Printf, або NSLog у нашым выпадку, 420 00:26:43,170 --> 00:26:47,330 усе вашы вынікі будзе друкавацца тут. 421 00:26:47,330 --> 00:26:48,260 Добра? 422 00:26:48,260 --> 00:26:52,090 Я думаю, мы можам вельмі хутка зрабіць Прыклад для праграмавання IOS. 423 00:26:52,090 --> 00:26:54,220 І давайце на самай справе адкрыць ёй код. 424 00:26:54,220 --> 00:26:57,210 425 00:26:57,210 --> 00:27:01,346 Такім чынам, кожны раз, калі вы адкрыць ёй код, гэта збіраецца паказаць нешта падобнае. 426 00:27:01,346 --> 00:27:03,220 Гэта будзе прасіць вас што ты хочаш рабіць? 427 00:27:03,220 --> 00:27:06,830 Вы хочаце, каб пачаць што-то выпадковым, дзіцячая пляцоўка, у асноўным вы 428 00:27:06,830 --> 00:27:11,250 можа проста праверыць код без на самай справе прывязкі да якой-небудзь прыкладання. 429 00:27:11,250 --> 00:27:13,020 >> Вы хочаце, каб стварыць новы праект? 430 00:27:13,020 --> 00:27:16,660 Ці вы хочаце, каб працягнуць працуе на існуючым праекце? 431 00:27:16,660 --> 00:27:20,270 У нашым выпадку мы збіраемся каб стварыць новы праект. 432 00:27:20,270 --> 00:27:22,980 Так што гэта сапраўды добрая, з код на самай справе ўжо 433 00:27:22,980 --> 00:27:26,820 даў вам некаторыя шаблоны для стварэння аб'ектаў. 434 00:27:26,820 --> 00:27:32,680 Калі вы хочаце зрабіць гульню, код ˘S на самай справе ёсць шаблон гульні для вас, 435 00:27:32,680 --> 00:27:36,890 ёсць свая старонка прыкладанняў, Ўкладка дадатак. 436 00:27:36,890 --> 00:27:39,280 У гэтым выпадку, мы збіраемся зрабіць што-то вельмі простае, 437 00:27:39,280 --> 00:27:43,230 і мы збіраемся выкарыстоўваць адно прыкладанне меркаванне. 438 00:27:43,230 --> 00:27:48,270 >> Пасля гэтага толькі тое, што вы хочаце патэлефанаваць ваш прадукт, і як цябе клічуць, 439 00:27:48,270 --> 00:27:52,760 што ваш ідэнтыфікатар, і на якой мове вы выкарыстоўваеце. 440 00:27:52,760 --> 00:27:57,060 Тут мы не хочам, каб праверыць з дапамогай асноўных дадзеных. 441 00:27:57,060 --> 00:28:00,170 Асноўныя дадзеныя ў асноўным databasing IOS. 442 00:28:00,170 --> 00:28:05,360 Калі вы асноўных дадзеных, втор Код будзе вызначаць 443 00:28:05,360 --> 00:28:07,710 значна складаней, класы для вас. 444 00:28:07,710 --> 00:28:12,740 Такім чынам, каб захаваць усё проста, мы проста хачу, каб абысціся без асноўных дадзеных 445 00:28:12,740 --> 00:28:15,290 прама цяпер. 446 00:28:15,290 --> 00:28:18,030 >> Праблема, якую мы збіраемся быць выкарыстоўваеце that-- праблемы 447 00:28:18,030 --> 00:28:23,770 мы збіраемся стварыць тое, што мы у асноўным хочуць імпартаваць Марыё ад C 448 00:28:23,770 --> 00:28:25,437 у дадатак IOS. 449 00:28:25,437 --> 00:28:26,645 Так што давайце называць гэта Марыё IOS. 450 00:28:26,645 --> 00:28:31,230 451 00:28:31,230 --> 00:28:34,880 Вядома, вы паказваеце, што хачу паставіць у вашым праекце. 452 00:28:34,880 --> 00:28:37,870 І там мы ідзем. 453 00:28:37,870 --> 00:28:41,390 >> Так што гэта крыху пераважнай, але гэта на самай справе 454 00:28:41,390 --> 00:28:43,540 тое, што мы толькі што бачылі на слайдах. 455 00:28:43,540 --> 00:28:49,710 І першая вобласць, мы бачым прама зараз у асноўным канфігурацыя праекта. 456 00:28:49,710 --> 00:28:53,390 Так што ўсе вы хочаце зрабіць Праект, якая прылада, 457 00:28:53,390 --> 00:28:58,810 давайце проста скажам, што гэта за прылада Вы хочаце, каб ваш прыкладанне, каб з'явіцца на? 458 00:28:58,810 --> 00:29:01,280 Гэта iPhone, IPAD або універсальны? 459 00:29:01,280 --> 00:29:04,660 Так арыентацыі прылады, усе гэтыя рэчы. 460 00:29:04,660 --> 00:29:08,490 Не вельмі важна, але можа быць, але гэта 461 00:29:08,490 --> 00:29:11,050 гэта месца, дзе вы стварылі Ваш праект, калі вам на самай справе 462 00:29:11,050 --> 00:29:15,180 неабходна разгарнуць у краму Apple. 463 00:29:15,180 --> 00:29:20,420 >> Добра, давайце паглядзім на тое, што знаходзіцца ўнутры нашага кода. 464 00:29:20,420 --> 00:29:22,360 Давайце пройдземся па файлавай навігатара. 465 00:29:22,360 --> 00:29:30,140 І ўсе гэтыя файлы, якія ўжо прыйшоў з шаблонам, вельмі прыемна. 466 00:29:30,140 --> 00:29:35,980 Таму, калі мы націсніце на адну з іх гэта тое, што ён выглядае. 467 00:29:35,980 --> 00:29:38,530 Вельмі падобна на г рэдагавання. 468 00:29:38,530 --> 00:29:41,340 Але вы можаце бачыць, што падсвятленне сінтаксісу, верагодна, 469 00:29:41,340 --> 00:29:42,780 трохі больш прыемна. 470 00:29:42,780 --> 00:29:45,610 І гэта на самай справе значна больш магутны, чым г рэдагавання. 471 00:29:45,610 --> 00:29:49,970 І вы можаце аўтазапаўнення шмат рэчаў для вас, 472 00:29:49,970 --> 00:29:52,370 як мы ўбачым вельмі хутка. 473 00:29:52,370 --> 00:29:54,100 >> Давайце адкрыем плошчу адладкі, а таксама. 474 00:29:54,100 --> 00:30:02,790 475 00:30:02,790 --> 00:30:07,000 Добра, як мы бачым, Кансоль прама тут. 476 00:30:07,000 --> 00:30:13,840 Гэта тое, што вы будзеце бачыць, дзе Вы знаходзіцеся ў Printf або nsloging што-то. 477 00:30:13,840 --> 00:30:17,155 Такім чынам, без далейшых цырымоній, давайце на самай справе скампіляваць прыкладанне і паглядзець, што адбываецца. 478 00:30:17,155 --> 00:30:20,000 479 00:30:20,000 --> 00:30:23,410 Адным з найважнейшых функцыя для з кодам, што з код 480 00:30:23,410 --> 00:30:25,850 пастаўляецца з iPhone сімулятары. 481 00:30:25,850 --> 00:30:29,820 Такім чынам, вы не павінны мець iPhone, каб паспрабаваць ваш праект, 482 00:30:29,820 --> 00:30:34,440 з код можа імітаваць, што для Вы, як мы бачым, цяпер. 483 00:30:34,440 --> 00:30:36,406 >> Гэта вельмі прыемна. 484 00:30:36,406 --> 00:30:38,640 Гэта займае трохі трохі часу, каб скампіляваць 485 00:30:38,640 --> 00:30:43,040 і ў асноўным мы маем пуста дадатак, 486 00:30:43,040 --> 00:30:44,640 якія на самай справе нічога не робіць. 487 00:30:44,640 --> 00:30:46,175 Але ён кампілюе. 488 00:30:46,175 --> 00:30:47,380 Гэта даволі дзіўным. 489 00:30:47,380 --> 00:30:50,200 Гэта значна лепш, чым З, а? 490 00:30:50,200 --> 00:30:52,130 Добра, тады давайце паспрабуйце дадаць нешта. 491 00:30:52,130 --> 00:30:56,050 492 00:30:56,050 --> 00:31:02,650 Адзін файл, які трохі дзіўна тут называецца раскадроўка. 493 00:31:02,650 --> 00:31:08,020 Гэта на самай справе выдатна, дзіўным функцыя для ов кода. 494 00:31:08,020 --> 00:31:14,170 Таму што ў ы кода, вы можаце перацягнуць і падзенне элементы на інтэрфейс 495 00:31:14,170 --> 00:31:17,430 і ён будзе непасрэдна паказаць. 496 00:31:17,430 --> 00:31:18,055 Давайце паспрабуем гэта. 497 00:31:18,055 --> 00:31:21,230 498 00:31:21,230 --> 00:31:27,236 >> Мы кідаем пазнаку тут, "Hello World !!!" 499 00:31:27,236 --> 00:31:29,740 Мы можам цэнтры, які. 500 00:31:29,740 --> 00:31:30,970 Даволі халаднавата. 501 00:31:30,970 --> 00:31:33,915 Зараз давайце запусцім гэты прыпынак мадэлявання. 502 00:31:33,915 --> 00:31:36,940 503 00:31:36,940 --> 00:31:38,700 Тут мы маем "Hello World !!!" 504 00:31:38,700 --> 00:31:40,810 Мы нават не рабіць якіх-небудзь кадаваньне яшчэ. 505 00:31:40,810 --> 00:31:42,750 Што, чорт вазьмі, адбываецца? 506 00:31:42,750 --> 00:31:45,880 Гэта, як магутны Interface Builder можа быць. 507 00:31:45,880 --> 00:31:48,030 Хто-то нават сказаў, што Вы можаце, верагодна, проста 508 00:31:48,030 --> 00:31:52,800 завяршыць прыкладанне без напісання верагодна, у тысячу радкоў кода 509 00:31:52,800 --> 00:31:54,820 толькі з дапамогай Interface Builder. 510 00:31:54,820 --> 00:31:59,680 Але гэта, верагодна, не Лепшы спосаб зрабіць гэта. 511 00:31:59,680 --> 00:32:01,670 >> Зараз давайце на самай справе прыступіць да кадавання. 512 00:32:01,670 --> 00:32:04,860 513 00:32:04,860 --> 00:32:08,330 Такім чынам, структуры файла на самай справе вельмі цікава 514 00:32:08,330 --> 00:32:15,610 таму што, як вы можаце бачыць, ёсць няма Асноўная функцыя ў любым месцы. 515 00:32:15,610 --> 00:32:17,466 Ўбачыць? 516 00:32:17,466 --> 00:32:19,340 Як мы ўжо згадвалі раней, Вы можаце бачыць, што гэта 517 00:32:19,340 --> 00:32:22,830 гэта файл рэалізацыі для пэўнага класа. 518 00:32:22,830 --> 00:32:25,690 Але ня мае асноўнага ў любым месцы. 519 00:32:25,690 --> 00:32:27,490 Дык дзе ж галоўны? 520 00:32:27,490 --> 00:32:31,970 На самай справе, гэта асноўная, але Асноўны самай справе схаваныя ад вас. 521 00:32:31,970 --> 00:32:34,560 Галоўнае, тут. 522 00:32:34,560 --> 00:32:37,120 Гэта выглядае знаёмым. 523 00:32:37,120 --> 00:32:41,000 >> Таму ў асноўным тое, што IOS робіць ўнутры асноўнай 524 00:32:41,000 --> 00:32:43,540 з'яўляецца тое, што кожны раз, калі галоўнае, называецца, які з'яўляецца ў асноўным 525 00:32:43,540 --> 00:32:49,000 кожны раз, калі праграма выконваецца, ён стварае аб'ект, званы AppDelegate. 526 00:32:49,000 --> 00:32:52,980 527 00:32:52,980 --> 00:32:57,350 Як я ўжо згадваў раней, уся Дадатак на самай справе аб'ект сам па сабе. 528 00:32:57,350 --> 00:33:02,270 Такім чынам, у гэтым выпадку, у асноўным IOS прыкладанне кажа кампілятар 529 00:33:02,270 --> 00:33:05,540 што добра, я збіраюся стварыць Прадукт пад назвай AppDelegate, 530 00:33:05,540 --> 00:33:07,620 і што будзе маё прыкладанне. 531 00:33:07,620 --> 00:33:09,640 Такім чынам, вы павінны пайсці праз гэты AppDelegate 532 00:33:09,640 --> 00:33:12,040 і паглядзець, што хлопец робіць. 533 00:33:12,040 --> 00:33:14,850 Мая праца для мяне зрабіў. 534 00:33:14,850 --> 00:33:22,070 >> І ў AppDelegate вы можаце бачыць, што ёсць некаторыя сапраўды дзіўныя функцыі, 535 00:33:22,070 --> 00:33:25,290 а на самай справе метады, якія Apple, ужо даў вам. 536 00:33:25,290 --> 00:33:27,464 Што гэта? 537 00:33:27,464 --> 00:33:31,010 Гэта на самай справе ўсё пратаколы што я меў на ўвазе. 538 00:33:31,010 --> 00:33:35,670 Такім чынам, гэтыя падзеі, якія Apple, даў вам пачаць з. 539 00:33:35,670 --> 00:33:38,050 Там няма нічога, некаторыя функцый прама зараз, 540 00:33:38,050 --> 00:33:40,820 але калі мы хочам, каб ініцыялізаваць што-то для нашага прыкладання 541 00:33:40,820 --> 00:33:46,140 перш чым патрапіць у адлюстраванні любы выгляд, што мы робім гэта тут. 542 00:33:46,140 --> 00:33:51,150 >> Вы можаце проста прачытаць імя, і я думаю, Падзея на самай справе вельмі ясна. 543 00:33:51,150 --> 00:33:54,160 544 00:33:54,160 --> 00:33:58,350 Так што цяпер галоўная стварыў аб'ект для AppDelegate. 545 00:33:58,350 --> 00:34:05,220 І тое, што AppDelegate збіраецца зрабіць на самай справе таксама схавана ад вас. 546 00:34:05,220 --> 00:34:09,250 AppDelegate збіраецца пачаць загрузка акцыі ViewController. 547 00:34:09,250 --> 00:34:13,170 Так што гэта ў асноўным збіраецца пачаць загрузка ўсе віды, якія ў вас ёсць 548 00:34:13,170 --> 00:34:17,500 і проста зрабіць выгляд на аснове іерархіі. 549 00:34:17,500 --> 00:34:21,280 >> Такім чынам, у гэтым выпадку ў нас ёсць толькі адзін від, які знаходзіцца тут. 550 00:34:21,280 --> 00:34:25,060 Так што гэта толькі выгляд які будзе называцца. 551 00:34:25,060 --> 00:34:28,159 Логіка ViewController прама тут. 552 00:34:28,159 --> 00:34:32,159 Гэта код, які на самай справе кантралюе гледжання мы толькі што бачылі. 553 00:34:32,159 --> 00:34:33,679 Добра, давайце што-то рабіць тут. 554 00:34:33,679 --> 00:34:44,030 555 00:34:44,030 --> 00:34:50,560 Так viewDidLoad гучыць як падзеі, калі на самай справе гэта таксама дэлегат, 556 00:34:50,560 --> 00:34:52,500 гэта таксама пратакол. 557 00:34:52,500 --> 00:34:56,350 >> Таму, што б выгляд загружаецца, Усё ўнутры функцыі 558 00:34:56,350 --> 00:34:57,920 будзе называцца. 559 00:34:57,920 --> 00:35:02,840 У гэтым выпадку мы павінны ўбачыць "Hello Tianyu! "Калі мы запусцім праграму. 560 00:35:02,840 --> 00:35:09,820 561 00:35:09,820 --> 00:35:12,842 Гэта становіцца крыху павольна складанне раскадроўкі файлаў. 562 00:35:12,842 --> 00:35:15,440 563 00:35:15,440 --> 00:35:18,190 Ну на самай справе, мы бачым, выхад для яго. 564 00:35:18,190 --> 00:35:20,720 Гэта вельмі выдатна. 565 00:35:20,720 --> 00:35:22,000 Зараз давайце на самай справе Марыё. 566 00:35:22,000 --> 00:35:25,400 567 00:35:25,400 --> 00:35:27,625 Я збіраюся вызначыць працаваць вельмі хутка. 568 00:35:27,625 --> 00:35:31,510 569 00:35:31,510 --> 00:35:54,245 marioWithLevels: вынікі (INT) узроўні. 570 00:35:54,245 --> 00:36:01,120 571 00:36:01,120 --> 00:36:06,410 >> Добра, гэта на самай справе выдатна Асаблівасцю гадоў код аўто завяршэння. 572 00:36:06,410 --> 00:36:10,680 Таму, калі вы пішаце для і ўвядзіце ўвайсці, ён ужо адмовіўся ад шаблону 573 00:36:10,680 --> 00:36:12,325 для вас, які з'яўляецца даволі халаднавата. 574 00:36:12,325 --> 00:36:50,480 575 00:36:50,480 --> 00:36:52,850 Гэта павінна выглядаць на самай справе знаёмыя з вамі, хлопцы. 576 00:36:52,850 --> 00:36:55,940 577 00:36:55,940 --> 00:36:59,680 На жаль, гэта мая віна. 578 00:36:59,680 --> 00:37:15,790 579 00:37:15,790 --> 00:37:18,120 Добра, крута. 580 00:37:18,120 --> 00:37:22,710 Гэтая логіка павінна выглядаць сапраўды знаёмыя з вамі, хлопцы, асабліва адразу Марыё. 581 00:37:22,710 --> 00:37:26,140 >> Але мы зараз раздрукаваць на Кансоль кожны раз, 582 00:37:26,140 --> 00:37:29,280 таму што мы хочам, каб неяк захаваць трэк пра тое, што мы друкуем. 583 00:37:29,280 --> 00:37:31,810 Мы збіраемся выкарыстоўваць Вынікі як-то пазней, 584 00:37:31,810 --> 00:37:35,010 для адлюстравання друку з і для самога карыстальніка. 585 00:37:35,010 --> 00:37:37,730 Так замест гэтага мы проста nslogging ўсё, 586 00:37:37,730 --> 00:37:42,410 якія мы захоўвання ўсяго, у выніку выкліку функцыі, 587 00:37:42,410 --> 00:37:44,070 але логіка сапраўды гэтак жа. 588 00:37:44,070 --> 00:37:48,030 589 00:37:48,030 --> 00:37:51,800 Пасля таго як мы скончым гэта, мы проста раздрукаваць нашы вынікі. 590 00:37:51,800 --> 00:37:59,330 591 00:37:59,330 --> 00:38:04,970 >> І вось замест таго, каб раздрукаваць мой імя, мы збіраемся выклікаць функцыю. 592 00:38:04,970 --> 00:38:15,340 593 00:38:15,340 --> 00:38:18,090 Давайце паглядзім, што адбываецца. 594 00:38:18,090 --> 00:38:21,240 На жаль, гэта відавочна. 595 00:38:21,240 --> 00:38:24,320 У нас ёсць добры трохі піраміда тут. 596 00:38:24,320 --> 00:38:28,370 Гэта, у асноўным C, мы проста маніпулявання, дзе вы выклікаеце функцыю 597 00:38:28,370 --> 00:38:30,010 і як функцыя выглядаць. 598 00:38:30,010 --> 00:38:31,560 Там няма нічога іншага. 599 00:38:31,560 --> 00:38:34,040 Але гэта на самай справе не вельмі цікава тут, 600 00:38:34,040 --> 00:38:37,500 таму што мы не бачым што-небудзь з прыкладання iPhone. 601 00:38:37,500 --> 00:38:42,120 >> Так што, калі вы на самой справе ёсць iPhone app-- Калі ў вас сапраўды ёсць права Марыё IOS 602 00:38:42,120 --> 00:38:45,080 Цяпер, вы не збіраецеся каб убачыць усё, што 603 00:38:45,080 --> 00:38:49,450 не мае нічога агульнага з Марыё, таму што усе гэтыя выхады ў кансолі 604 00:38:49,450 --> 00:38:51,620 схаваныя ад карыстальніка. 605 00:38:51,620 --> 00:38:53,850 Гэта тое, што вы бачыце, што "Hello World !!!" 606 00:38:53,850 --> 00:38:55,720 Нядобра. 607 00:38:55,720 --> 00:39:03,090 Зараз давайце паспрабуем зрабіць карыстачу бачыць што менавіта мы раздрукоўкі. 608 00:39:03,090 --> 00:39:06,000 Такім чынам, мы не павінны маркіраваць больш. 609 00:39:06,000 --> 00:39:09,800 Давайце паспрабуем высветліць, што-то тое, што можа быць карысна. 610 00:39:09,800 --> 00:39:12,140 >> Існуе на самой справе адзін элемент, які называецца 611 00:39:12,140 --> 00:39:16,460 тэкставае поле, якая магла б быць вельмі карысным для нас. 612 00:39:16,460 --> 00:39:19,880 Гэта ў асноўным адлюстроўвае вобласць тэкст, які можна рэдагаваць. 613 00:39:19,880 --> 00:39:22,320 Так што выглядае сапраўды карысна. 614 00:39:22,320 --> 00:39:23,810 Зараз давайце перацягнуць яго і змесціце яго. 615 00:39:23,810 --> 00:39:26,880 616 00:39:26,880 --> 00:39:32,670 Нічога сабе, у нас ёсць тэкставы выгляд на наш погляд, на самай справе фантазіі. 617 00:39:32,670 --> 00:39:35,430 Гэта крыху занадта вялікі. 618 00:39:35,430 --> 00:39:38,150 Давайце зробім гэта менш. 619 00:39:38,150 --> 00:39:40,290 Пакладзеце яго ў цэнтр. 620 00:39:40,290 --> 00:39:43,760 Зрабіць менш, як добра. 621 00:39:43,760 --> 00:39:50,110 >> Цяпер у нас ёсць тэкставы выгляд, які мы маглі б быць выкарыстаны для адлюстравання канчатковы вынік. 622 00:39:50,110 --> 00:39:52,860 Але цяпер гэта безумоўна, не будзе працаваць 623 00:39:52,860 --> 00:39:56,970 таму што ёсць no-- ViewController мы проста 624 00:39:56,970 --> 00:40:03,010 вызначана, не ведаю, што ёсць меркаванне тэкст там. 625 00:40:03,010 --> 00:40:06,550 Так што мы павінны нейкім чынам звязаць тэкставае ўяўленне мы проста 626 00:40:06,550 --> 00:40:11,660 створаны з выкарыстаннем класа, што ўжо з намі. 627 00:40:11,660 --> 00:40:14,860 >> Як мы робім гэта на самай справе вельмі чароўны. 628 00:40:14,860 --> 00:40:18,190 Так адкрыць раскадровку. 629 00:40:18,190 --> 00:40:22,220 Існуе спецыяльная [неразборліва] называецца [? памочнік?] [неразборліва]. 630 00:40:22,220 --> 00:40:25,190 Пры націску, што гэта збіраецца адкрыць два файла. 631 00:40:25,190 --> 00:40:29,425 Адзін клас, а другі гэта выгляд, адпаведны для яго. 632 00:40:29,425 --> 00:40:31,920 Гэта вельмі, вельмі карысна. 633 00:40:31,920 --> 00:40:35,950 І давайце проста ідзе праз файл .h. 634 00:40:35,950 --> 00:40:39,110 Кантроль, гэта [неразборліва] логіка. 635 00:40:39,110 --> 00:40:47,280 Націсніце Control і перацягнуць Тэкст выгляд ў дэкларацыі. 636 00:40:47,280 --> 00:40:48,780 Мы збіраемся назваць гэта outputView. 637 00:40:48,780 --> 00:40:52,189 638 00:40:52,189 --> 00:40:53,670 Падключыце. 639 00:40:53,670 --> 00:40:59,420 Дык вось мы абвясцілі новы нерухомасць для нашага класа ViewController. 640 00:40:59,420 --> 00:41:02,300 І новае ўласцівасць гэта проста выгляд тэксту 641 00:41:02,300 --> 00:41:05,000 мы стварылі ў будынку інтэрфейсу. 642 00:41:05,000 --> 00:41:07,990 Так што ў гэтым, як мы маглі б Доступ да ўсіх дадзеных 643 00:41:07,990 --> 00:41:13,630 і маніпуляваць усё, што знаходзіцца ўнутры Паглядзець выхад, які з'яўляецца дзіўным. 644 00:41:13,630 --> 00:41:19,260 >> Такім чынам, у нашым фактычным кода, давайце што-то рабіць з гэтым. 645 00:41:19,260 --> 00:41:23,810 Так што гэты час, калі мы, як друку з канчатковага выніку для Марыё, 646 00:41:23,810 --> 00:41:28,020 мы знаходзімся ў ня увайшоўшы нічога. 647 00:41:28,020 --> 00:41:30,080 Я маю на ўвазе, мы маглі трымаць рэгістрацыя заяве. 648 00:41:30,080 --> 00:41:41,490 У дадатак да гэтага, мы адправіць счытванне мы проста 649 00:41:41,490 --> 00:41:47,622 створана ў мэтах вытворчасці, якія з'яўляецца UI TextView мы толькі што стварылі. 650 00:41:47,622 --> 00:41:48,746 Зараз давайце паглядзім, што адбываецца. 651 00:41:48,746 --> 00:41:54,470 652 00:41:54,470 --> 00:41:56,620 Вось Гэта Так. 653 00:41:56,620 --> 00:41:59,130 У нас ёсць піраміда ў дадатак прама цяпер. 654 00:41:59,130 --> 00:42:06,720 >> Такім чынам, карыстальнік можа ўбачыць наш выхад, таму што мы скапіявалі выхад з нашага кода 655 00:42:06,720 --> 00:42:08,045 для нашага інтэрфейсу. 656 00:42:08,045 --> 00:42:10,950 Гэта вельмі добра. 657 00:42:10,950 --> 00:42:14,990 Гэта на самай справе не тое, што цікава, таму што мы can-- 658 00:42:14,990 --> 00:42:18,250 Усе прыкладанне робіць, паказваючы піраміду з вамі, 659 00:42:18,250 --> 00:42:20,520 і няма нічога, што вы можаце з гэтым зрабіць. 660 00:42:20,520 --> 00:42:22,330 Гэта не асабліва цікава. 661 00:42:22,330 --> 00:42:27,840 Так што цяпер давайце зробім кнопку што будзе ясна меркавання. 662 00:42:27,840 --> 00:42:30,290 Падобна на тое, што кнопка будзе карысна. 663 00:42:30,290 --> 00:42:33,270 Перацягнуць і адпусціце. 664 00:42:33,270 --> 00:42:33,900 Адна кнопка. 665 00:42:33,900 --> 00:42:36,730 666 00:42:36,730 --> 00:42:37,320 Кнопка два. 667 00:42:37,320 --> 00:42:49,170 668 00:42:49,170 --> 00:42:52,052 >> Таму, калі мы націскаем левую Кнопка, выгляд павінен ачысціць. 669 00:42:52,052 --> 00:42:53,635 Там не павінна быць нічога на экране. 670 00:42:53,635 --> 00:42:56,970 І калі мы націскаем Правая кнопка, Марыё, 671 00:42:56,970 --> 00:42:59,740 Паглядзець будзе з'яўляцца зноў. 672 00:42:59,740 --> 00:43:05,510 Так што гэта, як мы таксама робім магічных штучак, кантроль і перацягнуць 673 00:43:05,510 --> 00:43:08,740 ў аб'яве класа у памочніка director-- 674 00:43:08,740 --> 00:43:11,600 у памочніка гледача. 675 00:43:11,600 --> 00:43:18,620 У дадзеным выпадку мы маем ўказанні што гэта павінна быць дзеянне. 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 >> І вось мы ўжо стварылі акцыя пад назвай clearMario, 679 00:43:26,830 --> 00:43:34,210 які з'яўляецца метадам, які можна было б назваць кожны раз, калі мы націскаем кнопку Ачысціць. 680 00:43:34,210 --> 00:43:41,030 Такім чынам, у нашым самай справе код, давайце проста Змесціце вынік тэкст і выгляд выхадны 681 00:43:41,030 --> 00:43:44,620 ў нішто, і, такім чынам гэта будзе выглядаць як ясна. 682 00:43:44,620 --> 00:43:47,500 683 00:43:47,500 --> 00:43:57,230 У дадатак да гэтага, давайце створым іншы метад, званы runMario. 684 00:43:57,230 --> 00:44:00,140 685 00:44:00,140 --> 00:44:03,436 Эх шкада, што не павінна быць уласнасці. 686 00:44:03,436 --> 00:44:12,107 687 00:44:12,107 --> 00:44:13,940 Добра, што павінна быць дзеянне, а таксама. 688 00:44:13,940 --> 00:44:25,780 689 00:44:25,780 --> 00:44:34,740 >> І калі гэта функцыя называецца, мы проста запусціць Марыё дзесяць. 690 00:44:34,740 --> 00:44:37,620 691 00:44:37,620 --> 00:44:39,780 Спадзяюся, што ўсё будзе ў парадку. 692 00:44:39,780 --> 00:44:41,120 Ці скампіляваць так? 693 00:44:41,120 --> 00:44:43,920 Так. 694 00:44:43,920 --> 00:44:45,090 Цяпер у нас ёсць уяўленне. 695 00:44:45,090 --> 00:44:46,560 У нас ёсць выхад. 696 00:44:46,560 --> 00:44:50,040 І давайце паглядзім, што атрымаецца. 697 00:44:50,040 --> 00:44:52,590 Гэта пайшло. 698 00:44:52,590 --> 00:44:54,500 Ён вярнуўся зноў. 699 00:44:54,500 --> 00:44:57,620 І вось мы паказалі якія функцыі 700 00:44:57,620 --> 00:45:00,400 будзе выклікацца, калі мы ўводзім ў чым-то, 701 00:45:00,400 --> 00:45:03,160 калі мы націскаем на пэўную кнопку. 702 00:45:03,160 --> 00:45:07,890 Гэта, у асноўным Схема дзеянні мэтавай 703 00:45:07,890 --> 00:45:12,510 для кіраваных падзеямі, праграмаванне ў Objective C. 704 00:45:12,510 --> 00:45:15,030 >> У дадатак да гэтага, гэта не вельмі цікава 705 00:45:15,030 --> 00:45:19,810 таму што мы не можам змяніць як высока піраміда будзе, 706 00:45:19,810 --> 00:45:23,640 такім чынам, мы, верагодна, хочаце, каб нейкім чынам атрымаць ўвод ад карыстальніка 707 00:45:23,640 --> 00:45:29,490 і змяніць вышыню піраміда заснавана на тое, што яны выхад. 708 00:45:29,490 --> 00:45:32,900 Так што мы збіраемся зрабіць гэта. 709 00:45:32,900 --> 00:45:38,720 Так што гэты час, калі мы называем runMario, мы не проста напрамую патэлефанаваць Марыё. 710 00:45:38,720 --> 00:46:06,280 711 00:46:06,280 --> 00:46:07,000 Гэта свайго назву. 712 00:46:07,000 --> 00:46:22,180 713 00:46:22,180 --> 00:46:23,700 >> Дэлегат. 714 00:46:23,700 --> 00:46:25,160 Гэта вельмі цікава. 715 00:46:25,160 --> 00:46:26,720 Што такое дэлегат? 716 00:46:26,720 --> 00:46:28,950 Я збіраюся паставіць сябе тут. 717 00:46:28,950 --> 00:46:31,038 І мы збіраемся, каб убачыць што гэта значыць пазней. 718 00:46:31,038 --> 00:46:46,380 719 00:46:46,380 --> 00:46:51,120 Дык вось у нас у асноўным створана Канкрэтны асобнік называецца папярэджанне UI 720 00:46:51,120 --> 00:46:52,210 Прыгожы выгляд. 721 00:46:52,210 --> 00:46:54,440 Паглядзець папярэджанне карыстацкі інтэрфейс у асноўным тое, што вы будзеце 722 00:46:54,440 --> 00:46:58,940 см кожны раз, калі што-то трэск і запытвае ўвод, 723 00:46:58,940 --> 00:47:03,080 Падабаецца тое, што адбудзецца, калі вы спрабуеце купіць што-то на App Store. 724 00:47:03,080 --> 00:47:14,250 >> У дадатак да гэтага, пасля таго, як вам стварыць яго, мы проста паказаць папярэджанне. 725 00:47:14,250 --> 00:47:20,090 726 00:47:20,090 --> 00:47:22,568 Добра, давайце проста хутка Тэст будзе, што праца ці не. 727 00:47:22,568 --> 00:47:31,105 728 00:47:31,105 --> 00:47:32,140 Гэта вельмі выдатна. 729 00:47:32,140 --> 00:47:55,370 730 00:47:55,370 --> 00:47:59,120 Зараз давайце на самай справе стварыць Поле для ўводу напагатове карыстацкага інтэрфейсу. 731 00:47:59,120 --> 00:48:01,170 Гэта, як мы робім гэта. 732 00:48:01,170 --> 00:48:07,490 І мы павінны мець ўваход прадстаўленне для напагатове. 733 00:48:07,490 --> 00:48:09,020 Вельмі выдатна. 734 00:48:09,020 --> 00:48:12,330 Давайце проста скажам, 10. 735 00:48:12,330 --> 00:48:14,900 >> Гэта нічога не робіць зараз, таму што выклік на самай справе 736 00:48:14,900 --> 00:48:17,770 не зьмяняць для выканання Марыё. 737 00:48:17,770 --> 00:48:23,470 Так што гэта стала крыху крыху дзіўна, таму што кожны раз, калі 738 00:48:23,470 --> 00:48:30,790 ціснем кнопку ўніз, калі мы націсніце кнопку ў абвесткі думку, 739 00:48:30,790 --> 00:48:35,560 што-то павінна здарыцца, але гэта не адбудзецца. 740 00:48:35,560 --> 00:48:37,220 Як мы ўлавілі? 741 00:48:37,220 --> 00:48:41,280 Як мы ведаем, што карыстальнік звольніў з папярэджаннем выгляд 742 00:48:41,280 --> 00:48:45,630 і ўжо ўвялі нумар, таму што Прама зараз нічога не адбываецца на самай справе. 743 00:48:45,630 --> 00:48:50,450 >> Ну, вы ўжо здагадаліся, гэта права, дэлегацыя. 744 00:48:50,450 --> 00:48:55,440 Такім чынам, у дадатак да ўсяго Гэтыя заявы, 745 00:48:55,440 --> 00:49:03,190 мы павінны дадаць новую дэлегацыю гэта называецца UI Alert Паглядзець дэлегаты. 746 00:49:03,190 --> 00:49:06,440 Так што кожны ўзаемадзеянне або падзея 747 00:49:06,440 --> 00:49:10,190 што мы будзем мець з мэтай папярэджання UI 748 00:49:10,190 --> 00:49:14,100 будзе апрацоўвацца нашай прафесіі. 749 00:49:14,100 --> 00:49:26,297 >> Такім чынам, у дадатак да гэтага, будзе Кнопка прагляду Націсніце абвесткі па індэксе. 750 00:49:26,297 --> 00:49:34,260 751 00:49:34,260 --> 00:49:37,730 Гэта дасягаецца. 752 00:49:37,730 --> 00:49:42,020 Так што ў гэтым выпадку мы маем already-- таму ў нас ёсць 753 00:49:42,020 --> 00:49:46,210 выявілі пратакол, які будзе апрацоўваць падзея, калі 754 00:49:46,210 --> 00:49:51,320 мы націскаем на кнопку Гатова на абвесткі гледжання. 755 00:49:51,320 --> 00:49:55,976 Такім чынам, кожны раз, калі мы звольніць папярэджанне думку, гэта павінна было адбыцца. 756 00:49:55,976 --> 00:49:57,350 Дазвольце мне праверыць яго вельмі хутка. 757 00:49:57,350 --> 00:50:16,220 758 00:50:16,220 --> 00:50:19,300 Ну на самай справе, мы дасягнулі тут. 759 00:50:19,300 --> 00:50:22,210 >> Дык вось, тое, што мы не будзем на самой справе атрымаць на самай справе 760 00:50:22,210 --> 00:50:43,120 атрымаць the-- Таму мы хочам, каб выйсці Тэкст, які мы маем раней 761 00:50:43,120 --> 00:50:45,350 увайшоў у папярэджанні гледжання. 762 00:50:45,350 --> 00:50:48,505 І на аснове тэксту, мы будзем паказваць Марыё. 763 00:50:48,505 --> 00:50:52,336 764 00:50:52,336 --> 00:50:55,480 Гэта вельмі хутка аказваецца калі яна сапраўды працуе ці не. 765 00:50:55,480 --> 00:50:59,476 Такім чынам, у гэтым выпадку, калі ўваходны сігнал, скажам, 10, то мы павінны ўбачыць 10. 766 00:50:59,476 --> 00:51:02,740 767 00:51:02,740 --> 00:51:05,210 >> Вельмі добра, у нас ёсць нумар тут. 768 00:51:05,210 --> 00:51:06,470 Гэта вельмі добра. 769 00:51:06,470 --> 00:51:16,840 Цяпер апошні крок будзе be-- Так апошні крок, які трэба зрабіць прама цяпер, 770 00:51:16,840 --> 00:51:21,100 проста патэлефануеце Марыё з Ўзровень на аснове дадзеных, 771 00:51:21,100 --> 00:51:23,270 што мы ўклалі ў абвесткі гледжання. 772 00:51:23,270 --> 00:51:26,920 Такім чынам, мы павінны пераўтварыць Гэты радок у IOS. 773 00:51:26,920 --> 00:51:33,820 774 00:51:33,820 --> 00:51:35,496 Статычны перапаўненне вельмі дзіўным. 775 00:51:35,496 --> 00:51:44,930 776 00:51:44,930 --> 00:51:51,182 А потым мы проста называем сябе Значэнне marioWithLevels. 777 00:51:51,182 --> 00:51:54,550 778 00:51:54,550 --> 00:51:56,284 Давайце паглядзім, ці будзе гэта на самай справе працуе ці не. 779 00:51:56,284 --> 00:51:59,070 780 00:51:59,070 --> 00:52:01,550 >> Мы ўжо далі піраміду. 781 00:52:01,550 --> 00:52:04,785 Давайце паспрабуем змяніць вышыню. 782 00:52:04,785 --> 00:52:06,530 Гэта на самай справе працуе. 783 00:52:06,530 --> 00:52:07,610 Гэта вельмі выдатна. 784 00:52:07,610 --> 00:52:10,420 Так што цяпер вы можаце проста Калі ласка, увядзіце любое значэнне, якое вы хочаце. 785 00:52:10,420 --> 00:52:12,440 Давайце проста скажам, чатыры. 786 00:52:12,440 --> 00:52:14,260 Гэта даволі дзіўным. 787 00:52:14,260 --> 00:52:17,090 Так што гэта ў асноўным вельмі хутка прыклад 788 00:52:17,090 --> 00:52:23,170 аб тым, як стварыць праект у ы кода і як на самой справе хутка злучаць 789 00:52:23,170 --> 00:52:26,220 некаторыя сапраўды простыя падзеі і функцыі. 790 00:52:26,220 --> 00:52:28,840 >> Такім чынам, крыніца будзе каб паставіць онлайн пазней. 791 00:52:28,840 --> 00:52:33,400 Так што, калі вы зацікаўлены у тым, як IOS Марыё працуе, 792 00:52:33,400 --> 00:52:38,360 Я збіраюся паставіць сапраўды такі ж праекты на вэб-сайце CS50 пазней. 793 00:52:38,360 --> 00:52:41,260 Мы ў асноўным робіцца з летам, і перш чым мы скончым 794 00:52:41,260 --> 00:52:45,190 Я проста хачу, каб паказаць вам, хлопцы, некаторыя сапраўды дзіўныя рэсурсы, якія 795 00:52:45,190 --> 00:52:47,550 даступныя ў Інтэрнэце. 796 00:52:47,550 --> 00:52:52,270 >> Відавочна, дакументацыя Apple, будзе вельмі карысна. 797 00:52:52,270 --> 00:52:57,630 Але ў дадатак да гэтага, асабліва мне рэкамендаваць чатыры крыніцы, код школьныя, 798 00:52:57,630 --> 00:53:02,120 дом дрэва, AppCoda і WWDC відэа. 799 00:53:02,120 --> 00:53:07,270 Код школа і дом на дрэве з'яўляюцца два онлайн сайты Выхаванне, 800 00:53:07,270 --> 00:53:10,210 якія прызначаны, у першую на распрацоўцы праграмнага забеспячэння. 801 00:53:10,210 --> 00:53:16,930 Спецыяльна для кода школе, яны ёсць сапраўды добры падручнік па МО. 802 00:53:16,930 --> 00:53:19,550 >> Гэта сапраўды просты прыклад для гэтага. 803 00:53:19,550 --> 00:53:22,980 Яны на самай справе стварыць сапраўды cute-- паглядзець на гэтай маленькай мілай iPhone 804 00:53:22,980 --> 00:53:24,920 чувак там, гэта даволі дзіўным. 805 00:53:24,920 --> 00:53:31,010 І як яны тлумачаць Мэта Сінтаксіс C зусім ясна. 806 00:53:31,010 --> 00:53:32,230 Дрэва Дом ж. 807 00:53:32,230 --> 00:53:34,660 І AppCoda з'яўляецца форум. 808 00:53:34,660 --> 00:53:38,130 Гэта на самай справе блог, які быў запушчаны на самай справе адчуваў Objective C 809 00:53:38,130 --> 00:53:39,120 праграміст. 810 00:53:39,120 --> 00:53:43,950 І ўсе гэтыя падручнікі ў AppCoda з'яўляюцца даволі кароткі і просты ў рэалізацыі, 811 00:53:43,950 --> 00:53:45,390 Настойліва рэкамендуецца. 812 00:53:45,390 --> 00:53:47,700 >> І калі вы распрацоўшчык, вызначана пайсці праверыць 813 00:53:47,700 --> 00:53:55,660 як відэа WWDC, дзе вы можаце даведацца пра апошнія праграм IOS 814 00:53:55,660 --> 00:53:58,250 метады, API і бібліятэкі. 815 00:53:58,250 --> 00:54:02,850 Так што гэта ў значнай ступені гэта за семінар. 816 00:54:02,850 --> 00:54:03,820 Дзякуй вялікі. 817 00:54:03,820 --> 00:54:08,040 І я спадзяюся, што вы весела стварыць свой уласны прыкладанне IOS. 818 00:54:08,040 --> 00:54:09,302