1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,340 >> DANIEL ARMENDARIZ: Hello, kila mtu, kuwakaribisha kwa iOS programu ya maendeleo 3 00:00:14,340 --> 00:00:15,020 na mwepesi. 4 00:00:15,020 --> 00:00:15,870 Mimi nina Dan Armendariz. 5 00:00:15,870 --> 00:00:18,920 Mimi nina precepter ya kompyuta sayansi hapa katika Shule 6 00:00:18,920 --> 00:00:21,200 ya Uhandisi na Sayansi. 7 00:00:21,200 --> 00:00:24,310 Na mwepesi ni kweli ni aina Lugha ya kweli nadhifu. 8 00:00:24,310 --> 00:00:27,190 Na mimi kuwa na baadhi ya mipango ya leo. 9 00:00:27,190 --> 00:00:31,430 Hivyo zaidi ya saa moja ijayo au hivyo tunakwenda kuangalia iOS programu ya maendeleo yenyewe 10 00:00:31,430 --> 00:00:36,640 kutumia Xcode na kwa kweli kujenga baadhi msingi sana, rahisi sana maombi. 11 00:00:36,640 --> 00:00:40,070 Na kuangalia njia ambayo wewe kweli kuchukua maombi hayo, 12 00:00:40,070 --> 00:00:42,887 na kujenga yao, na kwa kweli kuziweka kwenye kifaa iOS. 13 00:00:42,887 --> 00:00:44,970 Baadhi ya mambo ambayo sisi siyo kwenda kuangalia 14 00:00:44,970 --> 00:00:47,540 itakuwa ni pamoja na mambo kama kweli kuchukua maombi 15 00:00:47,540 --> 00:00:48,940 na kuweka juu ya kuhifadhi App. 16 00:00:48,940 --> 00:00:52,930 Kuna mengi ya tutorials ni online kwamba kukusaidia na kwamba sehemu ya maisha yake. 17 00:00:52,930 --> 00:00:56,230 Lakini pia kwa sababu kama sehemu ya CS50, unaweza kupata 18 00:00:56,230 --> 00:00:59,780 kujiunga maendeleo Apple timu, timu programu ya maendeleo CS50 ya. 19 00:00:59,780 --> 00:01:02,790 Kama hujafanya kwamba bado na wewe ni uhusiano na CS50, 20 00:01:02,790 --> 00:01:04,810 Mimi kupendekeza kwamba kufanya hivyo kwa sababu hiyo 21 00:01:04,810 --> 00:01:08,820 ni jinsi wewe ni uwezo wa kujenga baadhi ya mipango katika Xcode, 22 00:01:08,820 --> 00:01:11,890 kuwajenga, na kwa kweli kuweka yao juu ya baadhi ya vifaa yako iOS 23 00:01:11,890 --> 00:01:14,087 kama kweli una kimwili iOS kifaa. 24 00:01:14,087 --> 00:01:16,670 Kama huna iOS kimwili kifaa hiyo ni zaidi ya faini. 25 00:01:16,670 --> 00:01:19,810 Unaweza kweli kuendeleza kwa iOS. 26 00:01:19,810 --> 00:01:22,390 Na Xcode ina simulator kwamba utapata 27 00:01:22,390 --> 00:01:26,570 kuona maombi yako katika hatua kwenye kompyuta yako. 28 00:01:26,570 --> 00:01:30,440 Lakini ni aina ya kitu nadhifu kwa kweli kucheza na kuingiliana 29 00:01:30,440 --> 00:01:34,235 na maombi yako kwenye kifaa halisi. 30 00:01:34,235 --> 00:01:37,360 Hivyo kuna wanandoa wa mahitaji ya kweli kufanya yote ya maendeleo hayo. 31 00:01:37,360 --> 00:01:39,151 Mmoja wao ni kwamba unaweza kuwa na Mac. 32 00:01:39,151 --> 00:01:44,770 Ina kuwa mbio 10.9.4 au baadaye ili kufanya maendeleo na mwepesi. 33 00:01:44,770 --> 00:01:47,770 >> Unaweza kutumia mapema toleo kuendeleza 34 00:01:47,770 --> 00:01:50,810 kwa lengo C kwa iOS na Mac. 35 00:01:50,810 --> 00:01:53,990 Lakini mimi kupendekeza, na mengi ya mifano kwamba tutaweza kuona leo, 36 00:01:53,990 --> 00:01:55,700 kutumia 10.10 Yosemite. 37 00:01:55,700 --> 00:02:00,910 Hivyo kama una bado uppdaterade, ni udhuru nzuri ya kufanya hivyo. 38 00:02:00,910 --> 00:02:05,480 Sasa Xcode 6.1 ni toleo la karibuni la jumuishi maendeleo ya mazingira 39 00:02:05,480 --> 00:02:08,979 kwamba Apple hutoa kwa ajili ya bure ambayo unaweza kushusha off kuhifadhi App. 40 00:02:08,979 --> 00:02:11,220 Na mimi kupendekeza kwamba pia kukimbia toleo la karibuni. 41 00:02:11,220 --> 00:02:14,700 >> Kama kutokea kwa kuwa mbio mapema version, Xcode 5 na chini tu 42 00:02:14,700 --> 00:02:16,741 tu hawana msaada mwepesi wowote. 43 00:02:16,741 --> 00:02:19,490 Na matoleo beta ya sita, ambayo waliachiwa juu ya jua, 44 00:02:19,490 --> 00:02:21,770 kufanya msaada mwepesi, lakini kuna imekuwa idadi kubwa 45 00:02:21,770 --> 00:02:25,220 ya mabadiliko katika lugha, kutosha ili kificho kwamba uko 46 00:02:25,220 --> 00:02:28,320 kwenda kuangalia na kwamba wanaweza kupata kwenye mtandao 47 00:02:28,320 --> 00:02:33,294 si kweli kukusanya vizuri katika matoleo haya kabla ya Xcode. 48 00:02:33,294 --> 00:02:35,460 Hivyo tena, kama wewe kufanya bado kuwa na akaunti developer, 49 00:02:35,460 --> 00:02:38,560 Mimi kupendekeza wewe kwenda developer.apple.com. 50 00:02:38,560 --> 00:02:42,240 Ishara ya juu, kuunda akaunti developer, na kujiunga na timu CS50 programu ya maendeleo. 51 00:02:42,240 --> 00:02:45,530 Ambayo itatoa wewe nafasi kukusanya maombi yako 52 00:02:45,530 --> 00:02:47,840 na kuziweka kwenye kifaa chako. 53 00:02:47,840 --> 00:02:49,222 OK, hivyo hebu kupata kuanza. 54 00:02:49,222 --> 00:02:50,930 jambo la kwanza kabisa tunakwenda kufanya ni 55 00:02:50,930 --> 00:02:55,140 kwa kweli kujenga sana rahisi mradi katika Xcode 56 00:02:55,140 --> 00:02:59,530 kwamba itawawezesha kufanya maombi. 57 00:02:59,530 --> 00:03:03,170 >> Hivyo kama wewe bado hatuna Xcode wazi, kwenda mbele na kufungua 58 00:03:03,170 --> 00:03:04,270 na kujenga mradi mpya. 59 00:03:04,270 --> 00:03:06,570 screen maalum Splash itafungua na nitakupa 60 00:03:06,570 --> 00:03:08,800 baadhi ya chaguzi juu ya nini ni kwamba unataka kufanya. 61 00:03:08,800 --> 00:03:12,170 Tu kusema kwamba unataka kujenga mradi mpya, maombi mapya. 62 00:03:12,170 --> 00:03:15,650 Hii dirisha mapenzi pop up, kuchukua unatumia Xcode 6.1. 63 00:03:15,650 --> 00:03:17,650 Hivi sasa, na kwa ajili ya muda wa semina hii, 64 00:03:17,650 --> 00:03:19,990 tunakwenda kutumia mtazamo maombi moja, tu 65 00:03:19,990 --> 00:03:22,590 aina ya maombi ya msingi kupata miguu yako mvua. 66 00:03:22,590 --> 00:03:25,200 Na unaweza tawi nje juu yako mwenyewe kutoka huko. 67 00:03:25,200 --> 00:03:27,660 >> Bonyeza Next katika hatua hii. 68 00:03:27,660 --> 00:03:30,796 Sasa hapa kuna michache ya mambo kwamba unaweza kutaka kuingia. 69 00:03:30,796 --> 00:03:32,670 jina bidhaa ni jina ya mradi wako. 70 00:03:32,670 --> 00:03:34,859 Katika kesi hiyo, mimi nina tu kwenda kumwita Seminar1 71 00:03:34,859 --> 00:03:36,150 kwa sababu ni mfano wetu wa kwanza. 72 00:03:36,150 --> 00:03:38,290 Jina Organization, katika kesi hii ni jina langu tu. 73 00:03:38,290 --> 00:03:41,760 Unaweza bila shaka mabadiliko hayo kwa jina yako mwenyewe, au kwa CS50. 74 00:03:41,760 --> 00:03:46,160 Shirika kitambulisho, kama wewe kutokea kwa kuwa tovuti tu kuchukua 75 00:03:46,160 --> 00:03:49,940 jina la uwanja katika nyuma, com.yourname. 76 00:03:49,940 --> 00:03:54,200 na kisha jina la bidhaa inapaswa kuonekana moja kwa moja 77 00:03:54,200 --> 00:03:55,820 baada ya kuwa kama kifungu kitambulisho. 78 00:03:55,820 --> 00:03:59,200 >> Ni wazi kwamba lugha tuko itakuwa ni ya kutumia kwa ajili ya leo ni mwepesi. 79 00:03:59,200 --> 00:04:02,590 Unaweza, bila shaka, kutumia C Lengo kwa kuwa, lakini leo itakuwa mwepesi. 80 00:04:02,590 --> 00:04:04,920 Na tutaweza kwa sasa wanasema vifaa zima, hivyo 81 00:04:04,920 --> 00:04:06,900 kuwa ni kazi juu ya wote iPad na iPhone. 82 00:04:06,900 --> 00:04:10,040 Na sisi kuondoka msingi data unchecked kuweka 83 00:04:10,040 --> 00:04:12,830 mradi kiasi rahisi kwa wakati huu. 84 00:04:12,830 --> 00:04:14,430 Basi hebu kwenda mbele na bonyeza Next. 85 00:04:14,430 --> 00:04:16,471 Na itakuja kuuliza mimi ambapo nataka kuokoa yake. 86 00:04:16,471 --> 00:04:19,250 Mimi itabidi kuokoa ni kwa desktop yangu kwa sasa. 87 00:04:19,250 --> 00:04:22,267 >> Haki wote, hivyo sasa hii ni nini mapenzi kutokea wakati wewe kweli wazi Xcode. 88 00:04:22,267 --> 00:04:24,100 Na taarifa kwamba jambo la kwanza kabisa unaweza kuona 89 00:04:24,100 --> 00:04:28,770 ni mshangao hatua hii kwamba anasema hakuna kusaini utambulisho kupatikana. 90 00:04:28,770 --> 00:04:31,520 Mimi kwa makusudi alifanya hivyo kompyuta yangu na mimi nina 91 00:04:31,520 --> 00:04:34,220 matumaini kwamba mimi nina kwenda kuwa na uwezo wa kweli kurekebisha, 92 00:04:34,220 --> 00:04:37,860 kwa sababu nataka kuona jinsi hii kweli kazi kwenye mashine yako mwenyewe. 93 00:04:37,860 --> 00:04:40,400 >> Kwenda mbele na bonyeza fix suala hilo. 94 00:04:40,400 --> 00:04:45,400 Ni kuuliza wewe kama una zilizopo akaunti apple developer. 95 00:04:45,400 --> 00:04:48,330 Hii ni pale ambapo kujiunga CS50 timu programu ya maendeleo 96 00:04:48,330 --> 00:04:51,240 ni muhimu ili wewe si tu una akaunti programu, 97 00:04:51,240 --> 00:04:53,690 lakini pia una uwezo wa kutia saini programu 98 00:04:53,690 --> 00:04:56,420 na kuziweka kwenye kifaa chako iOS. 99 00:04:56,420 --> 00:04:58,957 Hii ni not-- kubonyeza fix suala hilo si muhimu 100 00:04:58,957 --> 00:05:01,040 kama wewe ni kwenda tu kwa kujenga na kuendeleza ndani ya nchi, 101 00:05:01,040 --> 00:05:03,520 kabisa ndani ya simulator iOS. 102 00:05:03,520 --> 00:05:05,820 >> Lakini kwa sasa mimi naenda kuendeleza na kuziweka 103 00:05:05,820 --> 00:05:08,160 juu ya iPad yangu, ambayo itakuwa uwezo wa matangazo pia. 104 00:05:08,160 --> 00:05:10,770 Hivyo mimi wanataka kweli kuongeza hii. 105 00:05:10,770 --> 00:05:13,670 Na ni kwenda kuuliza mimi kwa apple ID yangu. 106 00:05:13,670 --> 00:05:15,700 Hivyo ni kwenda kuwa hii. 107 00:05:15,700 --> 00:05:18,940 Na mimi kuwa kuchota yangu password, ambayo ni zaidi ya hapa. 108 00:05:18,940 --> 00:05:27,760 Basi nipe moja tu ya pili kwa kupata kwamba, na nakala ya kwamba, na kuweka juu ya hapa. 109 00:05:27,760 --> 00:05:28,580 >> Bonyeza Kuongeza. 110 00:05:28,580 --> 00:05:31,095 Ni kwenda kuuliza mimi ambayo timu nataka kujiunga. 111 00:05:31,095 --> 00:05:33,240 Mimi nina kwenda kufanya shule ya uhandisi. 112 00:05:33,240 --> 00:05:35,680 Bonyeza Kujiunga. 113 00:05:35,680 --> 00:05:37,780 Whoops, hiyo ni moja mbaya. 114 00:05:37,780 --> 00:05:40,730 Hebu kufanya hii moja. 115 00:05:40,730 --> 00:05:42,060 Hopefully kwamba moja itakuwa kazi. 116 00:05:42,060 --> 00:05:44,220 Moja ambayo bado haifanyi kazi. 117 00:05:44,220 --> 00:05:46,610 Sisi ni mbio nje ya watu wema hapa. 118 00:05:46,610 --> 00:05:48,260 OK, hii ni moja wanapaswa kufanya kazi. 119 00:05:48,260 --> 00:05:50,816 Sasa karibu hiyo. 120 00:05:50,816 --> 00:05:54,450 Sasa hebu kufanya shule ya uhandisi, bonyeza kuchagua. 121 00:05:54,450 --> 00:06:00,190 >> Na sasa hopefully baada ya wanandoa wa sekunde wewe can-- OK, 122 00:06:00,190 --> 00:06:02,550 Mimi itabidi kufuta na ombi. 123 00:06:02,550 --> 00:06:05,410 Oh mtu, hii ni kwenda kazi. 124 00:06:05,410 --> 00:06:08,890 OK, mimi itabidi kujaribu moja tofauti. 125 00:06:08,890 --> 00:06:11,167 Hebu kufanya hii moja hapa. 126 00:06:11,167 --> 00:06:17,020 127 00:06:17,020 --> 00:06:19,310 Demos kuishi ni kushindwa kwangu. 128 00:06:19,310 --> 00:06:22,540 Tunaweza kuwa na revert tu kujenga kabisa ndani ya nchi, 129 00:06:22,540 --> 00:06:25,050 lakini kwamba itakuwa OK katika kesi hii. 130 00:06:25,050 --> 00:06:28,560 >> Hivyo hapa, wakati hii ni kweli kazi, nini tunakwenda kufanya ni tu 131 00:06:28,560 --> 00:06:31,190 kujenga rahisi sana Habari World maombi. 132 00:06:31,190 --> 00:06:32,340 Hivyo hii ni Xcode. 133 00:06:32,340 --> 00:06:37,300 Na kama wewe si kuonekana ni bado, inaweza kuwa ni kidogo vitisho mara ya kwanza. 134 00:06:37,300 --> 00:06:41,430 Kuna mengi ya panes, kuna mengi ya doodads katika maeneo mbalimbali. 135 00:06:41,430 --> 00:06:44,300 Lakini tu kutambua kwamba kuna vipengele kweli kadhaa kuu 136 00:06:44,300 --> 00:06:46,580 kwa mazingira haya ya maendeleo. 137 00:06:46,580 --> 00:06:51,090 On mbali kushoto ni wote wa files ambayo ni husika kwa mpango wako 138 00:06:51,090 --> 00:06:52,997 au mradi husika. 139 00:06:52,997 --> 00:06:55,080 Tutaweza kuwa kubonyeza kuzunguka juu ya baadhi yao na tutaweza 140 00:06:55,080 --> 00:06:57,660 kumweka nje zaidi ndio muhimu zaidi ya muda. 141 00:06:57,660 --> 00:06:59,650 On mbali haki, sisi kuwa na seti ya sifa. 142 00:06:59,650 --> 00:07:02,920 Na wote wa sifa hizi, kuna ni panes mbalimbali kwa ajili ya sifa. 143 00:07:02,920 --> 00:07:06,770 panes kubadilika kutegemea mazingira ya maudhui kuu, ambayo 144 00:07:06,770 --> 00:07:08,290 hutokea kwa kuwa katikati. 145 00:07:08,290 --> 00:07:11,740 Sasa katikati unaweza kweli kuonyesha wewe aina ya mambo, kwa mfano 146 00:07:11,740 --> 00:07:13,290 code yako yenyewe. 147 00:07:13,290 --> 00:07:17,070 Au unaweza kweli have-- wakati bonyeza storyboard ambayo 148 00:07:17,070 --> 00:07:21,270 ni, kwa njia, tu graphical uwakilishi wa user yako 149 00:07:21,270 --> 00:07:25,350 interface kwa application-- yako basi sifa Pane 150 00:07:25,350 --> 00:07:27,334 juu ya mbali sana haki itakuwa kweli mabadiliko. 151 00:07:27,334 --> 00:07:29,750 Sasa kuna michache ya nyingine mambo ambayo nataka uhakika. 152 00:07:29,750 --> 00:07:33,360 Unaweza aina ya kuchunguza karibu katika mazingira juu yako mwenyewe. 153 00:07:33,360 --> 00:07:35,730 Lakini moja ya mambo ambayo imekuwa muhimu sana 154 00:07:35,730 --> 00:07:38,470 ni kifungo hii hapa, haki juu ya dirisha. 155 00:07:38,470 --> 00:07:41,230 Kuna kifungo hii kwamba inaonekana kama juu ya mbali 156 00:07:41,230 --> 00:07:46,090 kushoto ina aya ikifuatiwa na duru mbili na aina 157 00:07:46,090 --> 00:07:49,540 ya mishale miwili akizungumzia mbali na kila mmoja. 158 00:07:49,540 --> 00:07:52,640 Kama kubadili kati kiwango mhariri, ambayo 159 00:07:52,640 --> 00:07:55,560 ni mbali kushoto mmoja, hiyo kuchaguliwa kwa default, 160 00:07:55,560 --> 00:08:01,040 na duru mbili ukipishana kila mmoja, kwa kweli nini kupata 161 00:08:01,040 --> 00:08:02,210 ni mara mbili kidirisha maoni. 162 00:08:02,210 --> 00:08:04,240 >> Na hii ni kweli kwenda kuwa na manufaa kwa ajili yetu 163 00:08:04,240 --> 00:08:07,330 wakati tunahitaji kuunganisha vitu katika UI na kanuni. 164 00:08:07,330 --> 00:08:09,330 Na tutaweza kuzungumza zaidi kuhusu kwamba katika muda tu. 165 00:08:09,330 --> 00:08:12,050 Lakini kutambua kwamba kama wewe kupata panes hata zaidi kama hii, 166 00:08:12,050 --> 00:08:15,830 unaweza kurahisisha maoni yako tu kidogo kwa kubonyeza nyuma 167 00:08:15,830 --> 00:08:20,680 juu ya mhariri wako moja. 168 00:08:20,680 --> 00:08:21,580 Hadi sasa hivyo nzuri. 169 00:08:21,580 --> 00:08:24,560 Hivyo kimsingi tuna kanuni ya kushoto, sifa juu ya haki, 170 00:08:24,560 --> 00:08:28,260 na chochote ni sisi ni kazi hapa katika kitovu. 171 00:08:28,260 --> 00:08:30,390 >> Hivyo hapa nimekuwa clicked juu ya storyboard kuu. 172 00:08:30,390 --> 00:08:33,350 Na storyboard, tena, ni njia katika Xcode 173 00:08:33,350 --> 00:08:38,110 kuwa unaweza kweli kujenga user yako interface kutumia Drag tu na kuacha 174 00:08:38,110 --> 00:08:39,130 mbinu. 175 00:08:39,130 --> 00:08:41,190 Na hivyo kwa ajili yetu sana maombi ya kwanza hii 176 00:08:41,190 --> 00:08:42,720 ni just nini tunakwenda kufanya. 177 00:08:42,720 --> 00:08:45,950 Sisi ni kwenda chini kwa haki fungu mbali sana chini 178 00:08:45,950 --> 00:08:49,900 ya screen, ambayo ina aina ya mambo user 179 00:08:49,900 --> 00:08:53,270 kwamba unaweza kisha click na Drag kujenga user interface yako. 180 00:08:53,270 --> 00:08:55,550 >> Sasa yote haya mambo ni kuitwa maoni 181 00:08:55,550 --> 00:08:57,370 kwa sababu wao ugavi aina fulani ya maoni. 182 00:08:57,370 --> 00:09:00,190 Kuna picha mtazamo, kwa mfano, kwa kweli kuonyesha 183 00:09:00,190 --> 00:09:01,740 picha kwenye interface user. 184 00:09:01,740 --> 00:09:04,310 Kuna meza lengo la kweli kuonyesha meza. 185 00:09:04,310 --> 00:09:05,190 Kadhalika na kadhalika. 186 00:09:05,190 --> 00:09:08,250 Kuna aina mbalimbali ya ni maoni kwamba unaweza kuchagua hapa. 187 00:09:08,250 --> 00:09:11,100 Hivyo tu kwa sasa tunakwenda kutafuta studio. 188 00:09:11,100 --> 00:09:13,550 Unaweza tu kitabu kupitia wote wa orodha hiyo ni huko. 189 00:09:13,550 --> 00:09:15,460 Lakini kuna search bar chini sana 190 00:09:15,460 --> 00:09:19,460 ambayo inafanya kuwa rahisi kutambua maoni maalum kwamba kweli 191 00:09:19,460 --> 00:09:22,020 wanataka Drag katika user interface yako. 192 00:09:22,020 --> 00:09:23,560 >> Kupatikana studio yangu. 193 00:09:23,560 --> 00:09:28,430 Mimi nina kwenda Drag ni hapa, moja kwa moja kwenye sampuli yangu ya maombi. 194 00:09:28,430 --> 00:09:30,130 Right pale katikati inaonekana nzuri. 195 00:09:30,130 --> 00:09:33,180 Na mimi nina kwenda aina "Hello World!" 196 00:09:33,180 --> 00:09:33,810 Hit Enter. 197 00:09:33,810 --> 00:09:34,877 Sasa nina studio. 198 00:09:34,877 --> 00:09:36,960 Ni haina kuangalia kama ni unaozingatia kabisa vizuri. 199 00:09:36,960 --> 00:09:38,500 Hivyo siwezi kujaribu re-kituo cha hivyo. 200 00:09:38,500 --> 00:09:42,100 Kwa bahati nzuri inatoa haya humwongoa kufanya mambo rahisi sana. 201 00:09:42,100 --> 00:09:44,130 Mimi nina kwenda kujaribu kukusanya yake. 202 00:09:44,130 --> 00:09:46,570 Hopefully itakuwa kweli kazi hapa. 203 00:09:46,570 --> 00:09:52,870 Na kama hana, katika muda tu itakuwa kwa kweli kuonekana kwenye iPad yangu. 204 00:09:52,870 --> 00:09:54,360 Ni haki hapa. 205 00:09:54,360 --> 00:09:55,060 Kuna ni. 206 00:09:55,060 --> 00:09:56,590 >> OK, hivyo hiyo ni yake. 207 00:09:56,590 --> 00:09:57,160 Sisi ni kosa. 208 00:09:57,160 --> 00:09:58,868 Tumeunda yetu sana maombi ya kwanza. 209 00:09:58,868 --> 00:10:01,330 Sasa ni wazi hii haina kufanya kitu chochote. 210 00:10:01,330 --> 00:10:02,280 Ni tu studio. 211 00:10:02,280 --> 00:10:07,350 Hakuna uhusiano kati ya user interface na kanuni. 212 00:10:07,350 --> 00:10:10,130 Hivyo kama sisi kweli alitaka kujenga uhusiano huu, 213 00:10:10,130 --> 00:10:14,790 kama sisi kweli alitaka kuwa na aina fulani ya mawasiliano kati ya mambo 214 00:10:14,790 --> 00:10:17,540 ambazo zipo juu ya screen na kificho kwamba 215 00:10:17,540 --> 00:10:19,810 inaruhusu sisi kudhibiti mambo hayo, basi 216 00:10:19,810 --> 00:10:23,570 sisi kweli wanahitaji kuangalia code yenyewe. 217 00:10:23,570 --> 00:10:27,000 >> Hivyo hii ni kile kinachoitwa ViewController.swift. 218 00:10:27,000 --> 00:10:30,080 Na kwa ajili ya, hasa kwa mipango yako ya kwanza wachache, 219 00:10:30,080 --> 00:10:33,120 hii ni kwenda kuwa aina ya wingi wa kificho kwamba unaweza enter-- 220 00:10:33,120 --> 00:10:35,980 ni kwenda kuwa katika hati hii hapa. 221 00:10:35,980 --> 00:10:38,390 Kuna mengi ya mambo hiyo ni katika hapa hivyo mbali, haki? 222 00:10:38,390 --> 00:10:42,660 Kuna kuagiza UI kit darasa ni, override, [? Funk,?] mambo haya yote mbalimbali. 223 00:10:42,660 --> 00:10:45,820 Na ni wazi kabisa nini ni kwamba wote wa hii ina maana. 224 00:10:45,820 --> 00:10:48,570 Basi hebu kuchukua hatua nyuma mbali kutoka Xcode kwa muda kidogo 225 00:10:48,570 --> 00:10:52,420 na kuangalia lugha yenyewe, mwepesi. 226 00:10:52,420 --> 00:10:56,370 >> Hivyo, pamoja na mwepesi, ilikuwa katika kubuni na maendeleo 227 00:10:56,370 --> 00:10:58,645 katika Apple kwa karibu nne miaka ufahamu wangu. 228 00:10:58,645 --> 00:11:01,270 Na kuna wanandoa wa makala kuhusu suala hilo kuwa ni kweli nadhifu. 229 00:11:01,270 --> 00:11:03,910 Awali ya yote, ni ulioandaliwa lugha, tu kama C. 230 00:11:03,910 --> 00:11:06,120 Hivyo wewe kwanza na kukusanya yake na kisha kuendesha 231 00:11:06,120 --> 00:11:09,580 kabla unaweza kweli kutekeleza kanuni kwamba matokeo. 232 00:11:09,580 --> 00:11:14,250 Lakini kuna, tofauti na C, maingiliano haraka kwamba unaweza kweli kuendesha 233 00:11:14,250 --> 00:11:16,680 na aina amri kiholela ndani. 234 00:11:16,680 --> 00:11:20,280 Na sana kama JavaScript console, ambayo unaweza kuwa na mazoea na sasa, 235 00:11:20,280 --> 00:11:24,506 ni kweli itakuwa kutathmini wale amri na kutoa na wewe pato. 236 00:11:24,506 --> 00:11:26,380 Na wameweza hata kuchukuliwa kwamba ngazi ya pili 237 00:11:26,380 --> 00:11:29,100 na wameweza kuundwa kitu kuitwa playgrounds katika Xcode 238 00:11:29,100 --> 00:11:31,720 kwamba kuruhusu kuibua kazi na kanuni. 239 00:11:31,720 --> 00:11:34,910 Na tutaweza kweli kuona baadhi ya mifano ya kwamba katika kidogo tu. 240 00:11:34,910 --> 00:11:41,680 Ni kulingana na C. C underlies hivyo, kwa sababu yote ya compilers 241 00:11:41,680 --> 00:11:46,820 kujenga code nje ya C na kujenga kitu kificho kutoka humo. 242 00:11:46,820 --> 00:11:49,240 Lakini ni kweli hisa kiasi kidogo syntax. 243 00:11:49,240 --> 00:11:50,721 Itakuwa kuangalia haki tofauti. 244 00:11:50,721 --> 00:11:51,970 Kutakuwa na baadhi yanayofanana. 245 00:11:51,970 --> 00:11:54,140 Lakini kuna ni kwenda kuwa tofauti kabisa chache 246 00:11:54,140 --> 00:11:57,200 ikilinganishwa na, kusema, JavaScript au PHP. 247 00:11:57,200 --> 00:11:59,070 Na tutaweza uhakika hizi nje katika muda tu. 248 00:11:59,070 --> 00:12:01,420 >> Sasa moja ya mambo makubwa kuhusu mwepesi hiyo ni nzuri 249 00:12:01,420 --> 00:12:05,650 ni kwamba, hasa ikilinganishwa kwa C, ni maana ya kuwa salama. 250 00:12:05,650 --> 00:12:08,100 Kila kitu katika ni maana ya kuwa nguvu sana typed katika. 251 00:12:08,100 --> 00:12:10,780 Kwa kweli ni karibu annoying mara ya kwanza, wakati wewe kwanza 252 00:12:10,780 --> 00:12:15,610 kuanza kufanya kazi na mwepesi, tu jinsi kiasi utekelezaji aina kila mahali. 253 00:12:15,610 --> 00:12:17,860 Chochote ambacho kamba ina kubaki kamba. 254 00:12:17,860 --> 00:12:22,100 Ni vigumu sana kutatua ya kubadilisha au kushinikiza ni katika baadhi ya aina nyingine. 255 00:12:22,100 --> 00:12:23,800 >> Na tena, tutaweza kuonyesha mifano ya hili. 256 00:12:23,800 --> 00:12:26,830 Lakini hatimaye kutambua kwamba hii ni maana ya kulinda wewe, 257 00:12:26,830 --> 00:12:32,010 na katika wewe I mean code yako, kutoka crashing katika baadhi ya njia ya kutisha wakati 258 00:12:32,010 --> 00:12:34,330 una aina fulani ya mismatched aina. 259 00:12:34,330 --> 00:12:36,040 Na tena, kazi na yake. 260 00:12:36,040 --> 00:12:40,210 Sababu itakuwa frustrating kwa mara ya kwanza kama wewe kujaribu kufikiri kwa nini hasa 261 00:12:40,210 --> 00:12:43,070 wewe ni kupata hii isiyo ya kawaida kosa kushughulika na aina. 262 00:12:43,070 --> 00:12:45,350 Lakini itakuwa thamani yake katika mwisho. 263 00:12:45,350 --> 00:12:47,267 >> Haina kukabiliana na moja kwa moja usimamizi wa kumbukumbu, 264 00:12:47,267 --> 00:12:49,100 hivyo hakuna tena kufanya wewe kuwa na kushughulika na mambo 265 00:12:49,100 --> 00:12:51,400 kama malloc na bure na wote ya aina ya mambo haya. 266 00:12:51,400 --> 00:12:53,066 Na ni pia iliyoundwa kwa ajili generalities. 267 00:12:53,066 --> 00:12:58,360 Hivyo wakati tunaweza kutumia Xcode kwa kuunda programu iOS na maombi Mac, 268 00:12:58,360 --> 00:13:00,380 tunaweza pia tu matumizi yake kama lugha ya scripting. 269 00:13:00,380 --> 00:13:03,660 Na ili tuweze kutumia ni aina ya badala ya PHP au badala 270 00:13:03,660 --> 00:13:07,800 ya Python kwa kweli haraka Hazrat na mchakato 271 00:13:07,800 --> 00:13:09,800 baadhi data kwamba tuna juu ya kompyuta yetu. 272 00:13:09,800 --> 00:13:13,290 >> Ni ina aina mbalimbali za kisasa makala, optionals, mutability, 273 00:13:13,290 --> 00:13:17,900 dawa za kurefusha maisha, kufungwa, na mengi ya hii mambo unaweza au anaweza kutambua. 274 00:13:17,900 --> 00:13:22,810 Na ni tu aina ya bahati mbaya sehemu ya lugha ambayo baadhi ya hizi 275 00:13:22,810 --> 00:13:26,700 aina ya futuristic, mambo ya kisasa kwamba zilizomo ndani ya mambo ni 276 00:13:26,700 --> 00:13:34,520 hivyo imeshinikizwa kwamba mimi kwa kweli mapenzi na kufundisha CS50.5 kidogo. 277 00:13:34,520 --> 00:13:37,305 >> Sisi na kujifunza kidogo zaidi kuhusu baadhi ya vipengele ili 278 00:13:37,305 --> 00:13:40,180 kwa kweli kuelewa nini kinaendelea juu na ili uweze kuangalia code 279 00:13:40,180 --> 00:13:42,450 na si kuhisi waliopotea kabisa. 280 00:13:42,450 --> 00:13:44,820 Na utaona nini namaanisha na kwamba katika dakika moja tu. 281 00:13:44,820 --> 00:13:47,830 OK, hivyo let's-- kutosha ya hii aina ya mambo ya kinadharia. 282 00:13:47,830 --> 00:13:52,450 Hebu kweli kuangalia wetu kwanza kabisa mwepesi wa mpango. 283 00:13:52,450 --> 00:13:53,590 Ni mstari mmoja wa code. 284 00:13:53,590 --> 00:13:57,690 Line 14 haki hapa, ni anasema magazeti l n hodi CS50. 285 00:13:57,690 --> 00:14:01,160 >> Hivyo kuna michache ya mambo ambayo ni tofauti sana kuhusu huu ikilinganishwa 286 00:14:01,160 --> 00:14:04,140 kwa mambo ambayo unaweza kuwa kutumika kutoka C, kwa mfano. 287 00:14:04,140 --> 00:14:08,390 Mmoja wao ni kwamba hakuna intmain, hakuna ni pamoja na sehemu, 288 00:14:08,390 --> 00:14:10,790 kuna hakuna ya mambo haya ya ziada. 289 00:14:10,790 --> 00:14:13,790 The pamoja, kama standard I / O, kama maktaba 290 00:14:13,790 --> 00:14:16,580 kwamba kweli kutoa makala ya kiwango ya lugha, 291 00:14:16,580 --> 00:14:19,180 ni moja kwa moja ni pamoja na kama sehemu ya mwepesi ya kiwango maktaba 292 00:14:19,180 --> 00:14:20,680 na kwamba ni moja kwa moja kutoka nje. 293 00:14:20,680 --> 00:14:23,740 Huna kufanya kwamba kuagiza manually. 294 00:14:23,740 --> 00:14:27,360 >> Intmain haipo kwa sababu kuu kuingia kwa kificho 295 00:14:27,360 --> 00:14:29,470 ni kweli katika mwanzo wa kanuni. 296 00:14:29,470 --> 00:14:32,000 Hivyo kanuni yoyote kwamba una kuanzia mwanzo 297 00:14:32,000 --> 00:14:34,940 kweli ni lazima ifanyike mwanzoni. 298 00:14:34,940 --> 00:14:36,520 Hivyo hii simplifies kweli sana. 299 00:14:36,520 --> 00:14:38,470 Taarifa pia, kwamba hakuna semicolon. 300 00:14:38,470 --> 00:14:41,040 Hakuna semicolons katika lugha hii. 301 00:14:41,040 --> 00:14:43,261 Unaweza kuweka taarifa juu ya line ya mtu binafsi 302 00:14:43,261 --> 00:14:45,510 na kisha mstari wa pili inawakilisha kauli nyingine. 303 00:14:45,510 --> 00:14:47,420 Kama unataka kuweka kauli mulitiple online, 304 00:14:47,420 --> 00:14:49,086 basi una kujitenga na semicolons. 305 00:14:49,086 --> 00:14:50,940 Lakini kwa sehemu kubwa, kwa mtindo mzuri, tuko 306 00:14:50,940 --> 00:14:56,530 kamwe kwenda kuona semicolons kwa madhumuni ya kutenganisha kauli 307 00:14:56,530 --> 00:14:58,420 katika mwepesi. 308 00:14:58,420 --> 00:14:59,820 Hivyo ni jinsi gani hii kwa kweli kazi? 309 00:14:59,820 --> 00:15:04,080 Naam sana kama C sisi kweli kuwa na kukusanya hii. 310 00:15:04,080 --> 00:15:10,640 Na ili tuweze kufanya kwamba kwa kutumia mwepesi c na kisha 1.swift. 311 00:15:10,640 --> 00:15:13,850 Na kisha baada ya wanandoa dakika hii kukusanya 312 00:15:13,850 --> 00:15:16,340 na kisha siwezi kukimbia bidhaa moja. 313 00:15:16,340 --> 00:15:19,691 Na kuliko itakuwa tu kusema "Hello CS50." 314 00:15:19,691 --> 00:15:20,690 Ajabu, hivyo kuna sisi kwenda. 315 00:15:20,690 --> 00:15:22,273 Kuna kwanza mpango wetu hodi dunia ni. 316 00:15:22,273 --> 00:15:24,790 Hebu hoja juu ya namba mbili. 317 00:15:24,790 --> 00:15:30,450 >> Sasa katika this-- hii imebadilika kidogo, kwa sababu wakati wewe kawaida 318 00:15:30,450 --> 00:15:34,720 do-- kwa kweli daima gani una kukusanya maombi mwepesi kabla 319 00:15:34,720 --> 00:15:37,180 kweli kukimbia ubaya wake moja ya sifa kubwa 320 00:15:37,180 --> 00:15:40,230 kwamba mimi alluded kabla ni kwamba mwepesi kweli anaweza kutumika katika aina 321 00:15:40,230 --> 00:15:43,390 ya mode Pseudo-interpretive, kuna kwa kweli ni kama mkalimani. 322 00:15:43,390 --> 00:15:46,690 Lakini nini hii kufanya ni pale ni, kwa kweli, maombi mwepesi 323 00:15:46,690 --> 00:15:47,520 kwamba unaweza kukimbia. 324 00:15:47,520 --> 00:15:51,050 >> Hivyo kwa mfano kama wewe tu aina mwepesi hapa, nini kitatokea 325 00:15:51,050 --> 00:15:52,330 ni kwamba utapata haraka. 326 00:15:52,330 --> 00:15:59,040 Na unaweza aina mwepesi yako code, magazeti hello, na kukimbia nayo. 327 00:15:59,040 --> 00:16:01,867 Na itakuwa kweli print-- vizuri, haikuwa magazeti katika kesi hii 328 00:16:01,867 --> 00:16:04,450 sababu kuchapishwa na unaozingatia nje, ambayo ni kutoonekana hapa. 329 00:16:04,450 --> 00:16:06,660 Lakini ni kweli uwezo wa kufanya kazi. 330 00:16:06,660 --> 00:16:09,580 Na hivyo katika kesi hii, mimi nina tu kwenda kutumia hii kama script. 331 00:16:09,580 --> 00:16:11,259 Na naweza kweli kukimbia code hii huko. 332 00:16:11,259 --> 00:16:13,800 Hivyo njia kwamba mimi kwa kweli kukimbia itakuwa tofauti kidogo, 333 00:16:13,800 --> 00:16:15,710 lakini utaona kwamba katika muda tu. 334 00:16:15,710 --> 00:16:18,890 Sasa, katika kesi hii nini tunakwenda kufanya ni kwanza kufafanua kutofautiana. 335 00:16:18,890 --> 00:16:22,160 Hivyo hii ni jinsi sisi kufafanua variable katika wepesi, 336 00:16:22,160 --> 00:16:25,900 ni sisi kutumia let keyword, ikifuatiwa kwa jina la kutofautiana, 337 00:16:25,900 --> 00:16:29,280 na kisha sisi kutoa baadhi ya initializing data hiari. 338 00:16:29,280 --> 00:16:34,660 Hivyo kesi hii sisi ni kufafanua mara kwa mara kuitwa jina, 339 00:16:34,660 --> 00:16:37,775 na tunakwenda kutumia katika pato la magazeti line yetu 340 00:16:37,775 --> 00:16:39,590 chini sana, hello jina. 341 00:16:39,590 --> 00:16:43,260 >> Sasa taarifa kwamba badala ya kutumia% s, tunaweza kurejelea jina la hii 342 00:16:43,260 --> 00:16:49,960 variable katika / () na kuwa na uwezo wa concatenate katika maudhui ya hii 343 00:16:49,960 --> 00:16:51,790 kamba katika kamba hii. 344 00:16:51,790 --> 00:16:56,510 Sasa tofauti C, kamba ni halisi ya aina halisi katika mwepesi. 345 00:16:56,510 --> 00:16:59,240 Na hivyo yapo sambamba ints na sambamba 346 00:16:59,240 --> 00:17:02,220 DOUBLES kwa urahisi sana na asili ikilinganishwa 347 00:17:02,220 --> 00:17:05,450 baadhi ya wengine lugha ambayo tumeona. 348 00:17:05,450 --> 00:17:07,980 Hivyo hii ingekuwa kweli kazi kama ungependa kutarajia. 349 00:17:07,980 --> 00:17:10,540 >> Siwezi kukimbia 2.swift. 350 00:17:10,540 --> 00:17:14,390 Na tunaona kwamba jina langu ni kweli spliced ​​katika, "Hello Dan." 351 00:17:14,390 --> 00:17:16,050 OK, kutisha. 352 00:17:16,050 --> 00:17:17,485 Kuhamia kwenye namba tatu. 353 00:17:17,485 --> 00:17:19,359 Sasa ni kidogo ya uongo nyeupe kwamba mimi 354 00:17:19,359 --> 00:17:23,369 alisema kuwa njia ya kwamba sisi kutangaza vigezo ilikuwa kutumia let keyword. 355 00:17:23,369 --> 00:17:27,640 Mara nyingi kama unaweza uwezekano unaweza kufanya wanataka kutumia basi, kwa sababu kile kwamba hana 356 00:17:27,640 --> 00:17:29,280 ni amefafanua mara kwa mara. 357 00:17:29,280 --> 00:17:33,010 Na kwamba anaelezea mwepesi kwamba unaweza kuongeza kasi ya maombi yako 358 00:17:33,010 --> 00:17:36,230 sababu anajua kwamba variable ni si kwenda na mabadiliko. 359 00:17:36,230 --> 00:17:38,760 >> Hivyo kutathmini kwa makini wakati wewe ni kwenda kutumia 360 00:17:38,760 --> 00:17:41,382 kutofautiana kwa madhumuni ya kubadilisha. 361 00:17:41,382 --> 00:17:43,340 Na wakati wewe kwenda kujenga variable tu 362 00:17:43,340 --> 00:17:47,010 kushikilia baadhi data na kwamba ni si kweli kwenda na mabadiliko. 363 00:17:47,010 --> 00:17:50,150 Hivyo dhana hii ya faradhi, siyo kweli kwenda na mabadiliko, 364 00:17:50,150 --> 00:17:53,740 ni moja muhimu hata kama mbali chini kama kufafanua vigezo. 365 00:17:53,740 --> 00:17:56,870 Hivyo hapa tumekuwa defined jina, basi jina, na katika kesi hii 366 00:17:56,870 --> 00:18:02,120 ni mara kwa mara, ambayo ni ya aina kamba, na ni sawa na Dan. 367 00:18:02,120 --> 00:18:05,580 >> Hivyo wakati katika kabla toleo, ni infers-- na kwa "it" 368 00:18:05,580 --> 00:18:08,220 I mean swift-- mwepesi infers aina ya data 369 00:18:08,220 --> 00:18:10,850 kwamba tumekuwa aliingia katika kutofautiana. 370 00:18:10,850 --> 00:18:12,930 Katika kesi hiyo, tunaweza kuwa wazi. 371 00:18:12,930 --> 00:18:17,590 Hivyo basi basi jina la hii kutofautiana ni jina, basi koloni. 372 00:18:17,590 --> 00:18:21,350 Na baada ya koloni kufanya sisi kutaja aina ya data. 373 00:18:21,350 --> 00:18:24,694 Hivyo tena ni jina int au kamba jina au kitu kama hicho. 374 00:18:24,694 --> 00:18:26,860 Lakini badala basi studio, tuko kufafanua kama au si 375 00:18:26,860 --> 00:18:29,090 ni mara kwa mara au variable, ikifuatiwa na jina, 376 00:18:29,090 --> 00:18:31,870 ikifuatiwa na aina hiari. 377 00:18:31,870 --> 00:18:34,730 >> Hivyo katika kesi hii sisi ni kufafanua jina hili ni kamba. 378 00:18:34,730 --> 00:18:35,790 Sisi ni kusema ni Dan. 379 00:18:35,790 --> 00:18:39,270 Na sasa mimi na mwingine kutofautiana, katika kesi hii ni kuitwa studio. 380 00:18:39,270 --> 00:18:42,090 Lakini taarifa kwamba ni prefixed na var keyword. 381 00:18:42,090 --> 00:18:44,430 njia var keyword kwamba variable hii unaweza 382 00:18:44,430 --> 00:18:48,720 kubadilishwa katika hatua ya baadaye katika muda, mahali fulani chini ya katika kanuni 383 00:18:48,720 --> 00:18:52,480 tunaweza kweli mabadiliko yake na si kutupa kosa lolote fulani. 384 00:18:52,480 --> 00:18:56,760 >> Tunaweza kufanya standard concatenating operator hapa kwa kutumia plus ishara 385 00:18:56,760 --> 00:19:00,130 kwa kweli kuongeza wetu jina katika kamba hii. 386 00:19:00,130 --> 00:19:02,921 Na kisha tunaweza magazeti nje kama tuliona tu wakati iliyopita. 387 00:19:02,921 --> 00:19:04,920 Sasa hebu kusema kwamba wanataka kujenga variable 388 00:19:04,920 --> 00:19:06,586 lakini hawataki initialize yake bado. 389 00:19:06,586 --> 00:19:08,590 Huwezi bado wanataka kuweka data yoyote ndani yake. 390 00:19:08,590 --> 00:19:11,760 Naam mniambie mwepesi ni aina gani ya data 391 00:19:11,760 --> 00:19:16,430 ni kwenda kuwa kabla unaweza kweli kufafanua vizuri. 392 00:19:16,430 --> 00:19:20,360 >> Hivyo katika kesi hii, wakati tumekuwa defined variable kuitwa daraja sisi kuwa 393 00:19:20,360 --> 00:19:24,450 wazi juu ya aina yake, kwa sababu haiwezi kudai kuangalia tu 394 00:19:24,450 --> 00:19:27,300 katika data initialized kwamba wewe kutoa hiyo. 395 00:19:27,300 --> 00:19:30,050 Itakuwa kutupa kosa kama wewe tu aina var daraja, kwa mfano, 396 00:19:30,050 --> 00:19:31,830 kwa sababu hana aina hiyo. 397 00:19:31,830 --> 00:19:33,353 Hivyo daraja = 100. 398 00:19:33,353 --> 00:19:35,790 Hivyo kwamba 100 ni integer, ni inafaa nicely sana katika hiyo. 399 00:19:35,790 --> 00:19:36,998 Ni itaendelea kufanya kazi. 400 00:19:36,998 --> 00:19:40,350 401 00:19:40,350 --> 00:19:43,022 Tunaweza kuona jinsi basi sisi unaweza concatenate hii katika. 402 00:19:43,022 --> 00:19:44,730 Sasa unaweza kuwa kujaribiwa, kama kweli 403 00:19:44,730 --> 00:19:48,610 alitaka concatenate daraja katika kamba mwingine wa maandishi, 404 00:19:48,610 --> 00:19:52,560 ndani ya kamba mwingine, kuwa wewe tu kutumia concatenating operator huo. 405 00:19:52,560 --> 00:19:54,630 Na kwamba kwa kawaida kuwa kweli. 406 00:19:54,630 --> 00:20:00,540 Lakini mwepesi si kuruhusu implicitly kubadilisha aina ya data. 407 00:20:00,540 --> 00:20:03,440 Hivyo katika kesi hii, hii line, 25, kushindwa 408 00:20:03,440 --> 00:20:06,650 kwa sababu daraja ni integer na si kamba. 409 00:20:06,650 --> 00:20:08,760 Na hivyo kuna mismatch seti ya aina. 410 00:20:08,760 --> 00:20:11,780 Hivyo wewe kuwa wazi wakati unataka mabadiliko data hii, 411 00:20:11,780 --> 00:20:14,080 wakati unataka kushinikiza hii data katika aina mbalimbali 412 00:20:14,080 --> 00:20:17,250 na kusema, OK, nataka kuchukua daraja hii, ambayo ni integer, 413 00:20:17,250 --> 00:20:19,050 na kubadilisha kwa kutumia kamba. 414 00:20:19,050 --> 00:20:23,970 >> Hivyo mimi kuchukua mji mkuu s String yote ya aina, utasikia taarifa, ni mtaji, 415 00:20:23,970 --> 00:20:26,280 Int, Double, Kamba, kadhalika na kadhalika. 416 00:20:26,280 --> 00:20:28,930 Wote ni mtaji tu kufanya mambo rahisi. 417 00:20:28,930 --> 00:20:32,240 Na tutaweza kusema capitalize Kamba kupita ndani yake daraja. 418 00:20:32,240 --> 00:20:35,020 Na itakuwa kujenga kamba nje ya kwamba integer. 419 00:20:35,020 --> 00:20:37,970 Na kisha tunaweza concatenate mbili nicely sana. 420 00:20:37,970 --> 00:20:40,500 Maswali yoyote juu ya mambo haya hadi sasa? 421 00:20:40,500 --> 00:20:43,770 Haki wote, hebu kulima kupitia namba nne. 422 00:20:43,770 --> 00:20:47,870 >> Sasa hebu majadiliano juu ya baadhi ya juu zaidi miundo, kama arrays na loops. 423 00:20:47,870 --> 00:20:54,920 Na tofauti na C, arrays katika mwepesi si kuwakilishwa na kuyatumia. 424 00:20:54,920 --> 00:20:58,730 Kuyatumia katika wepesi, ingawa zipo, aitwaye 425 00:20:58,730 --> 00:21:02,840 kama kuyatumia salama au baadhi ya aina hiyo kama hii, 426 00:21:02,840 --> 00:21:04,950 re si wazi kwa wewe kawaida. 427 00:21:04,950 --> 00:21:07,300 Hivyo inakuwa vigumu sana kwa wewe kuendesha 428 00:21:07,300 --> 00:21:10,020 kumbukumbu moja kwa moja ya kompyuta yako. 429 00:21:10,020 --> 00:21:11,670 >> Hivyo arrays ni aina tu data. 430 00:21:11,670 --> 00:21:16,830 Na wao ni inatazamwa kwa kutumia aina hii ya sasa kiwango mraba bracket nukuu 431 00:21:16,830 --> 00:21:18,280 kwamba ve kuonekana kabla. 432 00:21:18,280 --> 00:21:21,130 Lakini wakati wewe kweli unataka kufafanua aina ya kutofautiana 433 00:21:21,130 --> 00:21:24,330 kama safu ya baadhi aina fulani, basi 434 00:21:24,330 --> 00:21:27,150 kuweka kwamba aina katika mabano mraba. 435 00:21:27,150 --> 00:21:30,260 Hivyo ninachosema hapa ni kwamba Mimi nina kujenga variable kuitwa 436 00:21:30,260 --> 00:21:33,930 darasa ya aina int safu. 437 00:21:33,930 --> 00:21:37,380 Na mimi nina kuweka kwamba sawa na baadhi data initialized, ambayo katika kesi hii 438 00:21:37,380 --> 00:21:42,960 ni 100, 0, 90, 85, ambayo ni tu ukusanyaji wa darasa holela hapa. 439 00:21:42,960 --> 00:21:46,480 Sasa katika kesi hii mimi naweza, kumbuka, kuondoa aina, 440 00:21:46,480 --> 00:21:49,580 na itakuwa na uwezo wa kudai ni kulingana na data initialized. 441 00:21:49,580 --> 00:21:51,990 Lakini kama mimi kuondolewa huu na Mimi zinahitajika kuweka baadaye, 442 00:21:51,990 --> 00:21:56,840 basi napenda kuwa na kuhakikisha kwamba mimi kuwa na aina huko. 443 00:21:56,840 --> 00:21:58,750 Haki wote, hebu hoja pamoja. 444 00:21:58,750 --> 00:22:03,010 Hivyo sisi can-- arrays kutoa kwetu aina 445 00:22:03,010 --> 00:22:07,130 ya mbinu kwa njia ya kuwa dot nukuu saa wewe ni pengine sasa familiar with. 446 00:22:07,130 --> 00:22:10,360 Hivyo grades.count, kwa mfano, anatueleza just simu 447 00:22:10,360 --> 00:22:13,680 ya mambo ambayo ni zilizomo ndani ya safu hii. 448 00:22:13,680 --> 00:22:17,260 >> Kama mimi nataka kuongeza additional-- sasa taarifa kwamba hii ni var 449 00:22:17,260 --> 00:22:20,140 na not-- hii ni kutofautiana na si mara kwa mara, ambayo 450 00:22:20,140 --> 00:22:24,410 maana ya kwamba siwezi kubadilisha yaliyomo wa safu hii, siwezi kuongeza vitu hivyo. 451 00:22:24,410 --> 00:22:28,870 Lakini siwezi kusema tu darasa na kisha katika mabano mraba 452 00:22:28,870 --> 00:22:33,280 nne, kwa sababu hiyo itakuwa nje ya mipaka kosa katika kesi hii. 453 00:22:33,280 --> 00:22:36,190 Kama mimi nataka kweli mabadiliko ukubwa wa safu hii, 454 00:22:36,190 --> 00:22:41,140 Nina kutumia njia dot append kwa kuongeza kitu kwenye mpaka mwisho kabisa wa hilo. 455 00:22:41,140 --> 00:22:46,900 Naweza, hata hivyo, mabadiliko mtu binafsi fahirisi. 456 00:22:46,900 --> 00:22:48,920 >> Hivyo mimi naweza kutumia darasa na mabano kisha mraba 457 00:22:48,920 --> 00:22:52,480 zero kuendesha ripoti hii ya kwanza na kadhalika, kama wewe ingekuwa kawaida kutarajia. 458 00:22:52,480 --> 00:22:56,530 Na naweza kufanya hivyo kwa kweli pokea data kutoka kwa kuwa vilevile. 459 00:22:56,530 --> 00:23:00,420 Sasa kuna pia aina ya mbinu dhana ya kufanya hili, darasa plus sawa 460 00:23:00,420 --> 00:23:02,525 na kisha index mwingine, ambayo itakuwa append-- 461 00:23:02,525 --> 00:23:04,400 au si mwingine index-- lakini orodha nyingine ambayo 462 00:23:04,400 --> 00:23:07,340 itakuwa append orodha hiyo nyuma ya darasa. 463 00:23:07,340 --> 00:23:09,780 Na darasa mapenzi kisha vyenye yote. 464 00:23:09,780 --> 00:23:13,850 Lakini hiyo ni aina ya kitu ziada kwamba mimi nina tu kuonyesha wewe kwa ajili ya kujifurahisha. 465 00:23:13,850 --> 00:23:14,910 >> Sasa kuna kwa kitanzi. 466 00:23:14,910 --> 00:23:18,970 Na huu ni mwanzo wa ambapo mambo kuanza kubadili kidogo. 467 00:23:18,970 --> 00:23:22,920 Angalia jinsi hii kwa kitanzi ni mbalimbali kutoka kwa loops katika C. 468 00:23:22,920 --> 00:23:26,470 Sasa mimi kutambua kwamba kwa loops katika Swift unaweza 469 00:23:26,470 --> 00:23:30,650 kufanywa kwa kuangalia kama kwa loops katika C, lakini kuna mengi ya constructs muhimu zaidi 470 00:23:30,650 --> 00:23:37,840 kwamba kimsingi kuondokana na haja kuwa kwa var i sawa 0 semicolon i 471 00:23:37,840 --> 00:23:40,340 ni chini ya baadhi ya urefu, kadhalika na kadhalika, haki? 472 00:23:40,340 --> 00:23:42,940 Na kujenga hii ni mmoja wao. 473 00:23:42,940 --> 00:23:49,030 >> Kwa index, index ni mpya kutofautiana, katika kesi hii, katika mbalimbali. 474 00:23:49,030 --> 00:23:52,730 Na ninachosema ni kwamba kuna mbalimbali kutoka 0 njia yote hadi 475 00:23:52,730 --> 00:23:55,870 lakini si pamoja grades.count. 476 00:23:55,870 --> 00:23:58,470 Hivyo dot dot hii chini kuliko ishara inawakilisha 477 00:23:58,470 --> 00:24:05,040 mbalimbali ya maadili kuanzia sifuri njia yote hadi grades.count minus 1. 478 00:24:05,040 --> 00:24:07,070 Kuna tofauti operator kwamba lipo, 479 00:24:07,070 --> 00:24:13,320 ambayo ni dot dot dot, ambayo ingekuwa maana kwamba mimi wanataka mbalimbali ya sifuri 480 00:24:13,320 --> 00:24:16,310 kwa darasa kuhesabu umoja. 481 00:24:16,310 --> 00:24:19,130 >> Lakini katika kesi hii, kwa sababu hizi arrays ni sifuri index, sisi bila shaka 482 00:24:19,130 --> 00:24:23,290 hawataki kwenda upeo wa idadi ya wanafunzi wa darasa. 483 00:24:23,290 --> 00:24:26,390 Siwezi muhtasari darasa, kama wewe nguvu kutarajia, na pato wote wa mambo haya. 484 00:24:26,390 --> 00:24:29,620 OK, kuhama. 485 00:24:29,620 --> 00:24:32,270 Sasa hebu majadiliano juu ya kazi. 486 00:24:32,270 --> 00:24:35,465 Ili kufafanua kazi matumizi funk keyword. 487 00:24:35,465 --> 00:24:38,090 Na tena, katika Swift una kuwa makini sana na aina. 488 00:24:38,090 --> 00:24:41,530 You kutoa kwa ni vigezo na kufafanua, kwa mfano, 489 00:24:41,530 --> 00:24:45,440 jina la parameter na basi katika Colin, aina ya data 490 00:24:45,440 --> 00:24:47,690 kwamba wewe kutarajia kwamba parameter kukubali. 491 00:24:47,690 --> 00:24:50,700 >> Hivyo katika kesi hii tuna kazi kuitwa magazeti daraja kuhesabu. 492 00:24:50,700 --> 00:24:54,630 Ni anapokea variable kuitwa gradebook, au tuseme parameter aitwaye gradebook. 493 00:24:54,630 --> 00:24:59,267 Na sisi ni kutarajia kwamba gradebook kuwa safu ya integers. 494 00:24:59,267 --> 00:25:01,350 Kama kwamba gradebook ni tupu, tutaweza magazeti jambo moja. 495 00:25:01,350 --> 00:25:06,090 Vinginevyo tutakuwa magazeti nje ya simu ya darasa kwamba hii kweli ina. 496 00:25:06,090 --> 00:25:09,470 >> Sasa kama tunataka kurudi baadhi ya thamani, basi njia 497 00:25:09,470 --> 00:25:14,595 kwamba sisi kurekebisha ufafanuzi huu ni kwa kweli matumizi mshale keyword, 498 00:25:14,595 --> 00:25:16,870 au kutumia mshale signifier. 499 00:25:16,870 --> 00:25:19,440 Hivyo hapa tunakwenda kufafanua kazi kuitwa wastani. 500 00:25:19,440 --> 00:25:21,940 Sisi ni kwenda kukubali orodha ya namba. 501 00:25:21,940 --> 00:25:25,430 Na sisi ni kwenda na kurudi mara mbili, ambayo itakuwa hopefully 502 00:25:25,430 --> 00:25:31,270 kuwa wastani wa safu hii. 503 00:25:31,270 --> 00:25:34,570 Na ili kufanya hivyo, ili kwa kweli mahesabu ya wastani huu, 504 00:25:34,570 --> 00:25:38,651 tutachukua jumla na sisi ya Bila shaka kujumulisha yote ya vitu 505 00:25:38,651 --> 00:25:39,400 ndani ya safu hii. 506 00:25:39,400 --> 00:25:41,480 >> Taarifa kwamba kuna mpya mtindo wa kwa kitanzi hapa. 507 00:25:41,480 --> 00:25:45,450 Hatuna kuwa wazi kuhusu iterating juu ya kila kipengele moja, 508 00:25:45,450 --> 00:25:48,280 lakini tunaweza badala kusema kwa daraja na gradebook, maana 509 00:25:48,280 --> 00:25:50,930 kwamba kwa kila moja bidhaa kwamba tuna katika hili, 510 00:25:50,930 --> 00:25:53,482 kutoa bidhaa kwamba katika hii variable kuitwa daraja. 511 00:25:53,482 --> 00:25:54,940 Na mimi nataka kufanya kitu kwa hayo. 512 00:25:54,940 --> 00:26:00,350 Hivyo nina kwenda kwa jumla yote ya takwimu hii na kwa kweli kurudi mgawanyiko mbili. 513 00:26:00,350 --> 00:26:04,436 >> Sasa taarifa tena hapa kuna dhana ya integer mgawanyiko katika Swift. 514 00:26:04,436 --> 00:26:06,810 Kama unataka mara mbili mgawanyiko sababu unataka decimals, 515 00:26:06,810 --> 00:26:09,460 basi wewe kuwa wazi, si upande tu kuhusu moja, 516 00:26:09,460 --> 00:26:14,030 sababu si kwenda kuruhusu ya kushinikiza data juu ya upande wa hii, 517 00:26:14,030 --> 00:26:17,030 una kweli bila shaka pande zote mbili katika DOUBLES 518 00:26:17,030 --> 00:26:19,440 hivyo kwamba wewe ni sana wazi kuhusu kuhakikisha 519 00:26:19,440 --> 00:26:23,370 kwamba wewe ni kufanya mara mbili mgawanyiko. 520 00:26:23,370 --> 00:26:26,150 >> Hebu hoja juu. 521 00:26:26,150 --> 00:26:31,150 Hivyo kama mimi kweli wanataka accept-- hivyo katika mfano huu, hasa 522 00:26:31,150 --> 00:26:34,260 hii bado ni amri line makao maombi. 523 00:26:34,260 --> 00:26:37,920 Na sisi ni mapya ya kuona baadhi ya upungufu wa lugha vijana 524 00:26:37,920 --> 00:26:41,850 katika kwamba ingawa tunaweza kupata hoja kwa kutumia 525 00:26:41,850 --> 00:26:44,940 process.arguments hii, ni bado si lazima safi 526 00:26:44,940 --> 00:26:46,200 Jambo kwamba tumekuwa milele kuonekana. 527 00:26:46,200 --> 00:26:49,142 Lakini kimsingi mimi moyo na aina ya kuangalia kanuni hii 528 00:26:49,142 --> 00:26:51,100 na kujaribu kufikiri nini hasa kinachoendelea. 529 00:26:51,100 --> 00:26:55,030 >> Kimsingi nini kinatokea ni kwamba sisi ni kuchukua orodha ya hoja 530 00:26:55,030 --> 00:26:57,610 na walikuwa coercing yao katika integers, na kisha sisi ni 531 00:26:57,610 --> 00:27:03,620 kwenda kutumia kama njia ya magazeti nje wastani wa wote wa darasa yetu. 532 00:27:03,620 --> 00:27:06,150 533 00:27:06,150 --> 00:27:07,350 Kuhama. 534 00:27:07,350 --> 00:27:11,190 Sasa kuna aina nyingine ya data-- data mwingine aina badala ya arrays 535 00:27:11,190 --> 00:27:14,940 kuitwa Mkwawa, ambayo ni sana sawa na hash meza au ramani hash 536 00:27:14,940 --> 00:27:18,560 na ni sawa pia kwa PHP ya associative arrays. 537 00:27:18,560 --> 00:27:20,770 Hivyo kuwa dhana funguo na maadili. 538 00:27:20,770 --> 00:27:23,780 >> Na wao ni defined pia na hii mraba bracket nukuu, 539 00:27:23,780 --> 00:27:26,750 lakini tofauti ni kwamba Mkwawa na 540 00:27:26,750 --> 00:27:29,370 ndani ya bracket mraba, koloni. 541 00:27:29,370 --> 00:27:33,850 Na koloni hutenganisha data aina hiyo ni muhimu na thamani. 542 00:27:33,850 --> 00:27:38,540 Hivyo katika kesi hii, mimi nina kwenda kujenga kamusi kukubali baadhi darasa. 543 00:27:38,540 --> 00:27:44,200 Na ni kwenda kuwa ya kamba aina: int, 544 00:27:44,200 --> 00:27:46,940 ambayo ina maana kwamba wote wa funguo ni kwenda kuwa masharti, 545 00:27:46,940 --> 00:27:53,080 na wote wa maadili ya wale funguo ni kwenda kuwa integers. 546 00:27:53,080 --> 00:27:55,780 >> Nini maana ya hii ni kwamba naweza kisha rejea data maalum 547 00:27:55,780 --> 00:28:00,490 kwamba mimi nataka kutumia funguo hizo badala kuliko kutumia fahirisi numeric kama mimi 548 00:28:00,490 --> 00:28:04,350 ingekuwa kwa ajili ya safu ya kiwango. 549 00:28:04,350 --> 00:28:06,470 Sasa hebu angalia, kuna jambo moja muhimu 550 00:28:06,470 --> 00:28:10,790 kwamba mimi pia wanataka kutaja kuhusu mlolongo huu hasa wa kanuni. 551 00:28:10,790 --> 00:28:12,910 Na kwamba ni kwamba kuna aina nyingine ya data, 552 00:28:12,910 --> 00:28:15,580 au tuseme kuna hii wazo la data kwamba ni 553 00:28:15,580 --> 00:28:18,340 zilizomo ndani ya Swift kuitwa optionals. 554 00:28:18,340 --> 00:28:21,270 >> Na nini optionals maana yake ni kwamba inatambua ukweli 555 00:28:21,270 --> 00:28:27,500 kwamba wakati mwingine wewe si kwenda kwa kupata data kwamba kweli kutarajia. 556 00:28:27,500 --> 00:28:31,400 Na hivyo kile mimi maana na kwamba is-- hebu tuangalie mlolongo huu wa kanuni 557 00:28:31,400 --> 00:28:38,910 ambayo iterates juu ya yote ya hoja kwamba walikuwa kupita kwa kanuni hii 558 00:28:38,910 --> 00:28:43,460 na anajaribu kubadili yao, inajaribu umegawanyika katika aina ya masharti, 559 00:28:43,460 --> 00:28:47,310 sababu anapokea sana aina fulani ya hoja. 560 00:28:47,310 --> 00:28:51,530 Na basi ni kwenda kujaribu kushinikiza masharti kwamba kuwakilisha idadi 561 00:28:51,530 --> 00:28:55,460 ndani ya integers kwamba ni darasa, kwamba naweza kisha compute. 562 00:28:55,460 --> 00:28:58,230 >> Hivyo kimsingi mimi nina kwenda kutumia hii kazi mgawanyiko kwamba 563 00:28:58,230 --> 00:29:00,080 ipo ndani ya Swift standard maktaba. 564 00:29:00,080 --> 00:29:03,720 Mimi nina kwenda kupita ndani yake kamba kwamba nataka kupasuliwa. 565 00:29:03,720 --> 00:29:06,980 Na kisha katika kutumia hii aina ya funky syntax, ambayo 566 00:29:06,980 --> 00:29:09,670 Mimi sijui kama tutaweza kupata, lakini labda, sisi 567 00:29:09,670 --> 00:29:14,320 kweli bayana sahihi tabia kwamba tunataka umegawanyika katika. 568 00:29:14,320 --> 00:29:16,030 Basi nini hii kweli kuangalia kama? 569 00:29:16,030 --> 00:29:18,740 Hebu tuangalie kweli mbio kanuni hii. 570 00:29:18,740 --> 00:29:22,000 >> Hivyo kwa mfano, hebu sema nina Jaribio na I got 50 juu ya hilo. 571 00:29:22,000 --> 00:29:23,960 Na mimi kuwa psets na I got mia juu ya hilo. 572 00:29:23,960 --> 00:29:29,180 Na mimi got-- kuna mwingine Jaribio na I got 40 juu ya hilo. 573 00:29:29,180 --> 00:29:33,520 Mimi hit Enter, na hatimaye nini kitatokea ni kwamba nini ni kufanya 574 00:29:33,520 --> 00:29:37,730 ni kuchukua vigezo hizi, kugawanyika masharti katika colons haya, 575 00:29:37,730 --> 00:29:41,390 kutambua kwamba kuna mambo mawili katika kila mmoja, 576 00:29:41,390 --> 00:29:43,700 na ni kimsingi kuweka wimbo wa kila mmoja. 577 00:29:43,700 --> 00:29:49,226 >> Hivyo nina katika kamusi yangu quiz, ambaye thamani ya kuwakilishwa na idadi 50, 578 00:29:49,226 --> 00:29:54,290 Nina pset ambayo ina thamani ya 100, na jaribio moja ambayo ina thamani ya 40. 579 00:29:54,290 --> 00:29:57,400 Kisha baadaye katika code mimi kweli wastani yote ya maadili hayo 580 00:29:57,400 --> 00:30:01,160 na orodha yote ya funguo za kwamba kamusi fulani. 581 00:30:01,160 --> 00:30:03,217 Lakini hii ni muhimu ili uweze taarifa 582 00:30:03,217 --> 00:30:06,050 kile kinachotokea, ni kwamba kile sisi wanataka kufanya ni kuchukua kamba hii 583 00:30:06,050 --> 00:30:11,450 na mgawanyiko katika tabia hii, ambayo tunaweza kufanya tena na mgawanyiko huu 584 00:30:11,450 --> 00:30:15,690 kazi kwa kutumia aina hii ya kuvutia syntax kwamba ipo hapa. 585 00:30:15,690 --> 00:30:17,880 >> Tu kwa ajili ya sasa kudhani kwamba ni sawa. 586 00:30:17,880 --> 00:30:19,980 Tutaweza kuangalia zaidi katika hili katika kidogo tu. 587 00:30:19,980 --> 00:30:23,230 Lakini sasa kuna kuvutia kipengele kwamba sisi kweli 588 00:30:23,230 --> 00:30:27,250 unataka kujaribu kubadili hii kamba katika integer. 589 00:30:27,250 --> 00:30:29,720 Lakini katika lugha zingine nini kinaweza kutokea ni 590 00:30:29,720 --> 00:30:33,440 kwamba tunataka pengine kujaribu kufanya hivyo na ama kupata nyuma 591 00:30:33,440 --> 00:30:36,185 baadhi ya aina ya sentinel thamani kama hasi moja 592 00:30:36,185 --> 00:30:39,420 au labda null au kitu kama hicho. 593 00:30:39,420 --> 00:30:41,070 Au labda ingekuwa tu unasababishwa makosa. 594 00:30:41,070 --> 00:30:42,820 Na tunataka kuwa na kisha kupata kosa kwamba 595 00:30:42,820 --> 00:30:44,820 na kisha kujaribu kufanya kitu kwa kuzingatia ukweli 596 00:30:44,820 --> 00:30:48,280 kwamba uongofu huu kwa integer alishindwa. 597 00:30:48,280 --> 00:30:50,460 Hiyo ambapo wazo hili ya optionals huja katika. 598 00:30:50,460 --> 00:30:56,120 Unaweza kweli kujenga aina data kwamba ni int swali alama, kwa mfano. 599 00:30:56,120 --> 00:30:59,140 600 00:30:59,140 --> 00:31:01,910 Hiyo ina maana kwamba integer hii ni, kwa kweli, hiari. 601 00:31:01,910 --> 00:31:05,980 Na nini kitatokea ni kwamba inaweza vyenye integer, au huenda si. 602 00:31:05,980 --> 00:31:10,650 Ni inaweza, kwa kweli, kuwa hii nyingine wazo, kabisa kuitwa nill. 603 00:31:10,650 --> 00:31:14,900 Katika ambayo ina maana kwamba kuna hakuna thamani yoyote katika hili. 604 00:31:14,900 --> 00:31:16,810 Ni hata zero, kuna tu hakuna thamani. 605 00:31:16,810 --> 00:31:18,790 Kuna kabisa hakuna thamani kuwakilishwa. 606 00:31:18,790 --> 00:31:21,650 >> Na kwamba ni nini mstari huu 71 ni kufanya. 607 00:31:21,650 --> 00:31:25,990 Ni kwamba ni kusema kwamba mimi unataka kujaribu kuweka thamani, 608 00:31:25,990 --> 00:31:31,790 variable kuitwa daraja, sawa na ubadilishaji wa kamba hii katika int. 609 00:31:31,790 --> 00:31:34,010 Hivyo nimekuwa kuchukuliwa kamba hii, vipengele hii ya kwanza, 610 00:31:34,010 --> 00:31:37,680 au tuseme pili vipengele, kwa sababu hii 611 00:31:37,680 --> 00:31:40,770 ni zero indexed, hii kamba kwamba nimepata kupasuliwa. 612 00:31:40,770 --> 00:31:42,930 Na mimi nataka kubadili kwamba kwa integer. 613 00:31:42,930 --> 00:31:46,730 Lakini inaweza kuendelea daima kawaida, kwa sababu kufikiria 614 00:31:46,730 --> 00:31:50,710 nini kingetokea kama, badala ya aina simu, mimi aina ya shaka kama asdf. 615 00:31:50,710 --> 00:31:51,534 >> Ni kwenda kushindwa. 616 00:31:51,534 --> 00:31:54,200 Ni si kweli kwenda kuwa uwezo wa kubadilisha kwamba integer 617 00:31:54,200 --> 00:31:55,510 kama napenda kutarajia. 618 00:31:55,510 --> 00:31:58,660 Hivyo badala ya kick off aina fulani ya makosa, 619 00:31:58,660 --> 00:32:01,210 tuna wazo hili la hiari. 620 00:32:01,210 --> 00:32:04,240 Na hiyo ina maana kwamba kwa kutumia hii alama ya swali naweza kusema, 621 00:32:04,240 --> 00:32:09,100 OK, inawezekana kwamba naweza kuchukua hii, waongofu ndani int, 622 00:32:09,100 --> 00:32:12,630 na kuiweka katika kutofautiana, ambayo pia kuwa int. 623 00:32:12,630 --> 00:32:15,420 Ikiwa hivyo, basi kwamba njia kwamba hii ilikuwa na mafanikio 624 00:32:15,420 --> 00:32:18,720 na sehemu hii ya kwanza ya block inaweza kuendelea. 625 00:32:18,720 --> 00:32:21,040 >> Vinginevyo, alishindwa. 626 00:32:21,040 --> 00:32:25,840 Hakuna thamani katika grade-- au badala hakuna thamani katika zilizopo, 627 00:32:25,840 --> 00:32:30,220 na mimi kwa kweli kuwa na kujaribu kushughulikia hali hii makosa. 628 00:32:30,220 --> 00:32:33,340 Wewe ni kwenda kuona hii alama ya swali wakati wote 629 00:32:33,340 --> 00:32:35,990 katika Swift na katika mfano kificho kwa Swift. 630 00:32:35,990 --> 00:32:40,980 Na kwa kweli operator nill, aina hii ya alama swali, optionals sehemu, 631 00:32:40,980 --> 00:32:45,057 ni kwenda kuwa pengine ni moja ya mambo magumu zaidi 632 00:32:45,057 --> 00:32:47,640 na aina ya wrap kichwa yako karibu kweli kama wewe kazi nayo. 633 00:32:47,640 --> 00:32:48,490 >> Ni wanaweza kufanya hisia sasa. 634 00:32:48,490 --> 00:32:50,760 Na kwa kweli, wakati mimi nilikuwa kuandika sampuli kificho kwa hili, 635 00:32:50,760 --> 00:32:52,780 hakika mimi kueleweka nini kinachoendelea, 636 00:32:52,780 --> 00:32:55,570 lakini bado hawakupata yangu na mshangao kila mara nyingi 637 00:32:55,570 --> 00:32:58,370 wakati mimi bila kujua kwamba baadhi data kweli alikuwa 638 00:32:58,370 --> 00:33:04,024 nil version, toleo hiari ya data kwamba nilikuwa kutarajia. 639 00:33:04,024 --> 00:33:06,190 Hivyo tu kutambua kwamba kama wewe na toleo hiari 640 00:33:06,190 --> 00:33:09,360 una unpack kwamba data kutoka sanduku hili. 641 00:33:09,360 --> 00:33:15,870 >> Hivyo ni aina ya kama I-- kufikiria kama kuwa na sanduku na ina kitu. 642 00:33:15,870 --> 00:33:18,490 Na nini unahitaji kufanya ni kuuliza swali, 643 00:33:18,490 --> 00:33:22,800 ni, inawezekana kwamba sanduku hii kwa kweli ina data kwamba mimi nina kuangalia kwa? 644 00:33:22,800 --> 00:33:28,180 Ikiwa hivyo, basi kuvuta data kwamba nje na kuiweka katika variable hii zilizopo. 645 00:33:28,180 --> 00:33:32,080 Kama siyo, basi mimi tu na kupuuza yaliyomo ya sanduku hili 646 00:33:32,080 --> 00:33:34,310 kabisa kwa sababu literally ina kitu. 647 00:33:34,310 --> 00:33:36,880 648 00:33:36,880 --> 00:33:40,400 >> Maswali yoyote juu ya hili? 649 00:33:40,400 --> 00:33:44,430 OK, hebu hoja mbali na hii aina ya mstari amri kulingana kitu 650 00:33:44,430 --> 00:33:47,610 na kuanza kuangalia baadhi ya teknolojia 651 00:33:47,610 --> 00:33:53,060 kwamba Xcode hutoa kwetu katika mfumo wa playgrounds. 652 00:33:53,060 --> 00:33:56,669 Hivyo kuna mengi ya uwezo hapa na Swift. 653 00:33:56,669 --> 00:33:59,210 Na kama wewe kufungua Xcode na anauliza nini unataka kufanya, 654 00:33:59,210 --> 00:34:01,340 unaweza kufungua uwanja wa michezo na tu kucheza karibu 655 00:34:01,340 --> 00:34:06,200 na mengi ya miundo tofauti na masuala ya lugha 656 00:34:06,200 --> 00:34:11,800 kabla hata ya kuanza kugusa iOS SDK au Mac SDK. 657 00:34:11,800 --> 00:34:15,670 >> Hivyo kesi hii, hebu kusema kwamba mimi have-- Nina mfano kiasi contrived 658 00:34:15,670 --> 00:34:18,460 hapa, lakini kuzaa na mimi kama sisi aina ya kazi kwa njia ya mfano huu. 659 00:34:18,460 --> 00:34:22,639 Hebu kusema kwamba tuna kufanya mengi wa mashujaa na thamani ya kudumu, 660 00:34:22,639 --> 00:34:26,397 kama tunajua kwamba sisi ni kwenda haja ya kufanya mengi ya nguvu za mraba, kwa mfano. 661 00:34:26,397 --> 00:34:28,980 Hivyo sisi ni kwenda kuchukua baadhi ya thamani x, tunakwenda mraba yake, 662 00:34:28,980 --> 00:34:30,540 tunakwenda kuchukua baadhi ya thamani y na tunakwenda mraba yake. 663 00:34:30,540 --> 00:34:31,780 Kadhalika na kadhalika. 664 00:34:31,780 --> 00:34:35,549 >> Sasa sisi ili kweli kujenga tu nguvu ya 2 kazi kwa ajili ya hii, sawa? 665 00:34:35,549 --> 00:34:37,090 Hivyo tunatarajia kujenga uwezo wa 2 kazi. 666 00:34:37,090 --> 00:34:38,600 Sisi itabidi kukubali mbili. 667 00:34:38,600 --> 00:34:41,489 Tutaweza output-- au tutaweza kurudi aina mbili. 668 00:34:41,489 --> 00:34:46,159 Tutaweza kuchukua matokeo haya kisha kwa mara mbili 669 00:34:46,159 --> 00:34:52,040 nini sisi kweli kuchukua matokeo, ambayo ilikuwa initialized kwa thamani ya moja, 670 00:34:52,040 --> 00:34:53,090 na kuzidisha ni kwa x. 671 00:34:53,090 --> 00:34:56,540 Hivyo katika kiini tuna x mara x hapa. 672 00:34:56,540 --> 00:35:01,860 >> Na hivyo basi naweza basi, kama sisi anaweza kutarajia, kuchukua hii, kukimbia nguvu ya 2, 673 00:35:01,860 --> 00:35:03,680 kutoa yake baadhi ya data, mimi kama 2.0. 674 00:35:03,680 --> 00:35:05,756 Na sisi kupata kuona matokeo hapa 4.0. 675 00:35:05,756 --> 00:35:09,200 Kukimbia nguvu ya 2 juu ya 3.2 na sisi kupata kuona matokeo yetu, 10.24. 676 00:35:09,200 --> 00:35:10,840 Hadi sasa hivyo nzuri, haki? 677 00:35:10,840 --> 00:35:12,070 Sasa sisi ni kufikiri, vizuri, OK. 678 00:35:12,070 --> 00:35:15,530 Sasa mimi kwa kweli haja ya kufanya mengi ya nguvu ya 3. 679 00:35:15,530 --> 00:35:19,180 Hivyo mimi itabidi nakala kuweka wote wa kanuni hii, kubadili jina la kazi kutoka 680 00:35:19,180 --> 00:35:24,440 nguvu ya 2 kwa nguvu ya 3, na kila kitu itakuwa sawa isipokuwa kwa thamani hii 681 00:35:24,440 --> 00:35:26,740 hapa, hii mbalimbali, 1 ... 2. 682 00:35:26,740 --> 00:35:29,590 >> Hivyo badala ya kurudia kitanzi hii mara mbili, 683 00:35:29,590 --> 00:35:31,880 Nataka kurudia kitanzi hii mara tatu. 684 00:35:31,880 --> 00:35:36,330 Hivyo mimi kubadili tu kwamba thamani kutoka 1 kwa 3-- au tuseme 2-3. 685 00:35:36,330 --> 00:35:39,230 Hivyo tena, kanuni huo, hiyo ni mabadiliko tu. 686 00:35:39,230 --> 00:35:40,080 Sasa hii pia kazi. 687 00:35:40,080 --> 00:35:43,860 Nguvu ya 3 zinazotolewa katika baadhi ya thamani ya 2. 688 00:35:43,860 --> 00:35:44,420 Sisi kupata 8. 689 00:35:44,420 --> 00:35:45,370 Hivyo 2 cubed. 690 00:35:45,370 --> 00:35:48,060 Na 3.2 cubed ni 32.768. 691 00:35:48,060 --> 00:35:50,597 Na hivyo sasa hivyo nzuri, haki? 692 00:35:50,597 --> 00:35:52,930 Lakini hopefully hii ni kidogo kidogo ya bendera nyekundu kwa ajili yenu 693 00:35:52,930 --> 00:35:55,530 kwa kuwa sasa tuna baadhi kurudia ya kificho 694 00:35:55,530 --> 00:35:58,800 isipokuwa kwa baadhi ya madogo sana mabadiliko kutoka mmoja hadi mwingine. 695 00:35:58,800 --> 00:36:02,170 Hivyo kuna baadhi ya njia ambayo tuweze kuwa na uwezo ili kurahisisha 696 00:36:02,170 --> 00:36:06,080 tatizo hili, ambapo tunaweza kweli, wakati kukimbia, kufikiri baadhi, 697 00:36:06,080 --> 00:36:11,320 kutoa kwetu baadhi ya kazi ambayo ina just nguvu ya kwamba tunataka. 698 00:36:11,320 --> 00:36:13,960 >> Na kuna wazo hili la kufungwa, ambayo ni kweli, kweli 699 00:36:13,960 --> 00:36:18,180 muhimu katika mazingira ya Swift, na katika lugha nyingine nyingi kama vile. 700 00:36:18,180 --> 00:36:21,580 Lakini pengine utaona kutumika zaidi katika Swift 701 00:36:21,580 --> 00:36:23,650 sababu ni iliyoingia ndani ya lugha 702 00:36:23,650 --> 00:36:28,280 kuliko wewe katika nyingine pia lugha ya kisasa. 703 00:36:28,280 --> 00:36:31,140 Hivyo wazo la kufungwa ni hii, ni kwamba sisi 704 00:36:31,140 --> 00:36:35,430 unaweza kuwa na kazi ambayo ni maana ya kuwa kazi generic, nguvu generic 705 00:36:35,430 --> 00:36:36,860 ya kazi. 706 00:36:36,860 --> 00:36:41,010 >> Na kazi hii ni kwenda kukubali exponent hii kwamba sisi kweli 707 00:36:41,010 --> 00:36:42,990 unataka kujenga. 708 00:36:42,990 --> 00:36:46,550 Hivyo kwa mfano, kwanza kabisa mfano, tulitaka nguvu ya 2. 709 00:36:46,550 --> 00:36:50,050 Hivyo tunataka kutoa nguvu ya na kisha katika mabano 2. 710 00:36:50,050 --> 00:36:52,490 Na sasa taarifa ya nini hii kwa kweli anarudi. 711 00:36:52,490 --> 00:36:57,680 Hii inachukua pembejeo ya utangulizi kuitwa y kwamba ni integer, 712 00:36:57,680 --> 00:37:03,090 na kuirudisha hii mambo kuangalia Jambo katika mabano parentheses-- 713 00:37:03,090 --> 00:37:06,230 mara mbili na kisha arrow mara mbili. 714 00:37:06,230 --> 00:37:10,270 >> Nini maana ya hii ni kwamba mimi nina kwenda na kurudi kazi. 715 00:37:10,270 --> 00:37:13,510 Mimi si kurudi aina nyingine ya data, mimi nina 716 00:37:13,510 --> 00:37:16,350 kwa kweli kurudi kazi ambayo ina parameter hii, kwamba 717 00:37:16,350 --> 00:37:22,680 anapokea mara mbili kama pembejeo na matokeo mara mbili kama thamani ya kurudi. 718 00:37:22,680 --> 00:37:29,750 Na matokeo yake, kwa sababu sasa nimepata kuitwa nguvu ya, kupita katika baadhi ya thamani kwa ajili ya y, 719 00:37:29,750 --> 00:37:32,280 na mimi nina kujenga hii nyingine function-- taarifa kwamba kuna 720 00:37:32,280 --> 00:37:35,980 kazi nyingine hiyo zwa ndani ya this-- ninachofanya 721 00:37:35,980 --> 00:37:37,830 ni siwezi basi mabadiliko kuwa thamani, kwamba mtu 722 00:37:37,830 --> 00:37:41,010 thamani kwamba mimi alikuwa iliyopita 2-3, mimi sasa kufanya hivyo y. 723 00:37:41,010 --> 00:37:42,500 >> Na hili litaendelea. 724 00:37:42,500 --> 00:37:48,530 Hivyo kila wakati kwamba mimi wito nguvu ya, kimsingi nini kinatokea 725 00:37:48,530 --> 00:37:51,030 ni kwamba mimi kupata kurudi kazi. 726 00:37:51,030 --> 00:37:54,310 Taarifa kwamba hapa Nimekuwa defined variable mpya iitwayo mraba. 727 00:37:54,310 --> 00:37:59,340 Nimekuwa kuweka sawa na nguvu ya, zinazotolewa thamani huu 2 kwa nguvu ya. 728 00:37:59,340 --> 00:38:02,030 Na nini hii kurudi ni kazi. 729 00:38:02,030 --> 00:38:05,970 Hivyo mraba, variable mraba, sasa ni ya aina ya kazi 730 00:38:05,970 --> 00:38:11,390 ambayo ina this-- oops, kitabu juu bit-- kidogo kwamba ina saini hii, 731 00:38:11,390 --> 00:38:15,560 kukubali mara mbili na pato mbili. 732 00:38:15,560 --> 00:38:17,330 >> Hivyo sasa nini mimi tumefanya ni mimi wameweza kimsingi 733 00:38:17,330 --> 00:38:22,890 kuundwa kazi kuitwa mraba ambayo anapokea thamani yoyote na mraba yake. 734 00:38:22,890 --> 00:38:24,960 Tunaweza kuona nini kinatokea hapa chini. 735 00:38:24,960 --> 00:38:29,960 Square 3 kwa mfano, ina maana mimi nina kwenda kuchukua thamani ya 3 na mraba yake. 736 00:38:29,960 --> 00:38:32,010 Hivyo jinsi gani hasa gani kazi hii? 737 00:38:32,010 --> 00:38:37,800 Wakati mimi kupita nguvu ya 2-- wakati mimi kupita 2 katika nguvu hii ya kazi, 738 00:38:37,800 --> 00:38:44,430 hii y kutofautiana ni wakazi na kwamba thamani 2. 739 00:38:44,430 --> 00:38:46,340 Na kwamba ni aina ya uliofanyika katika kumbukumbu. 740 00:38:46,340 --> 00:38:49,430 Hiyo ni aina ya like uliofanyika katika hali fulani katika kompyuta, 741 00:38:49,430 --> 00:38:51,980 sisi si kweli huduma ya jinsi au ambapo katika hatua hii. 742 00:38:51,980 --> 00:38:54,692 >> Lakini mimi kurudi kazi hii kuitwa exponentiate. 743 00:38:54,692 --> 00:38:57,400 Na tena, ni kweli haina jambo nini kazi hii inaitwa, 744 00:38:57,400 --> 00:39:01,730 sisi kweli unaweza kuiita chochote, kwamba anapokea mara mbili na anarudi mara mbili, 745 00:39:01,730 --> 00:39:05,640 lakini anatumia y thamani ndani yake. 746 00:39:05,640 --> 00:39:09,290 Hivyo hata kama ni kazi hii, hii kazi exponentiater kwamba 747 00:39:09,290 --> 00:39:13,600 wamekuwa akarudi nyuma yangu variable kwamba mimi kuitwa mraba, 748 00:39:13,600 --> 00:39:17,980 ina zilizomo ndani yake wazo hili la nini y mara. 749 00:39:17,980 --> 00:39:19,070 Na anakumbuka kwamba. 750 00:39:19,070 --> 00:39:24,810 >> Hivyo kila wakati mimi wito kazi kwamba sasa inaitwa mraba, inatumia hiyo. 751 00:39:24,810 --> 00:39:27,990 Lakini hii pia ina maana kwamba naweza kuunda nyingine variable kutumia 752 00:39:27,990 --> 00:39:29,120 nguvu tofauti ya. 753 00:39:29,120 --> 00:39:33,240 Hivyo siwezi kujenga mchemraba variable, kwa mfano, kutoa yake nguvu ya 3. 754 00:39:33,240 --> 00:39:37,230 Sasa mchemraba itakuwa kweli kuchukua baadhi thamani na Cube kuwa na kurudi. 755 00:39:37,230 --> 00:39:39,570 Hivyo tunaweza kuona kwamba mimi kupata thamani 8 nje ya hiyo. 756 00:39:39,570 --> 00:39:42,720 >> Lakini kwamba thamani y ina si iliyopita kwa sababu wao uko 757 00:39:42,720 --> 00:39:44,980 uliofanyika katika aina ya vigezo huru. 758 00:39:44,980 --> 00:39:47,480 Wao ni aina ya uliofanyika katika nafasi huru katika kumbukumbu. 759 00:39:47,480 --> 00:39:51,290 Hivyo mchemraba daima kuwa x kwa nguvu ya 3. 760 00:39:51,290 --> 00:39:55,380 Na mraba daima kuwa x kwa nguvu ya 2, ambayo 761 00:39:55,380 --> 00:39:58,470 ina maana kwamba mraba daima namba mraba, kama mimi kutarajia. 762 00:39:58,470 --> 00:40:01,794 Na mchemraba daima Cubed namba, kama mimi kutarajia. 763 00:40:01,794 --> 00:40:04,960 Hii ina maana kwamba wakati mwingine unaweza kupata aina fulani ya funky kuangalia syntax 764 00:40:04,960 --> 00:40:09,030 ambapo una uwezo wa saa sana chini ya screen hapa, uwezo wa 5. 765 00:40:09,030 --> 00:40:11,410 Na wewe kupita katika matokeo. 766 00:40:11,410 --> 00:40:14,670 You wito kwamba kazi hiyo ni wamekuwa akarudi na idadi 4. 767 00:40:14,670 --> 00:40:17,440 Na hivyo kile kimsingi hii ni 4 kwa nguvu ya tano, 768 00:40:17,440 --> 00:40:20,830 tunaweza kuona matokeo hapo. 769 00:40:20,830 --> 00:40:23,690 Pamoja nami hadi sasa? 770 00:40:23,690 --> 00:40:26,620 >> Hivyo wazo hii inaitwa kufungwa, kwa sababu nini tuko kimsingi kufanya 771 00:40:26,620 --> 00:40:30,610 ni sisi ni encapsulating baadhi data into-- aina 772 00:40:30,610 --> 00:40:33,050 ya enclosing data hii ndani ya kazi na tuko 773 00:40:33,050 --> 00:40:36,240 kuwa na uwezo wa kutumia tena kazi hii. 774 00:40:36,240 --> 00:40:41,480 Sasa syntax hii ingawa unaweza kweli kurahisishwa kiasi kubwa. 775 00:40:41,480 --> 00:40:45,005 Na kuna kura ya uwezekano katika Swift kwa kurahisisha hii. 776 00:40:45,005 --> 00:40:47,780 Na kwamba ni nini aina ya ndio baadae kweli kuangalia. 777 00:40:47,780 --> 00:40:51,400 Hivyo katika 7b kwa mfano, sisi kuchukua hii halisi code huo. 778 00:40:51,400 --> 00:40:54,360 >> Lakini sasa badala ya kweli kufafanua kazi 779 00:40:54,360 --> 00:40:57,910 ndani ya hii nguvu ya kazi na kuwapa jina, 780 00:40:57,910 --> 00:41:00,150 na kisha kurudi jina ya kwamba kazi, ambayo 781 00:41:00,150 --> 00:41:02,357 basi ni kutumika kama sehemu ya kufungwa hii, badala tuko 782 00:41:02,357 --> 00:41:03,440 tu kwenda kurahisisha hilo. 783 00:41:03,440 --> 00:41:06,580 Hatuna haja ya kazi hii jina lake litajwe. 784 00:41:06,580 --> 00:41:09,760 Hivyo hii ni dhana ya kazi bila majina ambapo tunaweza basi 785 00:41:09,760 --> 00:41:15,180 kukubali kama pembejeo, katika mabano hapa, x variable ambayo ni ya aina mbili. 786 00:41:15,180 --> 00:41:17,250 >> Sisi ni kwenda na kurudi aina mbili. 787 00:41:17,250 --> 00:41:19,830 Na kisha keyword, n, ni mwanzo wa kazi hii. 788 00:41:19,830 --> 00:41:22,180 Hivyo taarifa kwamba haya yote ni ndani ya mabano curly 789 00:41:22,180 --> 00:41:25,310 na sisi ni kufafanua majina kazi hapa. 790 00:41:25,310 --> 00:41:29,910 Tu njia rahisi ya kufafanua halisi kitu kimoja. 791 00:41:29,910 --> 00:41:30,810 OK? 792 00:41:30,810 --> 00:41:36,740 Lakini kushikilia, Swift kweli inaruhusu sisi kwenda mbali zaidi na kurahisisha hata zaidi, 793 00:41:36,740 --> 00:41:40,180 kwa sababu kwa kweli hatufanyi huduma ya kwamba parameter hii ni 794 00:41:40,180 --> 00:41:41,700 aitwaye jambo fulani. 795 00:41:41,700 --> 00:41:48,090 Ni kweli unaweza kuitwa chochote na sisi bado unaweza kutumia kwamba parameter kwanza. 796 00:41:48,090 --> 00:41:53,800 >> Kwa hiyo kwa kweli kuna hii maalum aina ya data katika kazi bila majina, 797 00:41:53,800 --> 00:41:57,710 kuna jina hili maalum ya vigezo katika kazi bila majina 798 00:41:57,710 --> 00:42:00,280 kwamba kuanza na dola ishara na wa kuwakilisha 799 00:42:00,280 --> 00:42:03,785 namba parameter, zero indexed, kwa ajili ya kazi hii. 800 00:42:03,785 --> 00:42:05,410 Hivyo kuna michache ya mambo kinachoendelea. 801 00:42:05,410 --> 00:42:08,550 Hapa mimi nina kwenda na kurudi, na kisha curly brace anayewakilisha kazi, 802 00:42:08,550 --> 00:42:09,050 haki? 803 00:42:09,050 --> 00:42:13,920 >> Ilani kwamba mimi si kuwa defined aina parameter au aina kurudi. 804 00:42:13,920 --> 00:42:16,460 Ni kweli anaweza inferred kwa sababu ya saini 805 00:42:16,460 --> 00:42:18,360 ya kazi hii ya awali. 806 00:42:18,360 --> 00:42:20,500 Hivyo tunaweza kuondokana na kwamba kama uwezekano. 807 00:42:20,500 --> 00:42:25,120 Lakini pia naweza kutumia dola ishara sifuri kwa kuwakilisha parameter hii ya kwanza kwamba 808 00:42:25,120 --> 00:42:28,200 kupita katika kazi hii bila majina. 809 00:42:28,200 --> 00:42:31,630 Hivyo kurahisisha hata zaidi. 810 00:42:31,630 --> 00:42:32,750 OK? 811 00:42:32,750 --> 00:42:33,820 Hadi sasa, hivyo nzuri? 812 00:42:33,820 --> 00:42:36,980 >> Sasa ni type-- hii kufanya wewe kumbuka hii dola ishara zero 813 00:42:36,980 --> 00:42:40,130 kuwa tuliona katika brace curly hii kuwa tuliona kidogo tu 814 00:42:40,130 --> 00:42:43,870 iliyopita katika hii Swift sita mfano? 815 00:42:43,870 --> 00:42:46,560 Ilikuwa haki hapa. 816 00:42:46,560 --> 00:42:48,430 Taarifa hiyo hasa nini tuko kuangalia, 817 00:42:48,430 --> 00:42:51,580 ni kwamba sisi kupita ndani ya kazi hii kupasuliwa 818 00:42:51,580 --> 00:42:55,140 kazi bila majina kwamba hundi parameter kwanza 819 00:42:55,140 --> 00:42:57,830 ili kuona kama ni sawa na koloni ishara. 820 00:42:57,830 --> 00:42:59,830 Na kwamba ni nini hasa kinachotokea, ni kwamba wote 821 00:42:59,830 --> 00:43:02,320 tuko doing-- kurudi keyword ni an 822 00:43:02,320 --> 00:43:05,800 katika case-- hii sisi ni kurudi thamani hii ambapo sisi ni kulinganisha 823 00:43:05,800 --> 00:43:10,020 parameter kwanza dhidi ya hii koloni tabia. 824 00:43:10,020 --> 00:43:11,730 Na hivyo kwamba aina ya demystifies hii. 825 00:43:11,730 --> 00:43:17,210 Na wewe ni kwenda kuona kujenga hii mengi katika Swift syntax, hivyo kufanya kuendelea kuwa 826 00:43:17,210 --> 00:43:19,400 katika akili wakati wewe ni kuchukua kuangalia hii. 827 00:43:19,400 --> 00:43:21,970 Sasa tunaweza kupata off reli kidogo 828 00:43:21,970 --> 00:43:25,460 na kwenda kweli dhana kwamba inaonyesha hata baadhi ya zaidi ya nguvu Swift ya. 829 00:43:25,460 --> 00:43:27,950 Unaweza hata kuona baadhi haya katika codes sampuli. 830 00:43:27,950 --> 00:43:29,790 Hivyo kwamba ni kwa nini mimi nina kwenda kuonyesha na wewe. 831 00:43:29,790 --> 00:43:37,260 >> Kimsingi nini tunaweza kufanya ni kwamba, kwanza ya yote, ilikuwa ni aina ya Bila kwa ajili yangu 832 00:43:37,260 --> 00:43:41,710 kutekeleza yote ya kwamba nguvu ya code sababu kama wewe kuagiza Darwin 833 00:43:41,710 --> 00:43:46,490 maktaba, ni kweli pamoja na kazi kuitwa pow kwamba hana huu kwa ajili yenu. 834 00:43:46,490 --> 00:43:50,570 Hivyo tunaweza kurahisisha hivyo hata zaidi na kuwa na nguvu hadi kazi yetu sasa tu 835 00:43:50,570 --> 00:43:54,890 kuwa ajabu mjengo moja ambapo sisi tu kurudi kazi hii bila majina kwamba 836 00:43:54,890 --> 00:44:00,780 anapokea dola ishara 0 kama yake msingi na y kama exponent yake. 837 00:44:00,780 --> 00:44:02,582 >> Lakini tunaweza kupata kweli, kweli dhana wakati sisi 838 00:44:02,582 --> 00:44:04,790 kutambua kwamba Swift ina mengi ya nguvu chini ya Hood. 839 00:44:04,790 --> 00:44:07,010 mengi ya kampuni hiyo tumekuwa kushughulika na, 840 00:44:07,010 --> 00:44:11,270 plus ishara na alama mgawanyiko na mambo yote hayo wewe kawaida 841 00:44:11,270 --> 00:44:15,620 kazi na na aina data katika lugha ya programu, 842 00:44:15,620 --> 00:44:17,600 ni kweli extensible katika Swift. 843 00:44:17,600 --> 00:44:21,460 Hivyo nini maana kwa kuwa sisi Unaweza kufafanua operators yetu wenyewe. 844 00:44:21,460 --> 00:44:26,020 >> Hivyo sasa mimi nimechoka kuandika katika haya yote pow na kisha mabano na kisha 845 00:44:26,020 --> 00:44:26,520 msingi. 846 00:44:26,520 --> 00:44:27,520 Sitaki kufanya hivyo. 847 00:44:27,520 --> 00:44:30,190 Mimi kwa kweli unataka kuwa operator kwamba inaruhusu mimi kufanya hivyo. 848 00:44:30,190 --> 00:44:34,510 Hivyo siwezi kuwaambia Swift kwamba mimi nataka kujenga operator, nyota 849 00:44:34,510 --> 00:44:39,472 star-- kwa njia siwezi kutumia carat kwa sababu carat ni operator kwamba 850 00:44:39,472 --> 00:44:40,680 hana kitu kingine kabisa. 851 00:44:40,680 --> 00:44:42,720 Hivyo mimi si unataka kutatua ya yanapogongana na kwamba. 852 00:44:42,720 --> 00:44:45,750 Na hivyo nini kuona katika aina mbalimbali ya lugha, ikiwa ni pamoja na chatu, 853 00:44:45,750 --> 00:44:48,810 ni kama nyota nyota operator kuwakilisha mashujaa. 854 00:44:48,810 --> 00:44:50,730 >> Hivyo kwamba ni sababu ya pekee kwa nini nimekuwa amefanya hivyo. 855 00:44:50,730 --> 00:44:53,067 Na itakuja kuwa infix aina operator. 856 00:44:53,067 --> 00:44:54,900 Na mimi kuwa kutoa yake baadhi ya habari 857 00:44:54,900 --> 00:44:58,386 kuhusu umuhimu wa hii operator hivyo ni wa kushoto associative. 858 00:44:58,386 --> 00:45:00,260 Ni kama kiasi high precedence ikilinganishwa 859 00:45:00,260 --> 00:45:02,432 kwa summation au kuzidisha. 860 00:45:02,432 --> 00:45:04,140 Ni juu precedence kuliko wote wa wale. 861 00:45:04,140 --> 00:45:04,931 Kadhalika na kadhalika. 862 00:45:04,931 --> 00:45:07,410 Na kisha mimi kufafanua kazi ambayo kwa kweli 863 00:45:07,410 --> 00:45:10,070 inaonyesha nini operator hii haina. 864 00:45:10,070 --> 00:45:14,150 Hivyo kuchukua kwamba nina kushoto upande na upande wa kulia, 865 00:45:14,150 --> 00:45:17,330 ambayo itakuwa labda variable jina bora kwa hili. 866 00:45:17,330 --> 00:45:20,690 Mkono wa kushoto upande na upande wa kulia. 867 00:45:20,690 --> 00:45:26,740 Siwezi kisha kuchukua hii nguvu ya mkono wa kushoto upande wa upande wa kulia 868 00:45:26,740 --> 00:45:28,980 na kurudi thamani hiyo. 869 00:45:28,980 --> 00:45:30,370 Hivyo sasa ni super tamu. 870 00:45:30,370 --> 00:45:33,790 Wote sisi kufanya ni 2 nyota nyota 3 na kwamba ni 2 kwa nguvu ya tatu, 871 00:45:33,790 --> 00:45:35,290 na sisi kupata thamani ya 8. 872 00:45:35,290 --> 00:45:40,280 2 nyota nyota 10 ni 2 kwa Nguvu ya 10, sisi kupata 1,024. 873 00:45:40,280 --> 00:45:43,630 >> Hivyo sasa nguvu yetu ya kazi, ambayo tena ni tofauti, 874 00:45:43,630 --> 00:45:47,030 kwa sababu dhana nzima nyuma ya hili ni kwamba tuna kazi moja ambayo 875 00:45:47,030 --> 00:45:50,700 daima inachukua baadhi ya thamani na humzidishia ubaya wake au tuseme 876 00:45:50,700 --> 00:45:53,240 inachukua exponent ya nguvu sawa. 877 00:45:53,240 --> 00:45:54,300 Hivyo sasa ni hata rahisi. 878 00:45:54,300 --> 00:45:57,070 Hivyo sasa ni dola tu ishara 0 nyota nyota y. 879 00:45:57,070 --> 00:46:01,190 Hatuwezi hata kuwa na matumizi ya pow tena. 880 00:46:01,190 --> 00:46:03,020 >> OK, ambaye ni kupotea? 881 00:46:03,020 --> 00:46:03,700 Je, sisi kufanya OK? 882 00:46:03,700 --> 00:46:05,090 Maswali yoyote juu ya mambo haya? 883 00:46:05,090 --> 00:46:05,815 Yeah? 884 00:46:05,815 --> 00:46:09,500 >> Watazamaji: Wakati you-- [inaudible] funk nguvu ya y mbili. 885 00:46:09,500 --> 00:46:11,441 Hivyo wakati wewe ni kurudi kazi. 886 00:46:11,441 --> 00:46:13,190 DANIEL ARMENDARIZ: Funk nguvu ya y mbili. 887 00:46:13,190 --> 00:46:14,270 Oh yeah, sijui nini idadi y ni. 888 00:46:14,270 --> 00:46:15,708 Pole juu ya hilo. 889 00:46:15,708 --> 00:46:19,420 >> Watazamaji: Kwa nini kurudi kazi [inaudible] enclosure. 890 00:46:19,420 --> 00:46:24,214 Je, si dola sifuri nyota nyota y [inaudible] 891 00:46:24,214 --> 00:46:29,710 kupata kwamba operator na kwamba kurudi mara mbili [inaudible] mara mbili? 892 00:46:29,710 --> 00:46:32,742 >> DANIEL ARMENDARIZ: Hivyo basi mimi kujibu swali lako 893 00:46:32,742 --> 00:46:35,950 jinsi mimi kuelewa ni na unaweza kuniambia kama sikuelewa swali lako. 894 00:46:35,950 --> 00:46:42,850 Hivyo kujenga huu, brace curly ishara ya dola sifuri nyota nyota y, 895 00:46:42,850 --> 00:46:44,280 ni kazi. 896 00:46:44,280 --> 00:46:50,080 Na anapokea parameter kwamba ni kuwakilishwa na hii ni ishara ya dola sifuri. 897 00:46:50,080 --> 00:46:55,830 kurudi keyword ni alisema katika hii mfupi sana, bila majina kazi syntax. 898 00:46:55,830 --> 00:46:57,870 >> Ambayo ina maana kwamba kimsingi nini hii ni kusema 899 00:46:57,870 --> 00:47:01,270 ni kwamba mimi nina kufafanua function-- na kisha mimi itabidi 900 00:47:01,270 --> 00:47:05,320 tu kuiita something-- ambapo mimi na baadhi ya y thamani. 901 00:47:05,320 --> 00:47:08,300 Nina y, ambayo ni mara mbili. 902 00:47:08,300 --> 00:47:10,750 Na mimi nina kurudi mara mbili. 903 00:47:10,750 --> 00:47:19,010 Na mimi kuwa ndani ya kuwa kurudi y-- sorry, Mimi haipaswi kuwa kuitwa hii x y--. 904 00:47:19,010 --> 00:47:20,240 Oh dear, oh dear, oh dear. 905 00:47:20,240 --> 00:47:27,440 X-- nope-- nyota nyota y. 906 00:47:27,440 --> 00:47:29,720 >> Hivyo hii ni tu kilichorahisishwa toleo la hii. 907 00:47:29,720 --> 00:47:33,990 Na hivyo sababu ya kuwa mimi na dola ishara zero ni kwamba kwa kutumia enclosure hii 908 00:47:33,990 --> 00:47:41,050 ina maana kwamba mimi tena na aina pow, au tena kufanya 909 00:47:41,050 --> 00:47:45,570 Nina kufanya kitu kama 3 nyota nyota 2. 910 00:47:45,570 --> 00:47:48,530 Mimi wanaweza tu kuwa na single kazi kuitwa mraba 911 00:47:48,530 --> 00:47:50,820 kwamba daima itachukua baadhi ya thamani kama mchango 912 00:47:50,820 --> 00:47:52,980 na kwa kweli kurudi mraba ya kwamba. 913 00:47:52,980 --> 00:47:56,460 >> Hivyo kusudi lote la kufungwa ni tu aina ya kurejelea ukweli 914 00:47:56,460 --> 00:47:59,920 kwamba mimi daima wanataka kutumia y wakati wowote Mimi wito kazi hiyo kama nguvu 915 00:47:59,920 --> 00:48:01,710 wakati kuchukua exponent hii. 916 00:48:01,710 --> 00:48:04,650 Hivyo kurudi basi, kazi ambayo anapokea 917 00:48:04,650 --> 00:48:08,460 mara mbili, ambayo ni ya msingi, na kurudi matokeo ya exponent 918 00:48:08,460 --> 00:48:10,740 ni muhimu hapa. 919 00:48:10,740 --> 00:48:12,790 Na kwamba ni tofauti kubwa. 920 00:48:12,790 --> 00:48:14,430 Kulikuwa na kidogo tu ya kushamiri. 921 00:48:14,430 --> 00:48:17,970 >> Hii si tofauti yoyote ikilinganishwa na mifano ya awali, 922 00:48:17,970 --> 00:48:20,530 lakini ilikuwa kidogo tu ya a kushamiri tunaweza kweli 923 00:48:20,530 --> 00:48:24,500 kujenga operator katika Swift na kwa kweli kufanya mambo na hayo, 924 00:48:24,500 --> 00:48:26,396 ambayo ni aina ya kitu baridi. 925 00:48:26,396 --> 00:48:27,520 Je, mimi kujibu swali lako? 926 00:48:27,520 --> 00:48:28,390 Sweet. 927 00:48:28,390 --> 00:48:31,350 Kitu kingine kabla ya kuendelea? 928 00:48:31,350 --> 00:48:33,570 OK. 929 00:48:33,570 --> 00:48:36,430 >> Sasa hii aina ya anaomba Swali ni that-- vizuri OK, 930 00:48:36,430 --> 00:48:40,870 sasa tuna uwezo kwa kazi ya kurudishwa. 931 00:48:40,870 --> 00:48:48,950 Je, sisi pia kupitisha kazi kama data au kama vigezo na kazi nyingine? 932 00:48:48,950 --> 00:48:50,710 Na kwa kweli tunaweza. 933 00:48:50,710 --> 00:48:53,480 Basi hebu kusema kwamba tuna yote ya kificho huo. 934 00:48:53,480 --> 00:48:56,120 Tuna variable mraba ambayo mraba kanuni hii. 935 00:48:56,120 --> 00:48:59,320 Na tuna mchemraba variable ambayo mchemraba baadhi ya data. 936 00:48:59,320 --> 00:49:02,440 Na sisi kweli unataka kuomba mbalimbali ya namba. 937 00:49:02,440 --> 00:49:06,870 >> Hivyo kile sisi kujaribiwa kufanya, bila shaka, ambayo ni hakika halali, 938 00:49:06,870 --> 00:49:15,430 ni iterate juu ya orodha hii ya namba na kuomba kazi yangu mraba na mchemraba 939 00:49:15,430 --> 00:49:22,270 na kupata orodha mbili mpya kama matokeo kuwa ni orodha hii ya awali ya mraba 940 00:49:22,270 --> 00:49:24,970 na cubed, kwa mtiririko huo. 941 00:49:24,970 --> 00:49:26,880 Kikamilifu kukubaliwa. 942 00:49:26,880 --> 00:49:29,130 Lakini nini ni jambo kwamba sisi kuona hapa ni kwamba tuna, 943 00:49:29,130 --> 00:49:31,310 tena, kurudia ya kanuni zetu. 944 00:49:31,310 --> 00:49:34,310 Na kuna labda nafasi kwa ajili yetu ili kurahisisha hii kidogo. 945 00:49:34,310 --> 00:49:41,260 Nini kama kuna njia kwa sisi kweli daima iterate juu ya baadhi ya orodha 946 00:49:41,260 --> 00:49:45,450 na tu kupita kwa hii kichawi kazi variable kwamba 947 00:49:45,450 --> 00:49:47,350 inawakilisha kazi kwamba tunataka kuomba 948 00:49:47,350 --> 00:49:50,336 kwa kila kitu moja katika orodha hii. 949 00:49:50,336 --> 00:49:53,210 Hii huleta up dhana ya nini wameitwa kazi kiwango cha juu. 950 00:49:53,210 --> 00:49:57,150 Na kwamba kimsingi ni nini hii ni, ni kwamba tunaweza kujenga kazi. 951 00:49:57,150 --> 00:50:00,210 >> Na katika kesi hii ni kuitwa mapper, tu kutoa jina, tu 952 00:50:00,210 --> 00:50:02,510 ramani juu ya kila item moja katika orodha. 953 00:50:02,510 --> 00:50:06,191 Ambapo mimi kuchukua orodha na mimi kuchukua kazi. 954 00:50:06,191 --> 00:50:08,440 Na kazi hiyo, bila shaka, ina sahihi fulani. 955 00:50:08,440 --> 00:50:11,980 Ni anapokea kama parameter mbili na itakuwa pato ni mara mbili. 956 00:50:11,980 --> 00:50:14,310 Na matokeo yote ya kazi hii ni kwenda 957 00:50:14,310 --> 00:50:18,921 kuwa orodha mpya ambayo ni ya aina mbili. 958 00:50:18,921 --> 00:50:19,420 OK? 959 00:50:19,420 --> 00:50:22,650 >> Na kile Mimi naenda kufanya ni kuomba hii f kazi 960 00:50:22,650 --> 00:50:24,960 kwa kila kipengele katika orodha yangu. 961 00:50:24,960 --> 00:50:30,280 Na reply-- na badala kurudi hii mpya orodha kama matokeo, ambayo ni kweli cool. 962 00:50:30,280 --> 00:50:31,820 Sasa siwezi kupita kazi kote. 963 00:50:31,820 --> 00:50:35,290 Na hili wazo la juu ili kazi ni muhimu. 964 00:50:35,290 --> 00:50:39,260 Na mapper hii ni kweli tu utekelezaji mtu maskini 965 00:50:39,260 --> 00:50:43,130 ya kazi ambayo imejengwa katika Swift kuitwa ramani. 966 00:50:43,130 --> 00:50:45,690 Na ni gani hasa hii, pengine hata kidogo bora. 967 00:50:45,690 --> 00:50:48,260 >> Hii ni aina ya generic, kilichorahisishwa toleo kwamba 968 00:50:48,260 --> 00:50:51,270 inaruhusu sisi kuona dhana kwamba inatumika hapa. 969 00:50:51,270 --> 00:50:54,630 Sasa kuangalia njia ambayo mimi unaweza kweli kutumia mraba yangu 970 00:50:54,630 --> 00:50:57,850 na yangu mchemraba kazi orodha hii ya namba. 971 00:50:57,850 --> 00:50:58,780 Mimi kukimbia mapper yangu. 972 00:50:58,780 --> 00:51:00,280 Mimi kutoa kwa ni orodha yangu ya namba. 973 00:51:00,280 --> 00:51:02,155 Mimi kutoa kwa ni kazi hiyo ni kwenda 974 00:51:02,155 --> 00:51:04,170 kuomba kwa kila mmoja wa fahirisi hizo. 975 00:51:04,170 --> 00:51:07,120 Na ni kwenda kuwa pato kama matokeo. 976 00:51:07,120 --> 00:51:11,810 Nami kupata kuona kwamba nimepata squared na Cubed namba yangu kama matokeo. 977 00:51:11,810 --> 00:51:14,660 >> Na bila shaka mapper itachukua aina yoyote ya kazi bila majina. 978 00:51:14,660 --> 00:51:17,640 Tunaweza hata kuona kwamba nimepata kuundwa mpya kazi bila majina kwamba 979 00:51:17,640 --> 00:51:20,220 tu inachukua baadhi parameter na mgawanyiko hivyo kwa 2. 980 00:51:20,220 --> 00:51:24,340 Na tunaweza kuona kwamba mimi wameweza, kwa kweli, kugawanywa orodha yangu na 2 badala yake. 981 00:51:24,340 --> 00:51:25,250 Cool? 982 00:51:25,250 --> 00:51:27,340 Hadi sasa, hivyo nzuri? 983 00:51:27,340 --> 00:51:29,650 Haki zote, sasa hebu kurudi na wazo hili. 984 00:51:29,650 --> 00:51:36,160 Hebu kutekeleza hii nyuma katika mazingira ya gradebook. 985 00:51:36,160 --> 00:51:41,860 >> Na kama mimi kufanya hivyo, tunaweza kuona kwamba naweza kuomba mbalimbali ya options-- haya 986 00:51:41,860 --> 00:51:44,330 au aina mbalimbali ya hizi kazi juu ili 987 00:51:44,330 --> 00:51:51,450 kwa kweli kurahisisha uwezo wangu kufanya aina ya mambo katika orodha ya namba. 988 00:51:51,450 --> 00:51:53,660 Hivyo kwa mfano, kama mimi kuchukua orodha ya namba, 989 00:51:53,660 --> 00:51:57,060 moja ya kazi ya juu ili kwamba ipo inaitwa kupunguza. 990 00:51:57,060 --> 00:52:00,080 Nini kupunguza gani badala kuliko ramani, ni kupunguzwa mapenzi 991 00:52:00,080 --> 00:52:03,710 kuchukua mambo mawili katika orodha, itachukua baadhi ya kazi kwamba 992 00:52:03,710 --> 00:52:07,420 inalinganishwa mambo mawili ya orodha, na itakuwa basi 993 00:52:07,420 --> 00:52:09,610 aina ya output-- pato la kazi ambayo 994 00:52:09,610 --> 00:52:13,790 itakuwa kipengele kingine kwamba wewe basi kulinganisha na wengine. 995 00:52:13,790 --> 00:52:18,190 >> Hivyo unaweza kutumia hii ili kweli Jumla ya namba katika orodha yako. 996 00:52:18,190 --> 00:52:20,640 Kwa mfano, kama wewe alikuwa orodha ya 1, 2, 3, 4, 5, 997 00:52:20,640 --> 00:52:22,940 wewe kuchukua mambo ya kwanza, 1 na 2. 998 00:52:22,940 --> 00:52:27,270 Unaweza kuomba kwa hiyo kuongeza kazi ambayo inachukua mambo hayo mawili 999 00:52:27,270 --> 00:52:30,980 na mtemi nje moja ya mambo hayo, ambayo itakuwa thamani 3. 1000 00:52:30,980 --> 00:52:35,684 Kisha sisi kuchukua thamani 3 na ijayo kipengele cha orodha, muhtasari hizo mbili, 1001 00:52:35,684 --> 00:52:37,100 na kisha kuendelea chini orodha. 1002 00:52:37,100 --> 00:52:40,410 >> Sisi ni kupunguza orodha ya thamani moja. 1003 00:52:40,410 --> 00:52:42,700 Na tu hivyo hutokea kwamba pamoja na alama 1004 00:52:42,700 --> 00:52:44,670 ni operator, tu kama sisi tu kuona. 1005 00:52:44,670 --> 00:52:47,500 Operator Hii ni kweli kazi ambayo 1006 00:52:47,500 --> 00:52:53,100 ina just orodha hii kwamba sisi wanataka, badala mali hizi 1007 00:52:53,100 --> 00:52:54,770 kwamba tunataka unataka. 1008 00:52:54,770 --> 00:52:56,760 Hivyo mimi kuhimiza wewe tuangalie hii. 1009 00:52:56,760 --> 00:52:59,290 Nataka aina ya hoja juu ya kutoka kwa baadhi ya kanuni hii 1010 00:52:59,290 --> 00:53:05,330 ili tuweze kweli kuangalia baadhi halisi, halisi, Swift kweli katika Xcode, 1011 00:53:05,330 --> 00:53:06,880 katika iOS maendeleo. 1012 00:53:06,880 --> 00:53:08,630 Lakini tuangalie hii na kuona kama unaweza 1013 00:53:08,630 --> 00:53:11,171 Hazrat kupitia nini kinaendelea na baadhi ya ili haya ya juu 1014 00:53:11,171 --> 00:53:13,790 kazi ikiwa ni pamoja na filter, kupunguza, na wewe utakuwa hata 1015 00:53:13,790 --> 00:53:17,060 kuona mahali fulani katika hapa ramani pia. 1016 00:53:17,060 --> 00:53:17,910 Ni haki hapa. 1017 00:53:17,910 --> 00:53:20,410 Ambapo itachukua mlolongo ya darasa na kwa kweli 1018 00:53:20,410 --> 00:53:24,230 ramani yao kwa kutumia kubadili kujenga, ambayo unaweza kutambua kutoka C, 1019 00:53:24,230 --> 00:53:27,640 lakini kwa kweli ni mengi zaidi nguvu zaidi kuliko kubadili kujenga 1020 00:53:27,640 --> 00:53:29,810 kwamba tuna katika C. 1021 00:53:29,810 --> 00:53:31,930 >> Na tutaweza kuomba kwamba kila kipengele katika orodha 1022 00:53:31,930 --> 00:53:34,540 na kwa kweli kutoa barua daraja ya kila 1023 00:53:34,540 --> 00:53:40,780 ya wale darasa kutumia dhana zote hizi kwamba tumekuwa tu kuongelea kabla. 1024 00:53:40,780 --> 00:53:44,760 Sasa hebu sidestep kwa ajili tu dakika na majadiliano juu ya structs. 1025 00:53:44,760 --> 00:53:49,680 Na hivyo structs ni kusubiri katika C kwamba sisi walikuwa na uwezo wa kufafanua aina mpya ya data. 1026 00:53:49,680 --> 00:53:53,590 Structs zipo ndani ya Swift. 1027 00:53:53,590 --> 00:53:58,980 Na hivyo kufanya mengi ya constructs nyingine kuitwa enums na madarasa, kwamba kweli 1028 00:53:58,980 --> 00:54:01,175 kuchukua wazo hili na mzima mbalimbali ngazi. 1029 00:54:01,175 --> 00:54:05,300 >> Na kimsingi ni njia tu ya kufafanua aina mpya ya data. 1030 00:54:05,300 --> 00:54:11,010 Hivyo kama wewe get-- kama wewe kuja hela darasani au structs au enums, 1031 00:54:11,010 --> 00:54:13,290 hawapati kuchanganyikiwa kwa hilo. 1032 00:54:13,290 --> 00:54:16,280 Ni njia tu ya kufafanua hasa baadhi ya aina mpya ya data. 1033 00:54:16,280 --> 00:54:20,230 Na hii ni kweli muhimu wakati tunazungumzia iOS programu ya maendeleo 1034 00:54:20,230 --> 00:54:24,630 sababu kila kitu ambacho ipo ndani ya programu iOS 1035 00:54:24,630 --> 00:54:27,460 kimsingi ni kitu ya aina fulani. 1036 00:54:27,460 --> 00:54:31,980 Na kitu ni kimsingi darasani au enum au struct. 1037 00:54:31,980 --> 00:54:34,760 >> Hivyo katika kesi hii mimi nina kufafanua aina mpya ya data 1038 00:54:34,760 --> 00:54:37,740 kwamba mimi nina tathmini wito kwamba baadhi ya mali, ikiwa ni pamoja na 1039 00:54:37,740 --> 00:54:41,040 jina na mlolongo wa darasa. 1040 00:54:41,040 --> 00:54:43,470 Hivyo aina moja ya tathmini ili nipate kuwa katika akili 1041 00:54:43,470 --> 00:54:44,760 itakuwa Quizzes, kwa mfano. 1042 00:54:44,760 --> 00:54:48,180 Napenda wanataka kuwa tathmini hiyo ilikuwa jaribio 1043 00:54:48,180 --> 00:54:51,460 na kwamba alikuwa na aina ya darasa kuhusishwa na kwamba, kwa jaribio moja, 1044 00:54:51,460 --> 00:54:52,840 Jaribio mbili, kadhalika na kadhalika. 1045 00:54:52,840 --> 00:54:55,720 >> Au nipate kuwa aina tofauti ya tathmini kwa seti tatizo. 1046 00:54:55,720 --> 00:54:56,650 Na naweza kufanya mambo. 1047 00:54:56,650 --> 00:54:59,860 Siwezi kweli kuwa kazi ndani ya aina hii 1048 00:54:59,860 --> 00:55:02,645 ya data, ambayo ni sasa inaitwa mbinu. 1049 00:55:02,645 --> 00:55:04,520 Hivyo kama wewe milele kuona neno mbinu, ni kweli 1050 00:55:04,520 --> 00:55:08,190 ni tu kazi ambayo inatumika darasani maalum sana, 1051 00:55:08,190 --> 00:55:10,100 au aina maalum sana ya data. 1052 00:55:10,100 --> 00:55:12,350 Ni inaruhusu sisi kurekebisha data ndani. 1053 00:55:12,350 --> 00:55:15,510 >> Hivyo kwa maneno mengine, kama nataka kuongeza daraja na tathmini yangu, 1054 00:55:15,510 --> 00:55:18,630 basi yote mimi haja ya kufanya ni append alama kwamba alikuwa pembejeo 1055 00:55:18,630 --> 00:55:22,660 kwa kazi hii kwa mali yangu ndani. 1056 00:55:22,660 --> 00:55:25,880 Kuna kujenga mwingine nadhifu hapa katika Swift, ambayo ni hii dot dot dot 1057 00:55:25,880 --> 00:55:31,780 operator, ambayo ina maana kwamba alama unaweza sasa kukubali idadi yoyote ya integers. 1058 00:55:31,780 --> 00:55:33,940 Na alama itakuwa safu ya integers kwamba 1059 00:55:33,940 --> 00:55:39,030 wamekuwa kupita kwa kazi yangu, ambayo ina maana kwamba siwezi kufanya mambo kama haya. 1060 00:55:39,030 --> 00:55:42,360 >> Siwezi kufanya kuongeza darasa na tu kutoa namba holela wa integers ndani yake 1061 00:55:42,360 --> 00:55:47,420 na kwa kweli zitatolewa safu ya maadili hayo katika kazi yangu 1062 00:55:47,420 --> 00:55:50,270 au katika njia yangu, kama ilivyo. 1063 00:55:50,270 --> 00:55:54,040 Sasa hii ni muhimu kwa sababu kila kitu katika Xcode, kila kitu katika iOS, 1064 00:55:54,040 --> 00:55:56,250 kwa kweli ni kitu. 1065 00:55:56,250 --> 00:55:59,630 Hivyo kuendelea kuwa katika akili wakati sisi kuivunja Xcode wazi 1066 00:55:59,630 --> 00:56:04,890 na ruka mbele zaidi iOS matoleo mawili na tatu 1067 00:56:04,890 --> 00:56:08,820 na kwa kweli kwenda kwenye toleo nne. 1068 00:56:08,820 --> 00:56:11,940 >> Na tena, haya yote mapenzi kuwa posted kwenye ukurasa semina. 1069 00:56:11,940 --> 00:56:16,980 iOS nne ni aina ya full barugumu utekelezaji wa programu ya msingi sana. 1070 00:56:16,980 --> 00:56:23,920 Na nini programu hii haina ni mizigo UI, ambayo inaonekana kama hii. 1071 00:56:23,920 --> 00:56:28,680 Tena, kama sisi bonyeza storyboard tunaweza kuona kwamba hii ni nini inaonekana kama. 1072 00:56:28,680 --> 00:56:31,320 Hii ni UI. 1073 00:56:31,320 --> 00:56:33,676 Ina cheo saa ya juu sana. 1074 00:56:33,676 --> 00:56:34,800 Nimekuwa kuitwa ni mtandao nyumba ya sanaa. 1075 00:56:34,800 --> 00:56:38,400 >> Katikati kuna kipengele kuitwa UI picha maoni. 1076 00:56:38,400 --> 00:56:41,340 Na chini kuna toolbar na kifungo moja ambayo 1077 00:56:41,340 --> 00:56:46,850 ina nafasi stretchy kwamba kuruhusu kituo cha katikati ya toolbar hii. 1078 00:56:46,850 --> 00:56:51,780 Na kile kinachotokea ni kwamba wakati huu mizigo yake downloads JSON faili kwamba 1079 00:56:51,780 --> 00:56:55,540 zilizomo kwenye server mahali pengine, parses kwamba JSON faili, 1080 00:56:55,540 --> 00:56:58,130 na JSON faili inaonekana kidogo kama hii. 1081 00:56:58,130 --> 00:57:02,770 1082 00:57:02,770 --> 00:57:06,230 Faili JSON inaonekana kama hii. 1083 00:57:06,230 --> 00:57:08,650 Kuna ni. 1084 00:57:08,650 --> 00:57:11,730 >> Ina jina la albamu na ina safu ya photos. 1085 00:57:11,730 --> 00:57:13,490 Kila moja ya picha hizo jina na pia 1086 00:57:13,490 --> 00:57:19,460 URL wenyewe kwamba kuwakilisha jpeg toleo la kwamba picha ya mtu binafsi. 1087 00:57:19,460 --> 00:57:24,780 Hivyo kile kutokea ni kwamba wakati mpango huu mizigo, ni downloads JSON faili, 1088 00:57:24,780 --> 00:57:30,590 parses yake, unaweka yote haya katika sawa wa safu katika iOS 1089 00:57:30,590 --> 00:57:33,020 programu ya maendeleo, ambayo ni nsarray. 1090 00:57:33,020 --> 00:57:37,520 Na kisha mimi wanaweza kupakia data hii katika maombi 1091 00:57:37,520 --> 00:57:41,100 na mzigo juu ya screen yangu. 1092 00:57:41,100 --> 00:57:44,760 >> Kuna picha kwamba alikuwa kubeba na kifungo chini sana. 1093 00:57:44,760 --> 00:57:49,190 Kama mimi click Kupata Next Image, basi pulls picha kwamba kutoka katika mtandao 1094 00:57:49,190 --> 00:57:53,370 na nafasi picha kwamba katika UI picha maoni. 1095 00:57:53,370 --> 00:57:57,820 Hivyo unaweza kushusha hii na kwa kweli tuangalie kwenye kompyuta yako. 1096 00:57:57,820 --> 00:58:00,940 Na kujenga na kwa kweli kukusanya yake kwenye kifaa yako. 1097 00:58:00,940 --> 00:58:04,710 Lakini kimsingi mchakato ilikuwa hii, kujenga storyboard-- 1098 00:58:04,710 --> 00:58:08,080 au tuseme si create-- lakini kuchagua storyboard. 1099 00:58:08,080 --> 00:58:15,030 Na kwa kweli we'll-- kama huna mind-- tutaweza kuchukua michache tu ya sekunde 1100 00:58:15,030 --> 00:58:18,390 kwa kweli kuonyesha jinsi hii ilifanyika. 1101 00:58:18,390 --> 00:58:22,430 1102 00:58:22,430 --> 00:58:27,820 >> Tu ili jinsi gani tunaweza kweli kufanikisha hili ni alifanya kidogo zaidi 1103 00:58:27,820 --> 00:58:28,360 dhahiri. 1104 00:58:28,360 --> 00:58:30,651 Single maoni maombi, mimi nina kwenda kuwaita semina hii 1105 00:58:30,651 --> 00:58:35,330 nne anayewakilisha hii simu fulani. 1106 00:58:35,330 --> 00:58:36,335 Ila juu ya desktop. 1107 00:58:36,335 --> 00:58:39,890 1108 00:58:39,890 --> 00:58:42,110 OK, kwenda bonyeza storyboard. 1109 00:58:42,110 --> 00:58:47,030 Na kile Mimi naenda kufanya ni kupata picha maoni yangu, 1110 00:58:47,030 --> 00:58:50,940 Drag ni kwenye user yangu interface na kituo cha hivyo. 1111 00:58:50,940 --> 00:58:54,850 Sasa tu centering ni bahati mbaya si kwenda kufanya mengi nzima, 1112 00:58:54,850 --> 00:58:58,680 isipokuwa kwa screen yaani ukubwa huu halisi. 1113 00:58:58,680 --> 00:59:03,950 >> Hivyo tunaweza kushawishi wenyewe wa kuwa na kubonyeza hii mara mbili jambo mduara, 1114 00:59:03,950 --> 00:59:08,290 kuleta chini pop hii up menu hapa na kubadilisha 1115 00:59:08,290 --> 00:59:11,110 preview, ambapo tutaweza kweli kupata nafasi ya preview jinsi 1116 00:59:11,110 --> 00:59:13,530 hii kwa kweli kuangalia juu ya vifaa vingine. 1117 00:59:13,530 --> 00:59:16,500 Kama tunaweza kuona, sisi kufanya hata kuona juu ya kesi hii. 1118 00:59:16,500 --> 00:59:18,500 Hivyo nina kwenda kuifunga kwa sasa. 1119 00:59:18,500 --> 00:59:22,100 >> Na mimi nina kwenda kuchagua icon hii chini sana 1120 00:59:22,100 --> 00:59:23,910 chini sehemu ya screen. 1121 00:59:23,910 --> 00:59:26,584 Ni anasema kutatua Auto Layout Masuala. 1122 00:59:26,584 --> 00:59:28,000 Sorry, ni kukatwa chini. 1123 00:59:28,000 --> 00:59:36,360 Lakini kama mimi bonyeza kwamba, kile ambacho mimi kupata ni pop hii up-- kwenda mbali. 1124 00:59:36,360 --> 00:59:39,740 1125 00:59:39,740 --> 00:59:51,220 Nini mimi kupata ni pop up hii kwamba inaruhusu mimi kuongeza vikwazo missing. 1126 00:59:51,220 --> 00:59:53,780 Na kwa kufanya hivyo ni kisha aina ya lock 1127 00:59:53,780 --> 00:59:56,640 katika kituo cha fungu la screen kama mimi kutarajia. 1128 00:59:56,640 --> 01:00:00,520 >> Sasa ili kupata kifungo hii juu ya juu yake, mimi haja ya kwenda kwa Mhariri. 1129 01:00:00,520 --> 01:00:05,010 Kwenda Embed Katika na click Navigation Mdhibiti. 1130 01:00:05,010 --> 01:00:08,900 Nini kwamba kufanya ni kwamba kuongeza hii yote sehemu nyingine kwa hiyo, 1131 01:00:08,900 --> 01:00:11,310 lakini kwa kweli itakuwa kiungo nyuma ya UI yangu ya awali. 1132 01:00:11,310 --> 01:00:14,450 Na maelezo, tena, hatufanyi kweli wanahitaji huduma ya juu hivi sasa. 1133 01:00:14,450 --> 01:00:16,710 Lakini mimi nataka kuwa na toolbar chini sana. 1134 01:00:16,710 --> 01:00:18,530 Hivyo mimi itabidi kuangalia Shows Toolbar. 1135 01:00:18,530 --> 01:00:21,870 >> Na hii inatoa ndani ya maoni yangu, ambayo sasa ni mahali pengine, 1136 01:00:21,870 --> 01:00:23,900 tunaweza kuona ni wanaohusishwa zaidi ya hapa. 1137 01:00:23,900 --> 01:00:28,710 Ni sasa inatoa toolbar chini ya UI yangu. 1138 01:00:28,710 --> 01:00:34,770 Hivyo sasa, badala ya kuchagua picha mtazamo, siwezi kupata studio, 1139 01:00:34,770 --> 01:00:41,140 au tuseme toolbar-- hebu angalia, ambapo ni kwamba? 1140 01:00:41,140 --> 01:00:41,890 Nini ni kuitwa? 1141 01:00:41,890 --> 01:00:49,760 bidhaa button-- bar-- item-- sorry-- bar kifungo item. 1142 01:00:49,760 --> 01:00:54,590 Plop kwamba kuna na kuomba wanandoa nafasi ya rahisi upande 1143 01:00:54,590 --> 01:00:57,429 kwa kweli kituo cha hiyo. 1144 01:00:57,429 --> 01:00:58,970 Hivyo sasa nimekuwa kuundwa UI yangu, kimsingi. 1145 01:00:58,970 --> 01:01:01,428 Na naweza kuwapa jina na kubonyeza mara mbili juu sana 1146 01:01:01,428 --> 01:01:04,880 hapa na kusema mtandao nyumba ya sanaa na kadhalika. 1147 01:01:04,880 --> 01:01:08,100 Sasa tena, haya ni mambo ambazo zipo kwa wenyewe. 1148 01:01:08,100 --> 01:01:10,400 Na mimi kuwa kuungana yao na kanuni yangu 1149 01:01:10,400 --> 01:01:14,297 Siwezi kufanya na tena kuleta up hii mara mbili mduara icon, 1150 01:01:14,297 --> 01:01:15,380 kubadilisha kutoka hakikisho. 1151 01:01:15,380 --> 01:01:18,950 Ambayo, kwa njia, sasa tunaweza kuona ni nicely katikati na kuangalia nzuri 1152 01:01:18,950 --> 01:01:23,720 juu ya aina ya vifaa. 1153 01:01:23,720 --> 01:01:27,280 >> Kubadili moja kwa moja, ambayo itakuwa kuleta ViewController code. 1154 01:01:27,280 --> 01:01:29,030 Na sasa sehemu hii ni muhimu. 1155 01:01:29,030 --> 01:01:34,590 Ili kwa wewe kuungana haya mambo mawili, kanuni yako kwa UI, 1156 01:01:34,590 --> 01:01:36,680 kuchagua bidhaa kwamba unataka kuunganisha. 1157 01:01:36,680 --> 01:01:39,570 Hivyo katika kesi hii, sisi kweli wanataka encode 1158 01:01:39,570 --> 01:01:43,520 kubadilisha sura hiyo zilizomo ndani ya hii mtazamo UI picha. 1159 01:01:43,520 --> 01:01:47,070 Hivyo kama wewe kudhibiti click kutoka picha mtazamo na Drag, 1160 01:01:47,070 --> 01:01:51,960 utasikia taarifa kwamba wewe kupata bar kidogo, wakati wewe basi kwenda ya kila kitu pop hii 1161 01:01:51,960 --> 01:01:53,550 up kutokea. 1162 01:01:53,550 --> 01:01:56,470 >> Na inasema kwamba sisi kujenga uhusiano. 1163 01:01:56,470 --> 01:01:59,300 Na kutoka hapa nataka kuwapa jina, kitu kama nyumba ya sanaa. 1164 01:01:59,300 --> 01:02:00,240 Hit Enter. 1165 01:02:00,240 --> 01:02:03,040 Na kwa kweli hii inatoa variable kuitwa nyumba ya sanaa 1166 01:02:03,040 --> 01:02:08,600 kwamba naweza kisha rejea katika code yangu kubadilisha picha, kwa mfano. 1167 01:02:08,600 --> 01:02:10,430 Hivyo ni jinsi gani kwamba kanuni kweli kuangalia? 1168 01:02:10,430 --> 01:02:13,030 Naam tena, mimi sitaki kutumia muda sana juu yake. 1169 01:02:13,030 --> 01:02:15,430 Na mimi kuhimiza wewe kushusha ni na kuangalia. 1170 01:02:15,430 --> 01:02:18,330 Lakini mmoja wa watu wengi kipengele muhimu ni kanuni 1171 01:02:18,330 --> 01:02:20,980 kwamba kweli fetches picha. 1172 01:02:20,980 --> 01:02:26,470 >> Hivyo katika kesi hii nataka kupata ndani ya picha yangu 1173 01:02:26,470 --> 01:02:28,520 safu, ambayo ni zilizomo ndani ya darasa langu. 1174 01:02:28,520 --> 01:02:33,390 Nataka kufafanua jina na URL hiyo imekuwa parsed nje ya JSON hii. 1175 01:02:33,390 --> 01:02:39,810 Kweli kuuliza kifaa kupata URL, kuchota URL kutoka hii, 1176 01:02:39,810 --> 01:02:44,060 na kisha kuchota data kutoka yaliyomo ya kwamba URL. 1177 01:02:44,060 --> 01:02:49,430 Kisha kuwabadili data kwamba katika mfano kwa kupita ndani UI picha. 1178 01:02:49,430 --> 01:02:52,880 Hivyo tena, hizi ni aina tofauti ya vitu, aina mbalimbali ya madarasa. 1179 01:02:52,880 --> 01:02:58,410 >> Na kisha naweza kisha kuweka yangu gallery.image sawa na data hiyo. 1180 01:02:58,410 --> 01:03:00,750 Na hiyo ni aina ya nyama yake kwamba kweli ni kisha 1181 01:03:00,750 --> 01:03:08,250 uwezo wa kubadilisha data from-- mabadiliko picha kutoka kwa mmoja hadi mwingine. 1182 01:03:08,250 --> 01:03:10,660 Hivyo tena, hopefully sasa mengi ya constructs 1183 01:03:10,660 --> 01:03:12,240 itakuwa mantiki kidogo zaidi. 1184 01:03:12,240 --> 01:03:15,260 Taarifa kwamba kuna baadhi ya pointi Moderators hapa. 1185 01:03:15,260 --> 01:03:19,810 pointi Moderators ni kimsingi kuhusiana na optionals. 1186 01:03:19,810 --> 01:03:22,657 >> Nini mimi kimsingi akisema ni kwamba bila hata kuangalia 1187 01:03:22,657 --> 01:03:24,490 kuona kama kuna data ndani ya hii hiari, 1188 01:03:24,490 --> 01:03:27,140 Mimi nina kwenda mbele na kudhani kwamba kuna na unwrap yake. 1189 01:03:27,140 --> 01:03:31,340 Kumbuka kwamba sisi kutumika mfano wa aina ya mfuko kwa ajili ya optionals 1190 01:03:31,340 --> 01:03:34,700 na tunahitaji unwrap mfuko na kuvuta data nje. 1191 01:03:34,700 --> 01:03:37,570 Moderators kumweka vikosi kwamba kweli kutokea. 1192 01:03:37,570 --> 01:03:39,590 >> Lakini najua kwamba hii ni salama kwa sababu mimi checked 1193 01:03:39,590 --> 01:03:42,070 kuona kama picha data ni sawa kwa nil, Nimekuwa kwa kweli kuangalia 1194 01:03:42,070 --> 01:03:45,420 kuona kama hiari ilikuwa, kwa kweli, alishindwa. 1195 01:03:45,420 --> 01:03:47,110 Kama kwamba alikuwa, kwa kweli, alishindwa tayari. 1196 01:03:47,110 --> 01:03:52,450 Na hivyo mimi nina uhakika kwamba mara moja mimi kupata hii uhakika Mimi unaweza salama unwrap data hiyo. 1197 01:03:52,450 --> 01:03:55,710 Unaweza pia kuona katika aina ya alama ya swali. 1198 01:03:55,710 --> 01:03:59,100 Hivyo kama sisi kitabu chini ambapo mimi haja kwa kweli Hazrat data. 1199 01:03:59,100 --> 01:04:01,850 >> Hivyo si kuwa na kuweka mbali na hizi aina ya majina ndefu. 1200 01:04:01,850 --> 01:04:06,580 Unaweza kupata katika Apple developer tovuti mengi 1201 01:04:06,580 --> 01:04:09,620 ya marejeo yote ya vitu na shughuli zote za 1202 01:04:09,620 --> 01:04:11,170 kwamba kweli kufanya huu. 1203 01:04:11,170 --> 01:04:15,990 Lakini taarifa kwamba hii ni kimsingi kazi ambapo mimi kupita baadhi ya data. 1204 01:04:15,990 --> 01:04:18,410 Na mimi kupata nyuma baadhi ya aina ya data. 1205 01:04:18,410 --> 01:04:24,190 Na mimi haja ya kutumia hii kama keyword kuwabadili ndani nsdictionary hii? 1206 01:04:24,190 --> 01:04:26,490 Ambayo ni tena, hiari nsdictionary. 1207 01:04:26,490 --> 01:04:31,070 Ambayo mimi kisha haja ya kuangalia kuona kama ipo. 1208 01:04:31,070 --> 01:04:37,130 >> Hivyo siwezi kutumia kwamba kama basi mafanikio sawa parsed, 1209 01:04:37,130 --> 01:04:40,620 basi mimi kujua kwamba hiari kweli ina baadhi ya data. 1210 01:04:40,620 --> 01:04:43,840 Au nini mimi hapa ilikuwa kudhani tu kwamba kama kuna 1211 01:04:43,840 --> 01:04:49,067 walikuwa hakuna makosa ambayo kwa kweli ni salama. 1212 01:04:49,067 --> 01:04:51,400 Haki wote, mimi nataka kuwashukuru wewe wote sana kwa kuja. 1213 01:04:51,400 --> 01:04:53,540 Najua hii ilikuwa mengi, lakini ilikuwa tu saa 1214 01:04:53,540 --> 01:04:55,920 kwa majadiliano juu ya baadhi pretty juu mambo ya ajabu. 1215 01:04:55,920 --> 01:04:59,640 Na hivyo hopefully utapata nafasi ya kushusha wote wa code 1216 01:04:59,640 --> 01:05:01,657 na kuchukua bora zaidi, kuangalia uhakika katika hilo. 1217 01:05:01,657 --> 01:05:04,240 Aina ya kuwashawishi mwenyewe wa yote ya mambo ambayo kinaendelea. 1218 01:05:04,240 --> 01:05:06,800 Na mimi nataka kuwashukuru yote, tena kwa kuja. 1219 01:05:06,800 --> 01:05:08,760 Na bahati nzuri na miradi yako ya mwisho. 1220 01:05:08,760 --> 01:05:10,600 Kuwa na siku kubwa. 1221 01:05:10,600 --> 01:05:11,467