1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,340 >> DANIEL ARMENDARIZ: Halló allir, velkomið að IOS app þróun 3 00:00:14,340 --> 00:00:15,020 með skjót. 4 00:00:15,020 --> 00:00:15,870 Ég er Dan Armendariz. 5 00:00:15,870 --> 00:00:18,920 Ég er precepter af tölvunni vísindi hér í nám 6 00:00:18,920 --> 00:00:21,200 Verkfræði- og hagnýtra vísinda. 7 00:00:21,200 --> 00:00:24,310 Og snögg er í raun góður af mjög snyrtilegur tungumál. 8 00:00:24,310 --> 00:00:27,190 Og ég hef nokkrar áætlanir um dag. 9 00:00:27,190 --> 00:00:31,430 Svo á næstu klukkustund eða svo við erum að fara að líta á IOS app þróun sig 10 00:00:31,430 --> 00:00:36,640 nota Xcode og í raun að búa sumir einfaldar, mjög einföld forrit. 11 00:00:36,640 --> 00:00:40,070 Og að horfa á þann hátt sem þér í raun að taka þessar umsóknir, 12 00:00:40,070 --> 00:00:42,887 og byggja þá, og í raun setja þá á iOS tæki. 13 00:00:42,887 --> 00:00:44,970 Sumir af þeim hlutum sem við erum ekki að fara að horfa á 14 00:00:44,970 --> 00:00:47,540 mun fela hluti eins í raun að taka umsókn 15 00:00:47,540 --> 00:00:48,940 og setja það á the App Store. 16 00:00:48,940 --> 00:00:52,930 There er a einhver fjöldi af kennsluefni á netinu sem mun hjálpa þér með það þáttur í því. 17 00:00:52,930 --> 00:00:56,230 En einnig vegna þess að eins og hluti af CS50, þú færð 18 00:00:56,230 --> 00:00:59,780 að taka þátt í Apple þróun lið, app þróun lið CS50 er. 19 00:00:59,780 --> 00:01:02,790 Ef þú hefur ekki gert það enn og þú ert tengd við CS50, 20 00:01:02,790 --> 00:01:04,810 Ég mæli með að þú gera það vegna þess að 21 00:01:04,810 --> 00:01:08,820 er hvernig þú ert fær um að búa til sumir programs í Xcode, 22 00:01:08,820 --> 00:01:11,890 byggja þá, og í raun setja þá á sumum IOS tæki 23 00:01:11,890 --> 00:01:14,087 ef þú ert í raun og veru líkamlega iOS tæki. 24 00:01:14,087 --> 00:01:16,670 Ef þú ert ekki með líkamlega IOS tæki sem er meira en í lagi. 25 00:01:16,670 --> 00:01:19,810 Þú getur í raun þróast í IOS. 26 00:01:19,810 --> 00:01:22,390 Og Xcode hefur hermir sem leyfir þér 27 00:01:22,390 --> 00:01:26,570 að sjá umsóknina á aðgerð á tölvunni þinni. 28 00:01:26,570 --> 00:01:30,440 En það er tegund af a snyrtilegur hlutur að í raun að spila og hafa samskipti 29 00:01:30,440 --> 00:01:34,235 með umsókn þína á raunverulegum tæki. 30 00:01:34,235 --> 00:01:37,360 Þannig að það er a par af kröfum til í raun gera allt í þessari þróun. 31 00:01:37,360 --> 00:01:39,151 Einn af þeim er að þú þarft að hafa Mac. 32 00:01:39,151 --> 00:01:44,770 Það þarf að vera í gangi 10.9.4 eða nýrri í því skyni að gera þróun með skjótum. 33 00:01:44,770 --> 00:01:47,770 >> Þú getur notað fyrr útgáfu til að þróa 34 00:01:47,770 --> 00:01:50,810 með Objective C fyrir IOS og Mac. 35 00:01:50,810 --> 00:01:53,990 En ég mæli með, og mikið af dæmi að við munum sjá í dag, 36 00:01:53,990 --> 00:01:55,700 nota 10,10 Yosemite. 37 00:01:55,700 --> 00:02:00,910 Svo ef þú hefur ekki enn uppfært, það er góð afsökun til að gera það. 38 00:02:00,910 --> 00:02:05,480 Nú er Xcode 6.1 nýjustu útgáfu af samþætt þróun umhverfi 39 00:02:05,480 --> 00:02:08,979 að Apple er kveðið á um frjáls að þú getur sótt á App Store. 40 00:02:08,979 --> 00:02:11,220 Og ég mæli með að þú líka keyrt nýjustu útgáfu. 41 00:02:11,220 --> 00:02:14,700 >> Ef þú skyldir vera að keyra fyrr útgáfa, Xcode 5 og neðan bara 42 00:02:14,700 --> 00:02:16,741 einfaldlega styðja ekki snögg neinu tagi. 43 00:02:16,741 --> 00:02:19,490 Og beta útgáfur af sex, sem voru út yfir sumarið, 44 00:02:19,490 --> 00:02:21,770 styðja snögg, en það er verið gífurlegur fjöldi 45 00:02:21,770 --> 00:02:25,220 breytinga á tungumáli, nóg þannig að kóðinn sem þú ert 46 00:02:25,220 --> 00:02:28,320 að fara að horfa á og að þú gæti fundið á netinu 47 00:02:28,320 --> 00:02:33,294 munu ekki saman almennilega í þessum fyrri útgáfur af Xcode. 48 00:02:33,294 --> 00:02:35,460 Svo aftur, ef þú ert ekki enn hafa reikninginn, 49 00:02:35,460 --> 00:02:38,560 Ég mæli með að þú fara til developer.apple.com. 50 00:02:38,560 --> 00:02:42,240 Skráðu þig, búa til verktaki reikning og taka þátt í CS50 app þróun lið. 51 00:02:42,240 --> 00:02:45,530 Það mun veita þér tækifæri að safna saman forrit 52 00:02:45,530 --> 00:02:47,840 og setja þá á tækinu. 53 00:02:47,840 --> 00:02:49,222 OK, þannig að við skulum byrja. 54 00:02:49,222 --> 00:02:50,930 The mjög fyrstur hlutur við erum að fara að gera er 55 00:02:50,930 --> 00:02:55,140 að í raun búa til mjög einföld verkefni í Xcode 56 00:02:55,140 --> 00:02:59,530 sem mun leyfa þér að gera forrit. 57 00:02:59,530 --> 00:03:03,170 >> Svo ef þú ert ekki enn kominn Xcode opinn, fara á undan og opna hana 58 00:03:03,170 --> 00:03:04,270 og búa til nýtt verkefni. 59 00:03:04,270 --> 00:03:06,570 Sérstök skvetta skjár opnast og mun gefa þér 60 00:03:06,570 --> 00:03:08,800 sumir valkostir um hvaða það er sem þú vilt gera. 61 00:03:08,800 --> 00:03:12,170 Bara segja að þú viljir búa til nýtt verkefni, ný forrit. 62 00:03:12,170 --> 00:03:15,650 Þessi gluggi vilja skjóta upp, miðað við að þú ert að nota Xcode 6.1. 63 00:03:15,650 --> 00:03:17,650 Núna, og fyrir Lengd þessa ráðstefnu, 64 00:03:17,650 --> 00:03:19,990 við erum að fara að vera með einum skjá forrit, bara 65 00:03:19,990 --> 00:03:22,590 konar undirstöðu umsókn að fá fæturna blautur. 66 00:03:22,590 --> 00:03:25,200 Og þú getur grein út á eigin spýtur þaðan. 67 00:03:25,200 --> 00:03:27,660 >> Smelltu á Next á þessum tímapunkti. 68 00:03:27,660 --> 00:03:30,796 Nú hér er það a par af hlutur að þú might vilja til að slá inn. 69 00:03:30,796 --> 00:03:32,670 Nafnið vara er nafn á verkefninu. 70 00:03:32,670 --> 00:03:34,859 Í þessu tilfelli, ég er bara fara að kalla það Seminar1 71 00:03:34,859 --> 00:03:36,150 vegna þess að það er fyrsta dæmi okkar. 72 00:03:36,150 --> 00:03:38,290 Nafn Organization, í þetta mál er bara nafnið mitt. 73 00:03:38,290 --> 00:03:41,760 Þú getur auðvitað breytt því eigin nafni eða til CS50. 74 00:03:41,760 --> 00:03:46,160 Organization heiti, ef þú skyldir hafa a website bara taka 75 00:03:46,160 --> 00:03:49,940 lén í snúa, com.yourname. 76 00:03:49,940 --> 00:03:54,200 og þá heiti vörunnar ætti að birtast sjálfkrafa 77 00:03:54,200 --> 00:03:55,820 eftir að sem búnt auðkenni. 78 00:03:55,820 --> 00:03:59,200 >> Vitanlega tungumál sem við erum að fara að nota í dag er snögg. 79 00:03:59,200 --> 00:04:02,590 Þú getur að sjálfsögðu notað Objective C fyrir það, en í dag munu vera snögg. 80 00:04:02,590 --> 00:04:04,920 Og við munum nú segja alhliða tæki, svo 81 00:04:04,920 --> 00:04:06,900 að það virkar á bæði iPad og iPhone. 82 00:04:06,900 --> 00:04:10,040 Og látum kjarna gögn hakað að halda 83 00:04:10,040 --> 00:04:12,830 verkefnið tiltölulega einfalt að sinni. 84 00:04:12,830 --> 00:04:14,430 Svo skulum fara á undan og smelltu á Next. 85 00:04:14,430 --> 00:04:16,471 Og það er að fara að spyrja mig þar sem ég vil til að vista það. 86 00:04:16,471 --> 00:04:19,250 Ég verð bara að vista það á skjáborðið mitt nú. 87 00:04:19,250 --> 00:04:22,267 >> Allt í lagi, svo nú er þetta það sem mun gerast þegar þú í raun opinn Xcode. 88 00:04:22,267 --> 00:04:24,100 Athugið að mjög fyrstur hlutur þú sérð 89 00:04:24,100 --> 00:04:28,770 er þetta upphrópunarmerki sem segir ekkert skilti sjálfsmynd fundust. 90 00:04:28,770 --> 00:04:31,520 Ég gerði þetta viljandi á tölvunni minni og ég er 91 00:04:31,520 --> 00:04:34,220 vona að ég ætla að vera fær um að í raun að laga það, 92 00:04:34,220 --> 00:04:37,860 vegna þess að ég vil að þú að sjá hvernig þetta vilja raunverulega vinna á eigin vél. 93 00:04:37,860 --> 00:04:40,400 >> Fara á undan og smelltu festa mál. 94 00:04:40,400 --> 00:04:45,400 Það mun spyrja þig hvort þú ert með núverandi epli reikninginn. 95 00:04:45,400 --> 00:04:48,330 Þetta er þar að ganga í CS50 app þróun lið 96 00:04:48,330 --> 00:04:51,240 er mikilvægt svo að þú ekki aðeins hafa app reikning, 97 00:04:51,240 --> 00:04:53,690 en þú ert líka getu til að undirrita apps 98 00:04:53,690 --> 00:04:56,420 og setja þá á iOS tækinu þínu. 99 00:04:56,420 --> 00:04:58,957 Þetta er not-- smella festa mál er ekki nauðsynlegt 100 00:04:58,957 --> 00:05:01,040 ef þú ert bara að fara að byggja upp og þróa staðbundið, 101 00:05:01,040 --> 00:05:03,520 að öllu leyti innan IOS hermir. 102 00:05:03,520 --> 00:05:05,820 >> En nú er ég að fara að þróa og setja þá 103 00:05:05,820 --> 00:05:08,160 á iPad minn, sem verður fær um að senda út eins vel. 104 00:05:08,160 --> 00:05:10,770 Svo ég vil í raun að bæta við þetta. 105 00:05:10,770 --> 00:05:13,670 Og það er að fara að spyrja mér fyrir Apple ID mitt. 106 00:05:13,670 --> 00:05:15,700 Svo það er að fara að vera svona. 107 00:05:15,700 --> 00:05:18,940 Og ég verð að ná í mína lykilorð, sem er hérna. 108 00:05:18,940 --> 00:05:27,760 Svo gefa mér bara eina sekúndu til að finna það, og afrita það og líma það hérna. 109 00:05:27,760 --> 00:05:28,580 >> Smelltu á Add. 110 00:05:28,580 --> 00:05:31,095 Það er að fara að spyrja mig sem lið sem ég vil taka þátt. 111 00:05:31,095 --> 00:05:33,240 Ég ætla að gera Verkfræði-. 112 00:05:33,240 --> 00:05:35,680 Smelltu þátt. 113 00:05:35,680 --> 00:05:37,780 Úpps, það er rangt einn. 114 00:05:37,780 --> 00:05:40,730 Við skulum gera þetta einn. 115 00:05:40,730 --> 00:05:42,060 Vonandi að maður vilja vinna. 116 00:05:42,060 --> 00:05:44,220 Það eitt er ekki enn vinna. 117 00:05:44,220 --> 00:05:46,610 Við erum að keyra út af góður sjálfur hér. 118 00:05:46,610 --> 00:05:48,260 OK, þetta ætti að virka. 119 00:05:48,260 --> 00:05:50,816 Nú loka því. 120 00:05:50,816 --> 00:05:54,450 Nú skulum gera skóla af verkfræði, smelltu valið. 121 00:05:54,450 --> 00:06:00,190 >> Og nú vonandi eftir Tveimur sekúndum þú can-- OK, 122 00:06:00,190 --> 00:06:02,550 Ég afturkalla og beiðni. 123 00:06:02,550 --> 00:06:05,410 Oh maður, þetta er að fara að ekki vinna. 124 00:06:05,410 --> 00:06:08,890 OK, ég ætla að reyna a ólíkur einn. 125 00:06:08,890 --> 00:06:11,167 Við skulum gera þetta einn hér. 126 00:06:11,167 --> 00:06:17,020 127 00:06:17,020 --> 00:06:19,310 Lifandi demo eru galli mig. 128 00:06:19,310 --> 00:06:22,540 Við gætum þurft að snúa sér bara byggja alveg á staðnum, 129 00:06:22,540 --> 00:06:25,050 en það væri í lagi í þessu tilfelli. 130 00:06:25,050 --> 00:06:28,560 >> Svo hér, en þetta er í raun Vinna, hvað við erum að fara að gera er bara 131 00:06:28,560 --> 00:06:31,190 búa mjög einfalt Hello World forrit. 132 00:06:31,190 --> 00:06:32,340 Svo er þetta Xcode. 133 00:06:32,340 --> 00:06:37,300 Og ef þú hefur ekki séð það enn, það geta vera a lítill erfið í fyrstu. 134 00:06:37,300 --> 00:06:41,430 There er a einhver fjöldi af gluggarúða, það er mikið af doodads á ýmsum sviðum. 135 00:06:41,430 --> 00:06:44,300 En bara átta sig á að það er virkilega nokkrir helstu þættir 136 00:06:44,300 --> 00:06:46,580 að þessari þróun umhverfi. 137 00:06:46,580 --> 00:06:51,090 Lengst til vinstri eru allar skrár sem gilda til program 138 00:06:51,090 --> 00:06:52,997 eða tiltekið verkefni þitt. 139 00:06:52,997 --> 00:06:55,080 Við munum vera að smella í kring á sumum þeirra og við munum 140 00:06:55,080 --> 00:06:57,660 benda mest mikilvæg tímanum. 141 00:06:57,660 --> 00:06:59,650 Er lengst til hægri, við hafa sett af eiginleikum. 142 00:06:59,650 --> 00:07:02,920 Og allar þessar eiginleika, þar eru ýmsar gluggarúða fyrir eiginleika. 143 00:07:02,920 --> 00:07:06,770 Rammarnir mun breytast eftir í samhengi við helstu efni, sem 144 00:07:06,770 --> 00:07:08,290 gerist að vera í miðju. 145 00:07:08,290 --> 00:07:11,740 Nú miðja getur raunverulega sýna þú margs af hlutum, til dæmis 146 00:07:11,740 --> 00:07:13,290 númerið þitt sjálft. 147 00:07:13,290 --> 00:07:17,070 Eða þú gætir í raun have-- þegar þú smellir á klippiborðinu sem 148 00:07:17,070 --> 00:07:21,270 er, við the vegur, bara myndrænt framsetning notanda þínu 149 00:07:21,270 --> 00:07:25,350 tengi fyrir application-- þína þá eiginleika glugganum 150 00:07:25,350 --> 00:07:27,334 á mjög langt til hægri mun í raun breytast. 151 00:07:27,334 --> 00:07:29,750 Nú er það a par af öðrum hlutir sem mig langar að benda. 152 00:07:29,750 --> 00:07:33,360 Þú getur konar kanna í kring í umhverfinu á eigin spýtur. 153 00:07:33,360 --> 00:07:35,730 En eitt af því sem sem hefur verið mjög gagnlegt 154 00:07:35,730 --> 00:07:38,470 er á þennan hnapp hér, efst til hægri á glugganum. 155 00:07:38,470 --> 00:07:41,230 Það er á þennan hnapp sem lítur út eins og á langt 156 00:07:41,230 --> 00:07:46,090 fór það hefur málsgrein eftir tvo hringi og svoleiðis 157 00:07:46,090 --> 00:07:49,540 af tveimur örvum sem vísa í burtu frá hvor öðrum. 158 00:07:49,540 --> 00:07:52,640 Ef þú skiptir á milli staðall ritstjóri, sem 159 00:07:52,640 --> 00:07:55,560 er lengst til vinstri einn, einn sem er valin sjálfkrafa, 160 00:07:55,560 --> 00:08:01,040 og tveir hringir sem skarast hvert annað, það sem þú færð í raun 161 00:08:01,040 --> 00:08:02,210 eru tvöfaldur megin útsýni. 162 00:08:02,210 --> 00:08:04,240 >> Og þetta er í raun fara til að vera gagnlegt fyrir okkur 163 00:08:04,240 --> 00:08:07,330 þegar við þurfum að tengja atriði í HÍ á kóða. 164 00:08:07,330 --> 00:08:09,330 Og við munum tala meira um að í bara smá stund. 165 00:08:09,330 --> 00:08:12,050 En ljóst að ef þú færð jafnvel fleiri gluggarúða eins og þetta, 166 00:08:12,050 --> 00:08:15,830 þú getur einfalda skoða bara svolítið með því að smella aftur 167 00:08:15,830 --> 00:08:20,680 á einn ritstjóri. 168 00:08:20,680 --> 00:08:21,580 Svo langt svo góður. 169 00:08:21,580 --> 00:08:24,560 Svo í rauninni höfum við kóðann á vinstri, eiginleika til hægri, 170 00:08:24,560 --> 00:08:28,260 og hvað sem það er sem við erum að vinna hér í mjög miðju. 171 00:08:28,260 --> 00:08:30,390 >> Svo hér er ég hef smellt á helstu storyboard. 172 00:08:30,390 --> 00:08:33,350 Og storyboard, aftur, er leið í Xcode 173 00:08:33,350 --> 00:08:38,110 að þú getur í raun að búa þinn notandi tengi með bara draga og sleppa 174 00:08:38,110 --> 00:08:39,130 tækni. 175 00:08:39,130 --> 00:08:41,190 Og svo fyrir okkar mjög Fyrsta umsókn þetta 176 00:08:41,190 --> 00:08:42,720 er einmitt það sem við erum að fara að gera. 177 00:08:42,720 --> 00:08:45,950 Við erum að fara að fara niður á mjög miklu minni rétt hluta 178 00:08:45,950 --> 00:08:49,900 á skjánum, sem inniheldur a fjölbreytni af notandi þætti 179 00:08:49,900 --> 00:08:53,270 að þú getur þá smellið og dragið til að búa til notendaviðmót þína. 180 00:08:53,270 --> 00:08:55,550 >> Nú allar þessar þættir eru kallaðir skoðanir 181 00:08:55,550 --> 00:08:57,370 vegna þess að þeir veita einhvers konar skoðun. 182 00:08:57,370 --> 00:09:00,190 Það er mynd útsýni, fyrir dæmi, að í raun og veru að sýna 183 00:09:00,190 --> 00:09:01,740 mynd á notendaviðmóti. 184 00:09:01,740 --> 00:09:04,310 There er a borð útsýni til raun að sýna töflu. 185 00:09:04,310 --> 00:09:05,190 Svo framvegis og svo framvegis. 186 00:09:05,190 --> 00:09:08,250 There er a breiður fjölbreytni af skoðanir sem þú getur valið hér. 187 00:09:08,250 --> 00:09:11,100 Svo bara að nú erum við að fara að leita að miðanum. 188 00:09:11,100 --> 00:09:13,550 Þú getur bara að fletta í gegnum allar listum sem er þarna. 189 00:09:13,550 --> 00:09:15,460 En það er að leita bar á mjög neðst 190 00:09:15,460 --> 00:09:19,460 sem gerir það auðveldara að bera kennsl á sérstakar skoðanir sem þú í raun og veru 191 00:09:19,460 --> 00:09:22,020 vilja draga inn notandi tengi. 192 00:09:22,020 --> 00:09:23,560 >> Fann merki mitt. 193 00:09:23,560 --> 00:09:28,430 Ég ætla að draga það hér, beint á sýnishorn umsókn mína. 194 00:09:28,430 --> 00:09:30,130 Rétt þar í miðju lítur vel út. 195 00:09:30,130 --> 00:09:33,180 Og ég ætla að slá "Halló heimur!" 196 00:09:33,180 --> 00:09:33,810 Ýttu á Enter. 197 00:09:33,810 --> 00:09:34,877 Nú hef ég merki. 198 00:09:34,877 --> 00:09:36,960 Það lítur ekki eins og það er miðju alveg rétt. 199 00:09:36,960 --> 00:09:38,500 Svo ég get reynt til að miðja hana. 200 00:09:38,500 --> 00:09:42,100 Sem betur fer býður þetta leiðsögumenn til að gera hlutina miklu auðveldara. 201 00:09:42,100 --> 00:09:44,130 Ég ætla að reyna að þýða það. 202 00:09:44,130 --> 00:09:46,570 Vonandi mun það raunverulega vinna hér. 203 00:09:46,570 --> 00:09:52,870 Og ef það virkar ekki, á aðeins augnablik það mun í raun koma á iPad minn. 204 00:09:52,870 --> 00:09:54,360 Það er hérna. 205 00:09:54,360 --> 00:09:55,060 Það er það. 206 00:09:55,060 --> 00:09:56,590 >> OK, svo það er það. 207 00:09:56,590 --> 00:09:57,160 Við erum búin. 208 00:09:57,160 --> 00:09:58,868 Við höfum búið til okkar mjög Fyrsta umsókn. 209 00:09:58,868 --> 00:10:01,330 Nú augljóslega þetta gerir ekki neitt. 210 00:10:01,330 --> 00:10:02,280 Það er bara merki. 211 00:10:02,280 --> 00:10:07,350 Það er engin tenging á milli notandi tengi og kóðinn. 212 00:10:07,350 --> 00:10:10,130 Þannig að ef við vildum í raun til að búa til þessa tengingu, 213 00:10:10,130 --> 00:10:14,790 ef við vildum í raun að hafa einhvers konar samskipta milli þætti 214 00:10:14,790 --> 00:10:17,540 sem eru fyrir hendi á skjár og kóða sem 215 00:10:17,540 --> 00:10:19,810 gerir okkur kleift að stjórna þessir þættir, þá 216 00:10:19,810 --> 00:10:23,570 við þurfum í raun að líta á sjálft. 217 00:10:23,570 --> 00:10:27,000 >> Svo er þetta það sem er kallað ViewController.swift. 218 00:10:27,000 --> 00:10:30,080 Og fyrir, sérstaklega fyrir Fyrstu programs, 219 00:10:30,080 --> 00:10:33,120 þetta er að fara að leysa af megnið af kóða sem þú enter-- 220 00:10:33,120 --> 00:10:35,980 er að fara að vera í þessu skjali hér. 221 00:10:35,980 --> 00:10:38,390 There er a einhver fjöldi af efni það er hér svo langt, ekki satt? 222 00:10:38,390 --> 00:10:42,660 Það er innflutningur UI Kit bekknum, hunsa, [? Funk,?] allir þessir ýmislegt. 223 00:10:42,660 --> 00:10:45,820 Og það er ekki alveg ljóst hvað það er að allt þetta þýðir. 224 00:10:45,820 --> 00:10:48,570 Svo skulum við taka skref til baka í burtu frá Xcode fyrir a lítill hluti 225 00:10:48,570 --> 00:10:52,420 og líta á tungumálinu sjálfu, snögg. 226 00:10:52,420 --> 00:10:56,370 >> Svo með snögg, það var í hönnun og þróun 227 00:10:56,370 --> 00:10:58,645 hjá Apple fyrir um fjögur ára til skilningi mínum. 228 00:10:58,645 --> 00:11:01,270 Og það er a par af lögun um það sem er mjög snyrtilegur. 229 00:11:01,270 --> 00:11:03,910 Fyrst af öllu, er það saman tungumál, rétt eins og C. 230 00:11:03,910 --> 00:11:06,120 Svo þú ert fyrstur til að þýða það og keyra síðan það 231 00:11:06,120 --> 00:11:09,580 áður en þú getur raunverulega framkvæma kóðann sem leiðir. 232 00:11:09,580 --> 00:11:14,250 En það er, ólíkt C, gagnvirk hvetja sem þú getur í raun að keyra 233 00:11:14,250 --> 00:11:16,680 og gerð handahófskennt skipanir í. 234 00:11:16,680 --> 00:11:20,280 Og mjög mikið eins og JavaScript vélinni, sem þú gætir verið kunnugt nú, 235 00:11:20,280 --> 00:11:24,506 það í raun mun meta þá skipanir og veita yður framleiðsla. 236 00:11:24,506 --> 00:11:26,380 Og þeir hafa jafnvel tekið að fara á næsta stig 237 00:11:26,380 --> 00:11:29,100 og þeir eru búnir að skapa eitthvað kallast leiksvæði í Xcode 238 00:11:29,100 --> 00:11:31,720 sem leyfa þér að sjónrænt vinna með kóða. 239 00:11:31,720 --> 00:11:34,910 Og við munum í raun sjá nokkur dæmi um það í réttlátur a lítill hluti. 240 00:11:34,910 --> 00:11:41,680 Það er byggt á C. C liggur það, vegna þess að allar vistþýðendur 241 00:11:41,680 --> 00:11:46,820 að búa til kóða út af C og búa til mótmæla kóða frá því. 242 00:11:46,820 --> 00:11:49,240 En það hlutabréf í raun tiltölulega lítið setningafræði. 243 00:11:49,240 --> 00:11:50,721 Það mun líta nokkuð öðruvísi. 244 00:11:50,721 --> 00:11:51,970 Það verður að vera einhvers líkt. 245 00:11:51,970 --> 00:11:54,140 En það eru að fara að vera alveg nokkur mismunur 246 00:11:54,140 --> 00:11:57,200 miðað við, segja, JavaScript eða PHP. 247 00:11:57,200 --> 00:11:59,070 Og við munum benda þessar út í bara smá stund. 248 00:11:59,070 --> 00:12:01,420 >> Nú einn af stærstu hlutum um snögg það er gott 249 00:12:01,420 --> 00:12:05,650 er að, sérstaklega í samanburði C, það er ætlað að vera öruggur. 250 00:12:05,650 --> 00:12:08,100 Allt í henni er ætlað að vera mjög eindregið slegið í. 251 00:12:08,100 --> 00:12:10,780 Í raun er það nánast pirrandi í fyrstu, þegar þú fyrst 252 00:12:10,780 --> 00:12:15,610 byrja að vinna með skjót, hversu mikið það knýja tegundir alls staðar. 253 00:12:15,610 --> 00:12:17,860 Nokkuð sem er band þarf að halda áfram að vera band. 254 00:12:17,860 --> 00:12:22,100 Það er mjög erfitt að raða af umbreyta það eða þvinga það inn í einhverju öðru formi. 255 00:12:22,100 --> 00:12:23,800 >> Og aftur, munum við sýna dæmi um þetta. 256 00:12:23,800 --> 00:12:26,830 En að lokum grein fyrir því að þetta er ætlað til að vernda þig, 257 00:12:26,830 --> 00:12:32,010 og af þér ég meina númerið þitt, frá hrun í sumum hræðilegt hátt þegar 258 00:12:32,010 --> 00:12:34,330 þú hafir einhverskonar ósamstæðrar tegund. 259 00:12:34,330 --> 00:12:36,040 Og aftur, vinna með það. 260 00:12:36,040 --> 00:12:40,210 Vegna þess að það verður pirrandi í fyrstu eins og þú reynir að reikna út hvers vegna nákvæmlega 261 00:12:40,210 --> 00:12:43,070 þú ert að fá þetta óvenjulegt villa að takast á við gerðum. 262 00:12:43,070 --> 00:12:45,350 En það mun vera þess virði á endanum. 263 00:12:45,350 --> 00:12:47,267 >> Það skiptir takast á við sjálfvirka minni stjórnun, 264 00:12:47,267 --> 00:12:49,100 svo ekki lengur að gera þér þurfa að takast á við hlutina 265 00:12:49,100 --> 00:12:51,400 eins malloc og ókeypis og allir af þessum tegundum af hlutum. 266 00:12:51,400 --> 00:12:53,066 Og það er einnig ætlað fyrir Almennt efni. 267 00:12:53,066 --> 00:12:58,360 Svo á meðan við getum notað Xcode að búa IOS apps og Mac forrit, 268 00:12:58,360 --> 00:13:00,380 við getum líka bara að nota það sem forskriftarþarfir tungumál. 269 00:13:00,380 --> 00:13:03,660 Og svo við getum notað það eins konar af í stað þess að PHP eða stað 270 00:13:03,660 --> 00:13:07,800 af Python til í raun og veru fljótt flokka og ferli 271 00:13:07,800 --> 00:13:09,800 sumir gögn sem við höfum á tölvunni okkar. 272 00:13:09,800 --> 00:13:13,290 >> Það er fjölbreytt úrval af nútíma lögun, optionals, mutability, 273 00:13:13,290 --> 00:13:17,900 samheitalyfjafyrirtækið, lokunarbúnaður, og a einhver fjöldi af þessu efni sem þú mega eða mega ekki viðurkenna. 274 00:13:17,900 --> 00:13:22,810 Og það er bara svoleiðis óheppileg hluti af því tungumáli sem sumir af þessum 275 00:13:22,810 --> 00:13:26,700 konar framúrstefnulegt, nútíma þætti sem er að finna innan þættir eru 276 00:13:26,700 --> 00:13:34,520 svo djúpt samgróin að ég mun í raun að kenna þér CS50.5 svolítið. 277 00:13:34,520 --> 00:13:37,305 >> Við verðum að læra svolítið meira um tiltekin lögun í röð 278 00:13:37,305 --> 00:13:40,180 að raunverulega skilja hvað er að gerast á og svo að þú getur litið á kóða 279 00:13:40,180 --> 00:13:42,450 og ekki finnst alveg glatað. 280 00:13:42,450 --> 00:13:44,820 Og þú munt sjá hvað ég meina með að í aðeins eina mínútu. 281 00:13:44,820 --> 00:13:47,830 OK, svo let's-- nóg af þessu konar fræðilegum efni. 282 00:13:47,830 --> 00:13:52,450 Við skulum líta í raun á okkar Fyrsta snögg program. 283 00:13:52,450 --> 00:13:53,590 Það er ein lína af kóða. 284 00:13:53,590 --> 00:13:57,690 Line 14 hérna, það segir prenta L n halló CS50. 285 00:13:57,690 --> 00:14:01,160 >> Þannig að það er a par af hlutum sem er mjög mismunandi um þetta samanborið 286 00:14:01,160 --> 00:14:04,140 að hlutum sem þú gætir haft notað til að úr C, til dæmis. 287 00:14:04,140 --> 00:14:08,390 Einn af þeim er að það er engin intmain, það er engin meðal annars kafla, 288 00:14:08,390 --> 00:14:10,790 það er ekkert af þessu auka efni. 289 00:14:10,790 --> 00:14:13,790 The eru, eins og staðall I / O, eins og bókasöfnum 290 00:14:13,790 --> 00:14:16,580 sem raunverulega veita staðall lögun af tungumálinu, 291 00:14:16,580 --> 00:14:19,180 eru sjálfkrafa með sem hluti af venjulegu bókasafni Swift 292 00:14:19,180 --> 00:14:20,680 og sem eru sjálfkrafa flutt. 293 00:14:20,680 --> 00:14:23,740 Þú þarft ekki að gera að innflutningur handvirkt. 294 00:14:23,740 --> 00:14:27,360 >> Intmain er ekki til vegna þess að helstu innganga benda á kóða 295 00:14:27,360 --> 00:14:29,470 er í raun á að upphaf kóða. 296 00:14:29,470 --> 00:14:32,000 Svo allir kóða sem þú þarft reiknað frá byrjun 297 00:14:32,000 --> 00:14:34,940 verður í raun að framkvæma í upphafi. 298 00:14:34,940 --> 00:14:36,520 Svo þetta virkilega mjög einfaldar. 299 00:14:36,520 --> 00:14:38,470 Takið einnig, að það er engin semíkommu. 300 00:14:38,470 --> 00:14:41,040 Það er engin semikommum í þessu tungumáli. 301 00:14:41,040 --> 00:14:43,261 Þú setur yfirlýsingu á einstaka línu 302 00:14:43,261 --> 00:14:45,510 og svo næsta lína táknar annað yfirlýsingu. 303 00:14:45,510 --> 00:14:47,420 Ef þú vilt setja mulitiple yfirlýsingar á netinu, 304 00:14:47,420 --> 00:14:49,086 þá verður þú að aðskilja hana með semikommum. 305 00:14:49,086 --> 00:14:50,940 En að mestu leyti, fyrir góðum stíl, erum við 306 00:14:50,940 --> 00:14:56,530 aldrei að fara að sjá semikommum fyrir tilganginum aðskilja yfirlýsingar 307 00:14:56,530 --> 00:14:58,420 í Swift. 308 00:14:58,420 --> 00:14:59,820 Svo hvernig virkar þetta raunverulega vinna? 309 00:14:59,820 --> 00:15:04,080 Jæja mjög mikið eins og C vér í raun að safna saman þetta. 310 00:15:04,080 --> 00:15:10,640 Og svo við getum gert það með því að nota Swift c og þá 1.swift. 311 00:15:10,640 --> 00:15:13,850 Og síðan eftir nokkra mínútur þetta mun taka saman 312 00:15:13,850 --> 00:15:16,340 og þá get ég keyrt hlut einn. 313 00:15:16,340 --> 00:15:19,691 Og en það verður bara að segja "Hello CS50." 314 00:15:19,691 --> 00:15:20,690 Awesome, þannig að það við förum. 315 00:15:20,690 --> 00:15:22,273 Það er fyrsta Halló heimur program okkar. 316 00:15:22,273 --> 00:15:24,790 Við skulum fara á númer tvö. 317 00:15:24,790 --> 00:15:30,450 >> Nú í this-- þetta hefur breyst örlítið, því en venjulega þig 318 00:15:30,450 --> 00:15:34,720 do-- í raun alltaf þarf að saman skjót forritinu áður en þú 319 00:15:34,720 --> 00:15:37,180 í raun að keyra it-- einn af the mikill lögun 320 00:15:37,180 --> 00:15:40,230 að ég benti til áður var að Swift geta raunverulega vera notaður í einhverskonar 321 00:15:40,230 --> 00:15:43,390 af gervi-túlkandi ham, það er í raun eins og túlk. 322 00:15:43,390 --> 00:15:46,690 En hvað þetta mun gera er er í raun a skjótur umsókn 323 00:15:46,690 --> 00:15:47,520 að þú getur keyrt. 324 00:15:47,520 --> 00:15:51,050 >> Svo td ef þú skrifar bara snögg hér, hvað mun gerast 325 00:15:51,050 --> 00:15:52,330 er að þú munt fá a hvetja. 326 00:15:52,330 --> 00:15:59,040 Og þú getur slegið Swift þína númer, prenta halló, og keyra það. 327 00:15:59,040 --> 00:16:01,867 Og það mun í raun print-- vel, það var ekki prentað í þessu tilfelli 328 00:16:01,867 --> 00:16:04,450 vegna þess að það prentað að miðju út, sem er ekki sýnilegur hér. 329 00:16:04,450 --> 00:16:06,660 En það er í raun fær um að virka. 330 00:16:06,660 --> 00:16:09,580 Og svo í þessu tilfelli, ég er bara fara að nota þetta sem handrit. 331 00:16:09,580 --> 00:16:11,259 Og ég get í raun að keyra þennan kóða þar. 332 00:16:11,259 --> 00:16:13,800 Svo leið að ég keyrt í raun það mun vera örlítið öðruvísi, 333 00:16:13,800 --> 00:16:15,710 en þú munt sjá að á aðeins augnablik. 334 00:16:15,710 --> 00:16:18,890 Nú, í þessu tilfelli hvað við erum að fara að gera er að fyrst að skilgreina breytu. 335 00:16:18,890 --> 00:16:22,160 Svo er þetta hvernig við skilgreinum breytu í snögg, 336 00:16:22,160 --> 00:16:25,900 er við að nota láta leitarorð, fylgt með nafni á breytunni, 337 00:16:25,900 --> 00:16:29,280 og þá erum við að veita sumir Frumstilli gögn mögulega. 338 00:16:29,280 --> 00:16:34,660 Þannig að þetta mál sem við erum að skilgreina fasti nefndi, 339 00:16:34,660 --> 00:16:37,775 og við erum að fara að nota það í framleiðsla lína prenta okkar 340 00:16:37,775 --> 00:16:39,590 á mjög botn, hello nafn. 341 00:16:39,590 --> 00:16:43,260 >> Nú taka eftir því frekar en að nota% s, við getum þjappa nafn þetta 342 00:16:43,260 --> 00:16:49,960 breyta í / () og vera fær um að concatenate í innihald þetta 343 00:16:49,960 --> 00:16:51,790 band í þessum streng. 344 00:16:51,790 --> 00:16:56,510 Nú, string er ólíkt C Raunveruleg alvöru tegund í skjót. 345 00:16:56,510 --> 00:16:59,240 Og svo situr það við hlið ints og hlið 346 00:16:59,240 --> 00:17:02,220 tvöfaldar mjög auðveldlega og náttúrulega samanborið 347 00:17:02,220 --> 00:17:05,450 að sumir af hinum tungumál sem við höfum séð. 348 00:17:05,450 --> 00:17:07,980 Þannig að þetta myndi raunverulega virka bara eins og þú vildi búast við. 349 00:17:07,980 --> 00:17:10,540 >> Ég get keyrt 2.swift. 350 00:17:10,540 --> 00:17:14,390 Og við sjáum að nafn mitt er reyndar skeyta í, "Hello Dan." 351 00:17:14,390 --> 00:17:16,050 OK, ógnvekjandi. 352 00:17:16,050 --> 00:17:17,485 Færa um að númer þrjú. 353 00:17:17,485 --> 00:17:19,359 Nú það var svolítið af hvítum liggja að ég 354 00:17:19,359 --> 00:17:23,369 sagði að leiðin sem við lýsa breytur var að nota láta leitarorð. 355 00:17:23,369 --> 00:17:27,640 Eins oft og þú mögulega getur þú gert vilt nota láta, vegna þess hvað það gerir 356 00:17:27,640 --> 00:17:29,280 er það skilgreinir fasti. 357 00:17:29,280 --> 00:17:33,010 Og það segir snögg að það getur hagræða hraða umsókn þína 358 00:17:33,010 --> 00:17:36,230 því það veit að það breyta er ekki að fara að breytast. 359 00:17:36,230 --> 00:17:38,760 >> Svo meta vandlega þegar þú ert að fara að nota 360 00:17:38,760 --> 00:17:41,382 breytu fyrir tilgangi að breyta því. 361 00:17:41,382 --> 00:17:43,340 Og þegar þú ert að fara að búa til breytu bara 362 00:17:43,340 --> 00:17:47,010 að halda sumir gögn og það er ekki í raun að fara að breytast. 363 00:17:47,010 --> 00:17:50,150 Þannig að þetta hugtak af óum-, það er í raun ekki að fara að breyta, 364 00:17:50,150 --> 00:17:53,740 er mikilvægt eins langt niður sem skilgreina breytur. 365 00:17:53,740 --> 00:17:56,870 Svo hér höfum við skilgreint nafn, láta nafn, og í þessu tilfelli 366 00:17:56,870 --> 00:18:02,120 Það er stöðug, það er af gerðinni band, og það er jafn Dan. 367 00:18:02,120 --> 00:18:05,580 >> Svo en er í áður þekktri útgáfa, infers-- það og "það" 368 00:18:05,580 --> 00:18:08,220 Ég meina swift-- Swift infers tegund gagna 369 00:18:08,220 --> 00:18:10,850 að við höfum slegið í breytu. 370 00:18:10,850 --> 00:18:12,930 Í þessu tilfelli getum við verið skýr. 371 00:18:12,930 --> 00:18:17,590 Svo láta þá heiti þetta breyta er nafn, þá ristill. 372 00:18:17,590 --> 00:18:21,350 Og eftir ristli gerum við tilgreina tegund gagna. 373 00:18:21,350 --> 00:18:24,694 Svo er það ekki lengur nafn Int eða nafn string eða eitthvað svoleiðis. 374 00:18:24,694 --> 00:18:26,860 Heldur láta merki, við erum skilgreina hvort 375 00:18:26,860 --> 00:18:29,090 það er stöðug eða breyta, eftir nafn, 376 00:18:29,090 --> 00:18:31,870 fylgt eftir með þeirri gerð sem mögulega er. 377 00:18:31,870 --> 00:18:34,730 >> Þannig að í þessu tilfelli erum við að skilgreina þetta nafn er strengur. 378 00:18:34,730 --> 00:18:35,790 Við erum að segja er Dan. 379 00:18:35,790 --> 00:18:39,270 Og nú hef ég annað breytu, í þessu tilviki það er kallað merki. 380 00:18:39,270 --> 00:18:42,090 En eftir að það er forskeyti vámat leitarorð. 381 00:18:42,090 --> 00:18:44,430 The var leitarorða leið að þessi breyta getur 382 00:18:44,430 --> 00:18:48,720 að breyta nánar síðar í tími, einhvers staðar niður í númerinu 383 00:18:48,720 --> 00:18:52,480 getum við breytt í raun það og það mun ekki gefa okkur neina sérstaka villa. 384 00:18:52,480 --> 00:18:56,760 >> Við getum gert staðlaða concatenating rekstraraðila hér með auk tákn 385 00:18:56,760 --> 00:19:00,130 að raunverulega bæta okkar nafn í þessum streng. 386 00:19:00,130 --> 00:19:02,921 Og þá getum við prentað út eins og við sáum bara í smá stund síðan. 387 00:19:02,921 --> 00:19:04,920 Nú skulum segja að þú langar að búa til breytu 388 00:19:04,920 --> 00:19:06,586 en þú vilt ekki að frumstilla hana ennþá. 389 00:19:06,586 --> 00:19:08,590 Þú ert ekki enn vilja til að setja nein gögn innan þess. 390 00:19:08,590 --> 00:19:11,760 Jæja þú ert að segja snögg hvað tegund af gögnum 391 00:19:11,760 --> 00:19:16,430 er að fara að vera áður en þú getur í raun skilgreina það almennilega. 392 00:19:16,430 --> 00:19:20,360 >> Svo í þessu tilfelli, þegar við höfum skilgreint breytu sem heitir einkunn við verðum að vera 393 00:19:20,360 --> 00:19:24,450 skýr um gerð hennar, vegna þess að það getur ekki ætlað bara að leita 394 00:19:24,450 --> 00:19:27,300 á frumstillt gögnum sem þú gefur henni. 395 00:19:27,300 --> 00:19:30,050 Það mun gefa okkur villu ef þú bara gerð var einkunn, til dæmis, 396 00:19:30,050 --> 00:19:31,830 vegna þess að það hefur enga tegund því. 397 00:19:31,830 --> 00:19:33,353 Svo einkunn = 100. 398 00:19:33,353 --> 00:19:35,790 Þannig að 100 er heil tala, það passar mjög vel inn í það. 399 00:19:35,790 --> 00:19:36,998 Það mun halda áfram að virka. 400 00:19:36,998 --> 00:19:40,350 401 00:19:40,350 --> 00:19:43,022 Við getum séð hvernig þá erum við getur concatenate þetta í. 402 00:19:43,022 --> 00:19:44,730 Nú þú gætir verið freistað, ef þú í raun 403 00:19:44,730 --> 00:19:48,610 vildi concatenate að einkunn í annað textaröð, 404 00:19:48,610 --> 00:19:52,560 í annað band, sem þú myndir bara nota þessi sömu concatenating rekstraraðila. 405 00:19:52,560 --> 00:19:54,630 Og það myndi venjulega vera satt. 406 00:19:54,630 --> 00:20:00,540 En Swift mun ekki leyfa þér að óbeint breytt gerð af gögnum. 407 00:20:00,540 --> 00:20:03,440 Þannig að í þessu tilfelli, þetta lína, 25, mun mistakast 408 00:20:03,440 --> 00:20:06,650 því einkunn er heiltala og ekki a band. 409 00:20:06,650 --> 00:20:08,760 Og svo er það misræmi setja af gerðum. 410 00:20:08,760 --> 00:20:11,780 Svo þú þarft að vera skýr þegar þú þarft að breyta þessum gögnum, 411 00:20:11,780 --> 00:20:14,080 þegar þú vilt að kúga þetta gögn inn í annarri gerð 412 00:20:14,080 --> 00:20:17,250 og segja, OK, ég vil taka þessi einkunn, sem er heiltala, 413 00:20:17,250 --> 00:20:19,050 og umbreyta það til a band. 414 00:20:19,050 --> 00:20:23,970 >> Svo ég tek höfuðborg s String allt af gerðir, þú munt taka eftir, eru eignfærð, 415 00:20:23,970 --> 00:20:26,280 Int, Double, String, svo á og svo framvegis. 416 00:20:26,280 --> 00:20:28,930 Öll þau eru eignfærð bara til að gera hlutina auðveldari. 417 00:20:28,930 --> 00:20:32,240 Og við munum segja nýta String fara inn í það bekk. 418 00:20:32,240 --> 00:20:35,020 Og það verður að búa a band út af því að tölu. 419 00:20:35,020 --> 00:20:37,970 Og þá getum við concatenate tveir mjög fallega. 420 00:20:37,970 --> 00:20:40,500 Einhverjar spurningar um þetta efni svo langt? 421 00:20:40,500 --> 00:20:43,770 Allt í lagi, við skulum plægja gegnum til númer fjögur. 422 00:20:43,770 --> 00:20:47,870 >> Nú skulum tala um suma fleiri háþróaður mannvirki, eins fylki og lykkjur. 423 00:20:47,870 --> 00:20:54,920 Og ólíkt C, fylki í snögg eru ekki fulltrúi ábendingum. 424 00:20:54,920 --> 00:20:58,730 Ábendingum í Swift, þó þær eru til, sem heitir 425 00:20:58,730 --> 00:21:02,840 eins ótraustur ábendingum eða sumir svipuð gerð svona, 426 00:21:02,840 --> 00:21:04,950 þeir eru ekki fyrir áhrifum að þér venjulega. 427 00:21:04,950 --> 00:21:07,300 Svo það verður mjög erfitt fyrir þig að vinna 428 00:21:07,300 --> 00:21:10,020 minni beint af tölvunni þinni. 429 00:21:10,020 --> 00:21:11,670 >> Svo fylki eru bara gögn tegund. 430 00:21:11,670 --> 00:21:16,830 Og þeir eru heitinu nota þessa tegund af nú staðall hornklofi merki 431 00:21:16,830 --> 00:21:18,280 þegar þú hefur séð áður. 432 00:21:18,280 --> 00:21:21,130 En þegar þú vilt í raun að skilgreina tegund breytu 433 00:21:21,130 --> 00:21:24,330 sem fylki af einhverju einkum gerð, þá 434 00:21:24,330 --> 00:21:27,150 setja þessi tegund í hornklofum. 435 00:21:27,150 --> 00:21:30,260 Svo það sem ég er að segja hér er að Ég er að stofna breytu sem heitir 436 00:21:30,260 --> 00:21:33,930 bekk int array. 437 00:21:33,930 --> 00:21:37,380 Og ég er að setja það jafn sumir forsniðin gögn, sem í þessu tilfelli 438 00:21:37,380 --> 00:21:42,960 er 100, 0, 90, 85, sem er bara safn af handahófi bekk hér. 439 00:21:42,960 --> 00:21:46,480 Nú í þessu tilfelli ég gat, muna, fjarlægja tegund, 440 00:21:46,480 --> 00:21:49,580 og það væri hægt að álykta það byggt á frumstilla gögnum. 441 00:21:49,580 --> 00:21:51,990 En ef ég fjarlægt þetta og Ég þurfti að setja það seinna, 442 00:21:51,990 --> 00:21:56,840 þá myndi ég þurfa að ganga úr skugga um að ég hef gerð þar. 443 00:21:56,840 --> 00:21:58,750 Allt í lagi, við skulum fara eftir. 444 00:21:58,750 --> 00:22:03,010 Þannig að við can-- fylki veita okkur margs 445 00:22:03,010 --> 00:22:07,130 aðferða í gegnum það punktur tákn á þig eru sennilega nú þekki. 446 00:22:07,130 --> 00:22:10,360 Svo grades.count, til dæmis, segir okkur nákvæmlega fjölda 447 00:22:10,360 --> 00:22:13,680 þætti sem eru finna innan þessu fylki. 448 00:22:13,680 --> 00:22:17,260 >> Ef ég vil bæta additional-- nú tekið eftir því að þetta er var 449 00:22:17,260 --> 00:22:20,140 og not-- þetta er breyta og ekki fast, sem 450 00:22:20,140 --> 00:22:24,410 þýðir að ég get breytt innihaldi af þessu fylki, get ég bætt hlutum við það. 451 00:22:24,410 --> 00:22:28,870 En ég get ekki bara segja bekk og síðan í hornklofum 452 00:22:28,870 --> 00:22:33,280 fjögur, af því sem mun vera út af mörk villa í þessu tilfelli. 453 00:22:33,280 --> 00:22:36,190 Ef ég vil reyndar breyting stærð þessa array, 454 00:22:36,190 --> 00:22:41,140 Ég verð að nota punktur bæta aðferð til bæta eitthvað á til enda þess. 455 00:22:41,140 --> 00:22:46,900 Ég get, hins vegar, breyting einstakra vísitölur. 456 00:22:46,900 --> 00:22:48,920 >> Þannig að ég gæti notað einkunnir og þá hornklofum 457 00:22:48,920 --> 00:22:52,480 núll til að vinna þessa fyrstu vísitölu og svo á, eins og þú myndir venjulega búast. 458 00:22:52,480 --> 00:22:56,530 Og ég get gert það sama á reyndar fá gögn frá það eins vel. 459 00:22:56,530 --> 00:23:00,420 Nú er það líka svoleiðis fínt aðferð um að gera þetta, einkunnum auk jafn 460 00:23:00,420 --> 00:23:02,525 og þá annað vísitölu, sem mun append-- 461 00:23:02,525 --> 00:23:04,400 eða ekki annað index-- en annar listi sem 462 00:23:04,400 --> 00:23:07,340 mun auka þessi listi að aftan á bekk. 463 00:23:07,340 --> 00:23:09,780 Og einkunna mun þá innihalda allt það. 464 00:23:09,780 --> 00:23:13,850 En það er tegund af auka hlutur að ég ætla bara að sýna þér til skemmtunar. 465 00:23:13,850 --> 00:23:14,910 >> Nú er það til hliðar. 466 00:23:14,910 --> 00:23:18,970 Og þetta er upphaf þar hlutirnir fara að breyta smá. 467 00:23:18,970 --> 00:23:22,920 Takið eftir hvernig þetta fyrir lykkju er frábrugðin fyrir lykkjur í C 468 00:23:22,920 --> 00:23:26,470 Nú mun ég huga að fyrir lykkjur í Swift getur 469 00:23:26,470 --> 00:23:30,650 að gera til að líta út eins og fyrir lykkjur í C, en það er mikið af fleiri gagnlegar býr 470 00:23:30,650 --> 00:23:37,840 sem í raun útrýma the þörf að hafa fyrir Var ég jafngildir 0 semíkommu ég 471 00:23:37,840 --> 00:23:40,340 er minna en nokkru lengd, svo framvegis og svo framvegis, ekki satt? 472 00:23:40,340 --> 00:23:42,940 Og þetta reisa er bara einn af þeim. 473 00:23:42,940 --> 00:23:49,030 >> Fyrir vísitölu, vísitölu er nýtt breytilegir í þessu tilfelli, í bili. 474 00:23:49,030 --> 00:23:52,730 Og það sem ég er að segja er að það er a bilinu 0 alla leið upp að 475 00:23:52,730 --> 00:23:55,870 þó ekki grades.count. 476 00:23:55,870 --> 00:23:58,470 Þannig að þetta punktur punktur minna en merki táknar 477 00:23:58,470 --> 00:24:05,040 a bil að byrja frá núlli alla leið upp að grades.count minus 1. 478 00:24:05,040 --> 00:24:07,070 Það er sérstakt rekstraraðili sem er til staðar, 479 00:24:07,070 --> 00:24:13,320 sem er punktur punktur punktur, sem myndi meina að ég vil á bilinu núll 480 00:24:13,320 --> 00:24:16,310 að einkunnum telja innifalið. 481 00:24:16,310 --> 00:24:19,130 >> En í þessu tilfelli, vegna þess að þessi fylki eru núll vísitölu, við að sjálfsögðu 482 00:24:19,130 --> 00:24:23,290 vil ekki að fara á Hámarksfjöldi bekk. 483 00:24:23,290 --> 00:24:26,390 Ég get summa einkunnina, eins og þú gætir búast við, og framleiðsla allt þetta efni. 484 00:24:26,390 --> 00:24:29,620 OK, flutti á. 485 00:24:29,620 --> 00:24:32,270 Nú skulum tala um aðgerðir. 486 00:24:32,270 --> 00:24:35,465 Í því skyni að skilgreina fall þú notar funk leitarorð. 487 00:24:35,465 --> 00:24:38,090 Og aftur, í Swift þú þarft að vera mjög varkár með gerðum. 488 00:24:38,090 --> 00:24:41,530 Þú veitir það viðföng með því að skilgreina, til dæmis, 489 00:24:41,530 --> 00:24:45,440 nafn breytu og þá í Colin, tegund gagna 490 00:24:45,440 --> 00:24:47,690 að þú ráð fyrir að breytu til að samþykkja. 491 00:24:47,690 --> 00:24:50,700 >> Svo í þessu tilfelli höfum við virka kallast prenta einkunn telja. 492 00:24:50,700 --> 00:24:54,630 Það tekur breytu sem heitir gradebook, eða öllu heldur breytu sem heitir gradebook. 493 00:24:54,630 --> 00:24:59,267 Og við erum að búast að gradebook að vera array af heiltölur. 494 00:24:59,267 --> 00:25:01,350 Ef að gradebook er tóm, við munum prenta eitt. 495 00:25:01,350 --> 00:25:06,090 Annars munum við prenta út fjölda af einkunnum að þetta hefur í raun. 496 00:25:06,090 --> 00:25:09,470 >> Nú ef við viljum aftur sumir gildi, þá leið 497 00:25:09,470 --> 00:25:14,595 að við að breyta þessari skilgreiningu er til raunverulega nota þetta ör leitarorð, 498 00:25:14,595 --> 00:25:16,870 eða til að nota þessa ör táknmynd. 499 00:25:16,870 --> 00:25:19,440 Svo hér erum við að fara að skilgreina fall kallast meðaltali. 500 00:25:19,440 --> 00:25:21,940 Við erum að fara að taka lista yfir númer. 501 00:25:21,940 --> 00:25:25,430 Og við erum að fara að fara aftur a tvöfaldur, sem mun vonandi 502 00:25:25,430 --> 00:25:31,270 vera meðaltal af þessu fylki. 503 00:25:31,270 --> 00:25:34,570 Og í því skyni að gera það, í því skyni að í raun reikna þetta meðaltal, 504 00:25:34,570 --> 00:25:38,651 munum við taka summu og við munum Auðvitað summa upp allar hlutum 505 00:25:38,651 --> 00:25:39,400 innan þessa array. 506 00:25:39,400 --> 00:25:41,480 >> Takið eftir að það er nýtt stíl fyrir lykkju hér. 507 00:25:41,480 --> 00:25:45,450 Við þurfum ekki að vera skýr um iterating yfir hvert einasta frumefni, 508 00:25:45,450 --> 00:25:48,280 en við getum í staðinn sagt fyrir bekk og gradebook, merking 509 00:25:48,280 --> 00:25:50,930 að fyrir hvert einasta atriði sem við höfum í þessu, 510 00:25:50,930 --> 00:25:53,482 kveða á um að atriði í þessu breytu sem heitir einkunn. 511 00:25:53,482 --> 00:25:54,940 Og ég vil gera eitthvað með það. 512 00:25:54,940 --> 00:26:00,350 Þannig að ég ætla að summa þetta allt gögnum og í raun aftur tvöfalda skiptingu. 513 00:26:00,350 --> 00:26:04,436 >> Nú taka aftur hér er það Hugmyndin um heiltölu deild í Swift. 514 00:26:04,436 --> 00:26:06,810 Ef þú vilt að tvöfalda skiptingu vegna þess að þú vilt brotum, 515 00:26:06,810 --> 00:26:09,460 þá verður þú að vera skýr, ekki bara um eina hlið, 516 00:26:09,460 --> 00:26:14,030 vegna þess að það er ekki að fara að leyfa þér til að þvinga gögn á hvorri hlið á þessu, 517 00:26:14,030 --> 00:26:17,030 þú þarft að raunverulega sjálfsögðu báðir aðilar í tvíliðaleik 518 00:26:17,030 --> 00:26:19,440 þannig að þú ert mjög skýr um að tryggja 519 00:26:19,440 --> 00:26:23,370 að þú ert að gera tvöfalda skiptingu. 520 00:26:23,370 --> 00:26:26,150 >> Við skulum fara. 521 00:26:26,150 --> 00:26:31,150 Svo ef ég vil í raun og veru að accept-- svo í þessu tiltekna dæmi, 522 00:26:31,150 --> 00:26:34,260 þetta er enn stjórn lína undirstaða umsókn. 523 00:26:34,260 --> 00:26:37,920 Og við erum farin að sjá nokkrar af takmarkanir á unga tungumál 524 00:26:37,920 --> 00:26:41,850 í að þó að við getum sjá rök með því að nota 525 00:26:41,850 --> 00:26:44,940 þetta process.arguments, það er enn ekki endilega hreinustu 526 00:26:44,940 --> 00:26:46,200 hlutur sem við höfum nokkru sinni séð. 527 00:26:46,200 --> 00:26:49,142 En í rauninni ég hvetja þig til að raða í líta á þessum kóða 528 00:26:49,142 --> 00:26:51,100 og reyna að reikna út hvað nákvæmlega er að gerast. 529 00:26:51,100 --> 00:26:55,030 >> Í raun það sem er að gerast er að við erum að taka lista yfir rök 530 00:26:55,030 --> 00:26:57,610 og voru coercing þeim í heiltölur, og þá erum við 531 00:26:57,610 --> 00:27:03,620 fara að nota það sem leið til að prenta út meðaltal allra einkunna okkar. 532 00:27:03,620 --> 00:27:06,150 533 00:27:06,150 --> 00:27:07,350 Að flytja á. 534 00:27:07,350 --> 00:27:11,190 Nú er það annar tegund af data-- annars gögn tegund frekar en fylki 535 00:27:11,190 --> 00:27:14,940 kallast orðabækur, sem eru mjög svipað kjötkássa matskeið eða kjötkássa kort 536 00:27:14,940 --> 00:27:18,560 og svipaðar einnig Tengin fylki PHP er. 537 00:27:18,560 --> 00:27:20,770 Svo þeir hafa hugmynd lykla og gildi. 538 00:27:20,770 --> 00:27:23,780 >> Og þeir eru skilgreindir einnig með þetta hornklofi merki, 539 00:27:23,780 --> 00:27:26,750 en munurinn er að orðabækur 540 00:27:26,750 --> 00:27:29,370 inni á hornklofi, tvípunkti. 541 00:27:29,370 --> 00:27:33,850 Og ristill skilur gögn slá það er lykillinn og gildi. 542 00:27:33,850 --> 00:27:38,540 Svo í þessu tilfelli, ég ætla að búa til a orðabók til að samþykkja nokkrar einkunn. 543 00:27:38,540 --> 00:27:44,200 Og það er að fara að vera af gerðinni band: int, 544 00:27:44,200 --> 00:27:46,940 sem þýðir að ekki minna en the takkarnir eru að fara að vera strengir, 545 00:27:46,940 --> 00:27:53,080 og öll af þeim gildum hjá þeim takkarnir eru að fara að vera heiltölur. 546 00:27:53,080 --> 00:27:55,780 >> Hvað þýðir þetta er að ég get þá vísa á ákveðna gögn 547 00:27:55,780 --> 00:28:00,490 að ég vil nota þessa lykla frekar en að nota tölugildi vísitölur eins og ég 548 00:28:00,490 --> 00:28:04,350 hefði fyrir venjulega array. 549 00:28:04,350 --> 00:28:06,470 Nú skulum sjá, það er eitt mikilvægasta 550 00:28:06,470 --> 00:28:10,790 að ég vil líka að nefna um þetta tiltekna röð kóða. 551 00:28:10,790 --> 00:28:12,910 Og það er að það er annars konar gögn, 552 00:28:12,910 --> 00:28:15,580 eða öllu heldur er það þetta hugmynd af gögnum sem er 553 00:28:15,580 --> 00:28:18,340 finna innan Swift kallast optionals. 554 00:28:18,340 --> 00:28:21,270 >> Og hvað optionals þýðir að það viðurkennir þá staðreynd 555 00:28:21,270 --> 00:28:27,500 að stundum þú ert ekki að fara að fá gögn sem þú átt von á í raun. 556 00:28:27,500 --> 00:28:31,400 Og svo það sem ég meina með því is-- skulum taka a líta á þessa röð af kóða 557 00:28:31,400 --> 00:28:38,910 sem iterates yfir öll rök sem voru sett til þessa kóða 558 00:28:38,910 --> 00:28:43,460 og reynir að breyta þeim, tilraunir að skipta í ýmsum strengjum, 559 00:28:43,460 --> 00:28:47,310 vegna þess að það tekur mjög ákveðin tegund af röksemdafærslu. 560 00:28:47,310 --> 00:28:51,530 Og þá er það að fara að reyna að kúga strengir sem tákna tölur 561 00:28:51,530 --> 00:28:55,460 í heiltölur sem eru einkunna, sem ég get þá reikna. 562 00:28:55,460 --> 00:28:58,230 >> Svo í rauninni að ég ætla að nota þessa hættu fall sem 563 00:28:58,230 --> 00:29:00,080 er til staðar innan Snögg Standard bókasafn. 564 00:29:00,080 --> 00:29:03,720 Ég ætla að fara inn í það að band sem ég vil að skipta. 565 00:29:03,720 --> 00:29:06,980 Og þá á að nota þetta konar angurvær setningafræði, sem 566 00:29:06,980 --> 00:29:09,670 Ég veit ekki hvort við munum fá að, en kannski, við 567 00:29:09,670 --> 00:29:14,320 verður í raun að tilgreina nákvæm karakter sem við viljum að skipta á. 568 00:29:14,320 --> 00:29:16,030 Svo hvað þýðir þetta í raun líta út? 569 00:29:16,030 --> 00:29:18,740 Við skulum taka a líta á í raun að keyra þennan kóða. 570 00:29:18,740 --> 00:29:22,000 >> Svo til dæmis, við skulum segja að ég hef a quiz og ég fékk 50 á því. 571 00:29:22,000 --> 00:29:23,960 Og ég hef PSETs og Ég fékk hundrað á því. 572 00:29:23,960 --> 00:29:29,180 Og ég got-- það er annað quiz og ég fékk 40 á því. 573 00:29:29,180 --> 00:29:33,520 Ég lenti inn, og að lokum hvað mun gerast er að hvað það er að gera 574 00:29:33,520 --> 00:29:37,730 er að taka þessa þætti, skipta strengir á þessum tvípunkti, 575 00:29:37,730 --> 00:29:41,390 viðurkenna að það er tveir þættir í hverjum og einum, 576 00:29:41,390 --> 00:29:43,700 og það er í raun halda utan um hvert. 577 00:29:43,700 --> 00:29:49,226 >> Þannig að ég hef í orðabók minni quiz, sem gildi er táknuð með fjölda 50, 578 00:29:49,226 --> 00:29:54,290 Ég er með PSET sem hefur gildi 100, og quiz einn sem hefur gildið 40. 579 00:29:54,290 --> 00:29:57,400 Þá seinna í númerið I reyndar meðaltali allar þessar gildi 580 00:29:57,400 --> 00:30:01,160 og skrá alla takkana sem einkum orðabók. 581 00:30:01,160 --> 00:30:03,217 En þetta er mikilvægt þannig að þú getur taka 582 00:30:03,217 --> 00:30:06,050 hvað er að gerast, er að það sem við langar að gera er að taka þetta band 583 00:30:06,050 --> 00:30:11,450 og kljúfa það í þessum toga, sem við getum gert aftur með þessum hættu 584 00:30:11,450 --> 00:30:15,690 virka með þessa tegund af áhugavert setningafræði sem er til hér. 585 00:30:15,690 --> 00:30:17,880 >> Bara nú ráð fyrir að það er í lagi. 586 00:30:17,880 --> 00:30:19,980 Við munum líta meira á þetta í bara smá stund. 587 00:30:19,980 --> 00:30:23,230 En nú er það áhugavert þáttur sem við í raun 588 00:30:23,230 --> 00:30:27,250 vilja til að reyna að breyta þessu band í heila tölu. 589 00:30:27,250 --> 00:30:29,720 En á öðrum tungumálum hvað gæti gerst er 590 00:30:29,720 --> 00:30:33,440 að við myndum líklega reyna að gera það og annaðhvort fá aftur 591 00:30:33,440 --> 00:30:36,185 einhvers konar Sentinel gildi eins og neikvætt 592 00:30:36,185 --> 00:30:39,420 eða kannski null eða eitthvað svoleiðis. 593 00:30:39,420 --> 00:30:41,070 Eða kannski er þetta bara valdið villu. 594 00:30:41,070 --> 00:30:42,820 Og við yrðum að þá grípa þessi villa 595 00:30:42,820 --> 00:30:44,820 og þá reyna að gera eitthvað byggt á þeirri staðreynd 596 00:30:44,820 --> 00:30:48,280 að þessari breytingu að heiltala mistókst. 597 00:30:48,280 --> 00:30:50,460 Það er þar sem þessi hugmynd af optionals kemur. 598 00:30:50,460 --> 00:30:56,120 Þú getur í raun að búa til gögn tegund sem er int spurningarmerki, til dæmis. 599 00:30:56,120 --> 00:30:59,140 600 00:30:59,140 --> 00:31:01,910 Það þýðir að þetta heiltölu er í raun valfrjáls. 601 00:31:01,910 --> 00:31:05,980 Og hvað mun gerast er að það getur innihalda heila tölu, eða það getur ekki. 602 00:31:05,980 --> 00:31:10,650 Það getur í raun verið þetta annað hugmynd, alveg kallað nill. 603 00:31:10,650 --> 00:31:14,900 Þar sem að þýðir að það er ekkert gildi alls á þessu. 604 00:31:14,900 --> 00:31:16,810 Það er ekki einu sinni núll, það er bara ekkert gildi. 605 00:31:16,810 --> 00:31:18,790 Það er engin gildi fulltrúa. 606 00:31:18,790 --> 00:31:21,650 >> Og það er það sem þessi lína 71 er að gera. 607 00:31:21,650 --> 00:31:25,990 Er að það er að segja að ég langar að prófa að setja inn gildi, 608 00:31:25,990 --> 00:31:31,790 breytu sem heitir einkunn, jafnt sem umbreyting á þessum streng er sett inn í Int. 609 00:31:31,790 --> 00:31:34,010 Þannig að ég hef tekið þessa band, þetta Fyrstu hluti, 610 00:31:34,010 --> 00:31:37,680 eða öllu heldur annað hluti, því þetta 611 00:31:37,680 --> 00:31:40,770 er núll verðtryggður þetta band sem ég hef skipt. 612 00:31:40,770 --> 00:31:42,930 Og ég vil að umbreyta að til þess að heiltala. 613 00:31:42,930 --> 00:31:46,730 En það má ekki alltaf að halda áfram venjulega, vegna þess að ímynda sér 614 00:31:46,730 --> 00:31:50,710 hvað myndi gerast ef, frekar en tegund a tala, ég pikka auðvitað eins asdf. 615 00:31:50,710 --> 00:31:51,534 >> Það er að fara að mistakast. 616 00:31:51,534 --> 00:31:54,200 Það er í raun ekki að fara að vera fær um að umbreyta það til heiltala 617 00:31:54,200 --> 00:31:55,510 eins og ég myndi búast við. 618 00:31:55,510 --> 00:31:58,660 Svo frekar en að sparka burt einhvers konar villu, 619 00:31:58,660 --> 00:32:01,210 við höfum þetta hugmynd um valfrjáls. 620 00:32:01,210 --> 00:32:04,240 Og það þýðir að nota þetta spurningarmerki sem ég get sagt, 621 00:32:04,240 --> 00:32:09,100 OK, það er mögulegt að ég get tekið þetta breytir það í int, 622 00:32:09,100 --> 00:32:12,630 og setja það inn í breytu, sem mun einnig vera int. 623 00:32:12,630 --> 00:32:15,420 Ef svo er, þá þýðir að þetta var vel 624 00:32:15,420 --> 00:32:18,720 og þetta fyrsta skammti af blokk getur haldið áfram. 625 00:32:18,720 --> 00:32:21,040 >> Annars tókst það. 626 00:32:21,040 --> 00:32:25,840 Það er ekkert gildi í grade-- eða heldur er það ekkert gildi í núverandi, 627 00:32:25,840 --> 00:32:30,220 og ég hef í raun að reyna að höndla þessa villu ástand. 628 00:32:30,220 --> 00:32:33,340 Þú ert að fara að sjá þetta spurningarmerki allan tímann 629 00:32:33,340 --> 00:32:35,990 í Swift og í dæmi kóða fyrir Swift. 630 00:32:35,990 --> 00:32:40,980 Og í raun nill rekstraraðila sem svona af spurningarmerki, sem optionals hluti, 631 00:32:40,980 --> 00:32:45,057 er að fara að vera sennilega einn af erfiðari hluti 632 00:32:45,057 --> 00:32:47,640 til að raða í sett höfuðið í kring eins og þú vinna í raun með það. 633 00:32:47,640 --> 00:32:48,490 >> Það gæti skynsamleg núna. 634 00:32:48,490 --> 00:32:50,760 Og í raun, þegar ég var skrifa dæmi um kóða fyrir þetta, 635 00:32:50,760 --> 00:32:52,780 vissulega ég skilið hvað var í gangi, 636 00:32:52,780 --> 00:32:55,570 en samt lent mig með óvart í hvert svo oft 637 00:32:55,570 --> 00:32:58,370 þegar ég myndi komast að því að sum gögn voru reyndar 638 00:32:58,370 --> 00:33:04,024 a núll útgáfa, valfrjáls útgáfa þeirra gagna sem ég átti von á. 639 00:33:04,024 --> 00:33:06,190 Svo bara átta sig á að ef þú hafa valfrjálst útgáfa 640 00:33:06,190 --> 00:33:09,360 þú þarft að taka upp að gögn frá þessum kassa. 641 00:33:09,360 --> 00:33:15,870 >> Svo er það tegund af eins I-- ímynda sér ef þú hafa kassa og það inniheldur eitthvað. 642 00:33:15,870 --> 00:33:18,490 Og hvað þú þarft að gera er að spyrja, 643 00:33:18,490 --> 00:33:22,800 er það mögulegt að þessi kassi raun inniheldur gögn sem ég er að leita að? 644 00:33:22,800 --> 00:33:28,180 Ef svo er, þá draga að gögn út og setja það inn í þessa breytu núverandi. 645 00:33:28,180 --> 00:33:32,080 Ef ekki, þá er ég bara að lítilsvirðingu innihald þessa kassa 646 00:33:32,080 --> 00:33:34,310 að öllu leyti vegna þess að það bókstaflega inniheldur ekkert. 647 00:33:34,310 --> 00:33:36,880 648 00:33:36,880 --> 00:33:40,400 >> Einhverjar spurningar um þetta? 649 00:33:40,400 --> 00:33:44,430 OK, við skulum fara í burtu frá þessu konar stjórn lína byggist hlutur 650 00:33:44,430 --> 00:33:47,610 og byrja að horfa á sumir af the tækni 651 00:33:47,610 --> 00:33:53,060 að Xcode veitir okkur í formi leiksvæðum. 652 00:33:53,060 --> 00:33:56,669 Þannig að það er a einhver fjöldi af hæfileiki hér með Swift. 653 00:33:56,669 --> 00:33:59,210 Og ef þú opnar Xcode og það spyr þig hvað þú vilt gera, 654 00:33:59,210 --> 00:34:01,340 þú geta opinn upp á leiksvæði og bara leika í kring 655 00:34:01,340 --> 00:34:06,200 með fullt af mismunandi mannvirkja og þætti tungumálsins 656 00:34:06,200 --> 00:34:11,800 áður en þú byrjar jafnvel að snerta IOS SDK eða Mac SDK. 657 00:34:11,800 --> 00:34:15,670 >> Þannig að þetta mál, við skulum segja að ég have-- Ég er tiltölulega háttuð dæmi 658 00:34:15,670 --> 00:34:18,460 hér, en bera með mér eins og við raða af vinna með þessu dæmi. 659 00:34:18,460 --> 00:34:22,639 Við skulum segja að við verðum að gera a einhver fjöldi af forsprökkum með föstu gildi, 660 00:34:22,639 --> 00:34:26,397 eins og við vitum að við erum að fara að þurfa að gera a einhver fjöldi af fermetra völd, til dæmis. 661 00:34:26,397 --> 00:34:28,980 Þannig að við erum að fara að taka nokkur gildi x, við erum að fara að veldi það, 662 00:34:28,980 --> 00:34:30,540 við erum að fara að taka nokkur gildi y og við erum að fara að veldi það. 663 00:34:30,540 --> 00:34:31,780 Svo framvegis og svo framvegis. 664 00:34:31,780 --> 00:34:35,549 >> Nú við gætum í raun bara að búa til máttur af 2 virka fyrir þetta, ekki satt? 665 00:34:35,549 --> 00:34:37,090 Þannig að við myndum búa til kraft 2 virka. 666 00:34:37,090 --> 00:34:38,600 Við munum taka a tvöfaldur. 667 00:34:38,600 --> 00:34:41,489 Við munum output-- eða við munum skila tvöfalda tegund. 668 00:34:41,489 --> 00:34:46,159 Við munum taka þessa niðurstöðu og þá fyrir tvisvar 669 00:34:46,159 --> 00:34:52,040 það sem við raunverulega taka niðurstöður sem var frumstilla til gildið einn, 670 00:34:52,040 --> 00:34:53,090 og margfalda það með x. 671 00:34:53,090 --> 00:34:56,540 Svo í raun höfum við x sinnum x hér. 672 00:34:56,540 --> 00:35:01,860 >> Og svo þá get ég þá, og við gætum búast, að taka þetta, hlaupa vald af 2, 673 00:35:01,860 --> 00:35:03,680 veita henni sum gögn, eins og ég 2.0. 674 00:35:03,680 --> 00:35:05,756 Og við fáum að sjá niðurstöður hér 4.0. 675 00:35:05,756 --> 00:35:09,200 Hlaupa mátt 2 á 3.2 og vér fá að sjá niðurstöðu okkar, 10,24. 676 00:35:09,200 --> 00:35:10,840 Svo langt svo góður, ekki satt? 677 00:35:10,840 --> 00:35:12,070 Nú erum við að hugsa vel, OK. 678 00:35:12,070 --> 00:35:15,530 Nú þarf ég reyndar að gera a einhver fjöldi af völd 3. 679 00:35:15,530 --> 00:35:19,180 Svo ég afrita líma allt þetta kóða, breyta nafni fallsins frá 680 00:35:19,180 --> 00:35:24,440 máttur af 2 til valda af 3, og allt verður það sama nema fyrir þetta gildi 681 00:35:24,440 --> 00:35:26,740 hér, þetta svið, 1 ... 2. 682 00:35:26,740 --> 00:35:29,590 >> Svo frekar en að endurtaka Þessi lykkja tvisvar, 683 00:35:29,590 --> 00:35:31,880 Ég vil endurtaka þetta lykkju þrisvar sinnum. 684 00:35:31,880 --> 00:35:36,330 Svo ég breyta bara þessi gildi frá 1 til 3-- eða frekar 2-3. 685 00:35:36,330 --> 00:35:39,230 Svo aftur, sama kóða, það er eina breytingin. 686 00:35:39,230 --> 00:35:40,080 Nú þetta virkar líka. 687 00:35:40,080 --> 00:35:43,860 Kraftur 3 veitt í sumum verðmæti 2. 688 00:35:43,860 --> 00:35:44,420 Við fáum 8. 689 00:35:44,420 --> 00:35:45,370 Svo 2 cubed. 690 00:35:45,370 --> 00:35:48,060 3,2 cubed er 32,768. 691 00:35:48,060 --> 00:35:50,597 Og svo langt svo góður, ekki satt? 692 00:35:50,597 --> 00:35:52,930 En vonandi er þetta aðeins hluti af rauðum fána fyrir þig 693 00:35:52,930 --> 00:35:55,530 í að við höfum nú sumir endurtekning af kóða 694 00:35:55,530 --> 00:35:58,800 nema fyrir suma mjög minniháttar breyta frá einu til annars. 695 00:35:58,800 --> 00:36:02,170 Svo er einhver leið að við gætum vera fær til að einfalda 696 00:36:02,170 --> 00:36:06,080 þetta vandamál, þar sem við getum í raun, á hlaupa tíma, reikna út sumir, 697 00:36:06,080 --> 00:36:11,320 veita okkur einhverja aðgerð sem hefur einmitt kraftur sem við viljum. 698 00:36:11,320 --> 00:36:13,960 >> Og það er þessi hugmynd um lokanir, sem er virkilega, virkilega 699 00:36:13,960 --> 00:36:18,180 mikilvægt í samhengi við Swift, og í mörgum öðrum tungumálum eins og heilbrigður. 700 00:36:18,180 --> 00:36:21,580 En sennilega þú munt sjá það er notað meira svo í Swift 701 00:36:21,580 --> 00:36:23,650 vegna þess að það er fellt í tungumálinu 702 00:36:23,650 --> 00:36:28,280 en þú verður í öðrum einnig nútíma tungumálum. 703 00:36:28,280 --> 00:36:31,140 Svo hugmyndinni um lokun er þetta, er að við 704 00:36:31,140 --> 00:36:35,430 getur haft fall sem er ætlað að vera almenn aðgerð, almenn máttur 705 00:36:35,430 --> 00:36:36,860 virkni. 706 00:36:36,860 --> 00:36:41,010 >> Og þessi aðgerð er að fara að taka þetta veldisvísirinn sem við í raun 707 00:36:41,010 --> 00:36:42,990 vilt búa til. 708 00:36:42,990 --> 00:36:46,550 Svo til dæmis, the mjög fyrstur dæmi, vildi við kraft 2. 709 00:36:46,550 --> 00:36:50,050 Þannig að við myndi veita styrk af og þá í sviga 2. 710 00:36:50,050 --> 00:36:52,490 Og nú taka það þetta í raun skilar. 711 00:36:52,490 --> 00:36:57,680 Þetta tekur inntak af visi kallað Y sem er heil tala, 712 00:36:57,680 --> 00:37:03,090 og það skilar þetta brjálaður útlit hlutur í parentheses-- sviga 713 00:37:03,090 --> 00:37:06,230 tvöfaldur og þá arrow tvöfalt. 714 00:37:06,230 --> 00:37:10,270 >> Hvað þýðir þetta er að ég er fara að skila aðgerð. 715 00:37:10,270 --> 00:37:13,510 Ég ætla ekki að koma aftur annars konar gögn, ég er 716 00:37:13,510 --> 00:37:16,350 í raun aftur aðgerð sem hefur þessa breytu, sem 717 00:37:16,350 --> 00:37:22,680 tekur tvöfalt sem inntak og framleiðsla tvöfalt sem skilagildi. 718 00:37:22,680 --> 00:37:29,750 Og þar af leiðandi, því nú hef ég kallað máttur, sem liggur í sumum gildi fyrir y, 719 00:37:29,750 --> 00:37:32,280 og ég er að búa þetta annað function-- tilkynningu að það er 720 00:37:32,280 --> 00:37:35,980 Önnur starfsemi sem er að myndast inni this-- hvað ég er að gera 721 00:37:35,980 --> 00:37:37,830 er ég þá að breyta að gildi, að einn 722 00:37:37,830 --> 00:37:41,010 gildi sem ég hafði breytt 2-3, að ég nú y. 723 00:37:41,010 --> 00:37:42,500 >> Og þetta er viðvarandi. 724 00:37:42,500 --> 00:37:48,530 Svo í hvert sinn sem ég kalla vald af, í raun hvað gerist 725 00:37:48,530 --> 00:37:51,030 er að ég fá aftur aðgerð. 726 00:37:51,030 --> 00:37:54,310 Takið eftir að hér er ég hef skilgreint ný breytu sem heitir ferningur. 727 00:37:54,310 --> 00:37:59,340 Ég hef sett það jafn krafti, veitt þetta gildið 2 í krafti. 728 00:37:59,340 --> 00:38:02,030 Og hvað þetta aftur er að virka. 729 00:38:02,030 --> 00:38:05,970 Svo veldi, breytu veldi, er nú á typefunction 730 00:38:05,970 --> 00:38:11,390 sem hefur this-- Úps, fletta upp lítið bit-- sem hefur þessa undirskrift, 731 00:38:11,390 --> 00:38:15,560 taka a tvöfaldur og framleiðsla tvöfalt. 732 00:38:15,560 --> 00:38:17,330 >> Svo nú það sem ég hef gert er ég hef í raun 733 00:38:17,330 --> 00:38:22,890 skapað virka kallast ferning sem samþykkir hvaða gildi og mun veldi það. 734 00:38:22,890 --> 00:38:24,960 Við sjáum hvað gerist hérna. 735 00:38:24,960 --> 00:38:29,960 Square 3 til dæmis, þýðir að ég ætla að fara að taka gildið 3 og veldi það. 736 00:38:29,960 --> 00:38:32,010 Svo hvernig nákvæmlega virkar þetta? 737 00:38:32,010 --> 00:38:37,800 Þegar ég fara kraft 2-- þegar ég fara 2 í þessum krafti virka, 738 00:38:37,800 --> 00:38:44,430 þessi breyta Y er byggð með það gildi 2. 739 00:38:44,430 --> 00:38:46,340 Og það er eins konar haldin í minni. 740 00:38:46,340 --> 00:38:49,430 Það er tegund af eins og haldið í ástand einhvers staðar í tölvunni, 741 00:38:49,430 --> 00:38:51,980 við í raun ekki sama hvernig eða þar sem á þessum tímapunkti. 742 00:38:51,980 --> 00:38:54,692 >> En ég aftur á þessa aðgerð kallað exponentiate. 743 00:38:54,692 --> 00:38:57,400 Og aftur, það skiptir ekki máli hvað þessi aðgerð er kölluð, 744 00:38:57,400 --> 00:39:01,730 getum við virkilega kalla það neitt, að samþykkir að tvöfalda og skilar tvöfalt, 745 00:39:01,730 --> 00:39:05,640 en notar þessa gildið y inni af því. 746 00:39:05,640 --> 00:39:09,290 Svo jafnvel þó að það er þessi aðgerð, þetta exponentiater fall sem er 747 00:39:09,290 --> 00:39:13,600 verið skilað aftur til mín breyta sem ég kallaði veldi, 748 00:39:13,600 --> 00:39:17,980 það hefur að geyma í henni þessi hugmynd um hvað Y var. 749 00:39:17,980 --> 00:39:19,070 Og það man það. 750 00:39:19,070 --> 00:39:24,810 >> Svo í hvert sinn sem ég kalla að virka sem heitir nú veldi, notar það það. 751 00:39:24,810 --> 00:39:27,990 En þetta þýðir líka að ég get búa til annan breytu með 752 00:39:27,990 --> 00:39:29,120 annað vald. 753 00:39:29,120 --> 00:39:33,240 Svo ég er að búa til teningur breytu, til dæmi, að veita henni kraft 3. 754 00:39:33,240 --> 00:39:37,230 Nú teningur vilja raunverulega taka sumir gildi og teningur sem og skila. 755 00:39:37,230 --> 00:39:39,570 Þannig að við getum séð að ég fengið gildi 8 af því. 756 00:39:39,570 --> 00:39:42,720 >> En það gildi Y hefur ekki breytt því þeir eru 757 00:39:42,720 --> 00:39:44,980 haldinn í konar breytur. 758 00:39:44,980 --> 00:39:47,480 Þau eru eins konar haldin í sjálfstæðir rými í minni. 759 00:39:47,480 --> 00:39:51,290 Svo teningur mun alltaf hafa x að krafti 3. 760 00:39:51,290 --> 00:39:55,380 Og veldi mun alltaf hafa x að krafti 2, sem 761 00:39:55,380 --> 00:39:58,470 þýðir að veldi verður alltaf ferningur tölur, eins og ég von á. 762 00:39:58,470 --> 00:40:01,794 Og teningur mun alltaf cubed tölur, eins og ég búast við. 763 00:40:01,794 --> 00:40:04,960 Þetta þýðir einnig að stundum getur fá einhverskonar angurvær útlit setningafræði 764 00:40:04,960 --> 00:40:09,030 þar sem þú hefur mátt á mjög neðst á skjánum hér, mátt 5. 765 00:40:09,030 --> 00:40:11,410 Og þú fara inn í kjölfarið. 766 00:40:11,410 --> 00:40:14,670 Þú kalla þessi aðgerð sem er verið skilað með númer 4. 767 00:40:14,670 --> 00:40:17,440 Og svo hvað í raun þetta er 4 til fimmta vald, 768 00:40:17,440 --> 00:40:20,830 getum við séð niðurstöður þar. 769 00:40:20,830 --> 00:40:23,690 Með mér svo langt? 770 00:40:23,690 --> 00:40:26,620 >> Svo þessi hugmynd er kallað lokun, vegna þess hvað við erum í rauninni að gera 771 00:40:26,620 --> 00:40:30,610 er að við erum að encapsulating sumir gögn into-- konar 772 00:40:30,610 --> 00:40:33,050 af umlykja þessi gögn í aðgerð og við erum 773 00:40:33,050 --> 00:40:36,240 vera fær um að endurnýta þessa aðgerð. 774 00:40:36,240 --> 00:40:41,480 Nú þetta setningafræði getur þó í raun að einfalda mikið magn. 775 00:40:41,480 --> 00:40:45,005 Og það er fullt af möguleika í Swift fyrir þennan einföldun. 776 00:40:45,005 --> 00:40:47,780 Og það er það tegund af síðari sjálfur í raun að líta á. 777 00:40:47,780 --> 00:40:51,400 Svo í 7b td við taka þetta nákvæmlega sama kóða. 778 00:40:51,400 --> 00:40:54,360 >> En nú frekar en reyndar skilgreina fall 779 00:40:54,360 --> 00:40:57,910 inni þessa krafti virka og gefa það a nafn, 780 00:40:57,910 --> 00:41:00,150 og síðan aftur nafn þeirrar starfsemi sem 781 00:41:00,150 --> 00:41:02,357 þá er notað sem hluti af þessi lokun, í stað erum við 782 00:41:02,357 --> 00:41:03,440 bara að fara að einfalda það. 783 00:41:03,440 --> 00:41:06,580 Við þurfum ekki þessa aðgerð til að vera heitir. 784 00:41:06,580 --> 00:41:09,760 Þannig að þetta er hugtakið sem nafnlaus virka þar sem við getum þá 785 00:41:09,760 --> 00:41:15,180 taka sem inntak, í sviga hér, breytan x sem er af tegund manna. 786 00:41:15,180 --> 00:41:17,250 >> Við erum að fara að skila tegund manna. 787 00:41:17,250 --> 00:41:19,830 Og þá leitarorðið, n, er upphaf þessa aðgerð. 788 00:41:19,830 --> 00:41:22,180 Svo eftir því að allt þetta er innan hrokkið sviga 789 00:41:22,180 --> 00:41:25,310 og við erum að skilgreina nafnlaus virka hér. 790 00:41:25,310 --> 00:41:29,910 Bara einfaldari leið skilgreina nákvæmlega það sama. 791 00:41:29,910 --> 00:41:30,810 OK? 792 00:41:30,810 --> 00:41:36,740 En bíddu, Swift gerir í raun okkur að ganga lengra og einfalda enn meira, 793 00:41:36,740 --> 00:41:40,180 því í raun að við gerum ekki sama að þessi stilling er 794 00:41:40,180 --> 00:41:41,700 heitir neina sérstaka hlutur. 795 00:41:41,700 --> 00:41:48,090 Það geta í raun að kalla neitt og við getum samt notað það fyrst breytu. 796 00:41:48,090 --> 00:41:53,800 >> Svo í raun er þetta sérstakt tegund gagna í nafnlaus virka, 797 00:41:53,800 --> 00:41:57,710 það er þetta sérstaka nafn breytur í nafnlaus virka 798 00:41:57,710 --> 00:42:00,280 að byrja með dollara merki og tákna 799 00:42:00,280 --> 00:42:03,785 breytu tölur, núll verðtryggð, fyrir þessa aðgerð. 800 00:42:03,785 --> 00:42:05,410 Þannig að það er a par af hlutur að fara á. 801 00:42:05,410 --> 00:42:08,550 Hér ætla ég að koma aftur, og þá hrokkið Brace fulltrúi aðgerð, 802 00:42:08,550 --> 00:42:09,050 ekki satt? 803 00:42:09,050 --> 00:42:13,920 >> Takið eftir að ég hafa ekki skilgreint sem breytu tegundir eða aftur gerð. 804 00:42:13,920 --> 00:42:16,460 Það geta í raun að álykta vegna þess að undirskrift 805 00:42:16,460 --> 00:42:18,360 í þessu upphaflega virka. 806 00:42:18,360 --> 00:42:20,500 Þannig að við getum útrýma að í þeim efnum. 807 00:42:20,500 --> 00:42:25,120 En líka að ég get notað dollaramerki núll til tákna þessa fyrstu breytu sem er 808 00:42:25,120 --> 00:42:28,200 lentu í þessu nafnlaus virka. 809 00:42:28,200 --> 00:42:31,630 Svo einfalda það enn meira. 810 00:42:31,630 --> 00:42:32,750 OK? 811 00:42:32,750 --> 00:42:33,820 Svo langt, svo góður? 812 00:42:33,820 --> 00:42:36,980 >> Nú er það þetta type-- gera þér muna þetta skilti dollara núll 813 00:42:36,980 --> 00:42:40,130 sem við sáum í þessum hrokkið borsveif að við sáum bara smá á meðan 814 00:42:40,130 --> 00:42:43,870 síðan í þessu Swift sex dæmi? 815 00:42:43,870 --> 00:42:46,560 Það var hérna. 816 00:42:46,560 --> 00:42:48,430 Takið eftir það er einmitt það sem við erum að horfa á, 817 00:42:48,430 --> 00:42:51,580 er að við höfum staðist í þessari hættu virka 818 00:42:51,580 --> 00:42:55,140 nafnlaus aðgerð sem athugar Fyrsta breytan 819 00:42:55,140 --> 00:42:57,830 til að sjá hvort það er jafn ristill tákn. 820 00:42:57,830 --> 00:42:59,830 Og það er einmitt það sem er gerast, er að allir 821 00:42:59,830 --> 00:43:02,320 við erum doing-- aftur leitarorð er gefið í skyn 822 00:43:02,320 --> 00:43:05,800 í þessu case-- við erum aftur þetta gildi þar sem við erum að bera saman 823 00:43:05,800 --> 00:43:10,020 Fyrsta breytan gegn þessi karakter ristill. 824 00:43:10,020 --> 00:43:11,730 Og svo þessi tegund af demystifies þetta. 825 00:43:11,730 --> 00:43:17,210 Og þú ert að fara að sjá þessa reisa a einhver fjöldi í Swift setningafræði, svo gera að halda að 826 00:43:17,210 --> 00:43:19,400 í huga þegar þú ert taka a líta á þetta. 827 00:43:19,400 --> 00:43:21,970 Nú getum við fengið burt teinn svolítið 828 00:43:21,970 --> 00:43:25,460 og fara virkilega fínt að sýningum jafnvel meira af krafti Swift. 829 00:43:25,460 --> 00:43:27,950 Þú gætir jafnvel sjá nokkrar af þessum á númerum sýnishorn. 830 00:43:27,950 --> 00:43:29,790 Svo er það hvers vegna ég er að fara að sýna þér þetta. 831 00:43:29,790 --> 00:43:37,260 >> Í grundvallaratriðum það sem við getum gert er að fyrst af öllu, það var eins konar Óþarfur fyrir mig 832 00:43:37,260 --> 00:43:41,710 að framkvæma öll þessi krafti kóða því ef þú flytja Darwin 833 00:43:41,710 --> 00:43:46,490 bókasafn, það felur í raun aðgerð heitir Pow sem gerir þetta fyrir þig. 834 00:43:46,490 --> 00:43:50,570 Svo við getum einfalda það enn meira og hafa vald upp fallið nú bara 835 00:43:50,570 --> 00:43:54,890 vera yndislegt einn Ferja þar sem við bara aftur þetta nafnlaus aðgerð sem 836 00:43:54,890 --> 00:44:00,780 tekur dollaramerki 0 þar sem hún stöð og y sem veldisvísi hennar. 837 00:44:00,780 --> 00:44:02,582 >> En við getum fengið í raun, mjög fínt þegar við 838 00:44:02,582 --> 00:44:04,790 átta sig á að Swift hefur mikið vald undir hetta. 839 00:44:04,790 --> 00:44:07,010 A einhver fjöldi af rekstraraðila sem við höfum verið að fást við, 840 00:44:07,010 --> 00:44:11,270 auk merki og skiptingu tákn og allt þetta sem þú venjulega 841 00:44:11,270 --> 00:44:15,620 starfa með með gagnatög í forritunarmáli, 842 00:44:15,620 --> 00:44:17,600 eru í raun teygjanlegur í Swift. 843 00:44:17,600 --> 00:44:21,460 Svo hvað það þýðir í að við getur skilgreint eigin rekstraraðila okkar. 844 00:44:21,460 --> 00:44:26,020 >> Svo nú er ég þreyttur á að slá í öllu þessu Pow og þá svigum og þá 845 00:44:26,020 --> 00:44:26,520 stöð. 846 00:44:26,520 --> 00:44:27,520 Ég vil ekki að gera það. 847 00:44:27,520 --> 00:44:30,190 Ég vil í raun til að hafa rekstraraðili sem leyfir mér að gera það. 848 00:44:30,190 --> 00:44:34,510 Svo ég get sagt Swift sem ég vil að búa til rekstraraðila, stjörnu 849 00:44:34,510 --> 00:44:39,472 star-- eftir því hvernig ég get ekki notað karat vegna þess að karat er rekstraraðili sem 850 00:44:39,472 --> 00:44:40,680 gerir eitthvað annað algjörlega. 851 00:44:40,680 --> 00:44:42,720 Svo ég vil ekki að raða af rekast með það. 852 00:44:42,720 --> 00:44:45,750 Og svo það sem þú sérð í ýmsum tungumálum, þar á meðal Python, 853 00:44:45,750 --> 00:44:48,810 er eins stjörnu stjörnu rekstraraðila að tákna veldisvisisins. 854 00:44:48,810 --> 00:44:50,730 >> Svo er það eina ástæðan hvers vegna ég hef gert það. 855 00:44:50,730 --> 00:44:53,067 Og það er að fara að vera infix tegund rekstraraðila. 856 00:44:53,067 --> 00:44:54,900 Og ég verð að veita að það einhverjar upplýsingar 857 00:44:54,900 --> 00:44:58,386 um forgang þessa rekstraraðila svo það vinstri tengin. 858 00:44:58,386 --> 00:45:00,260 Það er eins og tiltölulega hár forgang samanborið 859 00:45:00,260 --> 00:45:02,432 að samantekt eða margföldun. 860 00:45:02,432 --> 00:45:04,140 Það er hærra forgang en allir þeir. 861 00:45:04,140 --> 00:45:04,931 Svo framvegis og svo framvegis. 862 00:45:04,931 --> 00:45:07,410 Og þá er ég skilgreina virka sem raunverulega 863 00:45:07,410 --> 00:45:10,070 ræður hvað þessi flugrekandi gerir. 864 00:45:10,070 --> 00:45:14,150 Svo miðað við að ég hef vinstri hönd hlið og hægri hönd hlið, 865 00:45:14,150 --> 00:45:17,330 sem væri kannski betri breytuheiti fyrir þetta. 866 00:45:17,330 --> 00:45:20,690 Vinstri hlið og hægri hönd hlið. 867 00:45:20,690 --> 00:45:26,740 Ég get þá taka þetta vald af vinstri hlið til hægri hönd 868 00:45:26,740 --> 00:45:28,980 og aftur þá gildi. 869 00:45:28,980 --> 00:45:30,370 Svo nú er það frábær sætur. 870 00:45:30,370 --> 00:45:33,790 Allt sem við þurfum að gera er 2 star stjarna 3 og það er 2 til þar sem þriðja aflið, 871 00:45:33,790 --> 00:45:35,290 og við fáum útkomuna 8. 872 00:45:35,290 --> 00:45:40,280 2 star stjarna 10 er 2 til 10. máttur, fáum við 1024. 873 00:45:40,280 --> 00:45:43,630 >> Svo nú máttur okkar virka, sem aftur er mismunandi, 874 00:45:43,630 --> 00:45:47,030 vegna þess að allt hugmynd á bak við þetta var að við höfum eitt fall sem 875 00:45:47,030 --> 00:45:50,700 tekur alltaf nokkur gildi og margfaldar it-- eða frekar 876 00:45:50,700 --> 00:45:53,240 tekur Eksponenten til sama krafti. 877 00:45:53,240 --> 00:45:54,300 Svo nú er það jafnvel einfaldara. 878 00:45:54,300 --> 00:45:57,070 Svo nú er það bara dollara undirrita 0 stjörnu stjörnu y. 879 00:45:57,070 --> 00:46:01,190 Við gerum ekki einu sinni að nota Pow lengur. 880 00:46:01,190 --> 00:46:03,020 >> OK, sem er glatað? 881 00:46:03,020 --> 00:46:03,700 Erum við að gera OK? 882 00:46:03,700 --> 00:46:05,090 Einhverjar spurningar um þetta efni? 883 00:46:05,090 --> 00:46:05,815 Já? 884 00:46:05,815 --> 00:46:09,500 >> Áhorfendur: Þegar you-- [inaudible] sem fönk máttur y tvöfalt. 885 00:46:09,500 --> 00:46:11,441 Svo þegar þú ert að skila hlutverki. 886 00:46:11,441 --> 00:46:13,190 DANIEL ARMENDARIZ: Funk máttur y tvöfalt. 887 00:46:13,190 --> 00:46:14,270 Ó já, ég veit ekki hvað y tölur eru. 888 00:46:14,270 --> 00:46:15,708 Afsakið að. 889 00:46:15,708 --> 00:46:19,420 >> Áhorfendur: Hvers vegna ert þú aftur fall [inaudible] girðing. 890 00:46:19,420 --> 00:46:24,214 Er ekki dollara núll stjörnu stjörnu Y [inaudible] 891 00:46:24,214 --> 00:46:29,710 komast að því að fjarskiptafyrirtæki með að aftur tvöfaldur [inaudible] tvöfalt? 892 00:46:29,710 --> 00:46:32,742 >> DANIEL ARMENDARIZ: Svo skulum mig að svara spurningunni þinni 893 00:46:32,742 --> 00:46:35,950 hvernig ég skil það og þú getur sagt mér ef ég skildi ekki spurninguna þína. 894 00:46:35,950 --> 00:46:42,850 Þannig að þetta reisa, sem hrokkið Brace dollaramerki núll stjörnu stjörnu Y, 895 00:46:42,850 --> 00:46:44,280 er fall. 896 00:46:44,280 --> 00:46:50,080 Og það tekur breytu sem er fulltrúi þessa dollaramerki núll. 897 00:46:50,080 --> 00:46:55,830 Afrakstur leitarorð er gefið í skyn í þessu mjög stutt, nafnlaus virka setningafræði. 898 00:46:55,830 --> 00:46:57,870 >> Sem þýðir að í raun hvað þetta er að segja 899 00:46:57,870 --> 00:47:01,270 er að ég er að skilgreina a function-- og þá ég 900 00:47:01,270 --> 00:47:05,320 bara kalla það something-- þar sem ég hef fengið gildið y. 901 00:47:05,320 --> 00:47:08,300 Ég hef y, sem er tvöfalt. 902 00:47:08,300 --> 00:47:10,750 Og ég er aftur a tvöfaldur. 903 00:47:10,750 --> 00:47:19,010 Og ég hef í þeim endurfundum y-- miður, Ég ætti ekki að hafa kallað þetta y-- x. 904 00:47:19,010 --> 00:47:20,240 Ó kæri, ó kæri, ó kæri. 905 00:47:20,240 --> 00:47:27,440 X-- nope-- stjörnu stjörnu y. 906 00:47:27,440 --> 00:47:29,720 >> Svo er þetta bara einfölduð útgáfa af þessu. 907 00:47:29,720 --> 00:47:33,990 Og svo ástæðan að ég hef dollara merki núll er að nota þessa girðing 908 00:47:33,990 --> 00:47:41,050 þýðir að ég hef ekki lengur að slá Pow, eða ekki lengur að gera 909 00:47:41,050 --> 00:47:45,570 Ég verð að gera eitthvað eins og 3 stjörnu stjörnu 2. 910 00:47:45,570 --> 00:47:48,530 Ég get bara einn virka kallast veldi 911 00:47:48,530 --> 00:47:50,820 sem mun alltaf taka eitthvert gildi sem inntak 912 00:47:50,820 --> 00:47:52,980 og í raun aftur veldi af því. 913 00:47:52,980 --> 00:47:56,460 >> Svo allt tilgangur lokun er bara svona að þjappa því 914 00:47:56,460 --> 00:47:59,920 að ég vil alltaf að nota y hvenær Ég kalla að virka eins og krafti 915 00:47:59,920 --> 00:48:01,710 þegar þú tekur þetta eksponent. 916 00:48:01,710 --> 00:48:04,650 Svo aftur þá, a fall sem tekur 917 00:48:04,650 --> 00:48:08,460 tvöfaldur, sem er undirstaða, og skila niðurstöðu þeirrar veldisvísi 918 00:48:08,460 --> 00:48:10,740 er lykillinn hér. 919 00:48:10,740 --> 00:48:12,790 Og það er mikil sóma. 920 00:48:12,790 --> 00:48:14,430 Það var bara hluti af blómstra. 921 00:48:14,430 --> 00:48:17,970 >> Þetta er ekki eitthvað öðruvísi í samanburði við fyrri dæmum, 922 00:48:17,970 --> 00:48:20,530 en það var bara hluti af a blómstra við getum í raun 923 00:48:20,530 --> 00:48:24,500 búa til rekstraraðila í Swift og í raun gera efni með það, 924 00:48:24,500 --> 00:48:26,396 sem er góður af a kaldur hlutur. 925 00:48:26,396 --> 00:48:27,520 Sagði ég að svara spurningunni þinni? 926 00:48:27,520 --> 00:48:28,390 Sweet. 927 00:48:28,390 --> 00:48:31,350 Allt annað áður en við halda áfram? 928 00:48:31,350 --> 00:48:33,570 OK. 929 00:48:33,570 --> 00:48:36,430 >> Nú þessa tegund af bidur Spurningin er that-- vel OK, 930 00:48:36,430 --> 00:48:40,870 nú höfum við getu til aðgerðir til að koma aftur. 931 00:48:40,870 --> 00:48:48,950 Getum við fara líka virka eins gögn eða eins og breytum öðrum aðgerðum? 932 00:48:48,950 --> 00:48:50,710 Og í raun við getum. 933 00:48:50,710 --> 00:48:53,480 Svo skulum segja að við höfum allar sama kóða. 934 00:48:53,480 --> 00:48:56,120 Við höfum torginu breytu sem mun veldi þennan kóða. 935 00:48:56,120 --> 00:48:59,320 Og við höfum teningur breytu sem mun teningur einhverjum gögnum. 936 00:48:59,320 --> 00:49:02,440 Og við viljum í raun að sækja um til a breiður svið af tölum. 937 00:49:02,440 --> 00:49:06,870 >> Svo hvað við gætum freistast til að gera, auðvitað, sem er vissulega gild, 938 00:49:06,870 --> 00:49:15,430 er að iterate yfir þennan lista af tölum og beita aðgerðir mínar veldi og teningur 939 00:49:15,430 --> 00:49:22,270 og fá tvo nýja lista úrslit sem eru á þessu upprunalega lista veldi 940 00:49:22,270 --> 00:49:24,970 og cubed, hver um sig. 941 00:49:24,970 --> 00:49:26,880 Fullkomlega ásættanlegt. 942 00:49:26,880 --> 00:49:29,130 En hvað er það sem við sjáum hér er að við höfum, 943 00:49:29,130 --> 00:49:31,310 aftur, fjölföldun kóða. 944 00:49:31,310 --> 00:49:34,310 Og það er kannski tækifæri fyrir okkur að einfalda þetta svolítið. 945 00:49:34,310 --> 00:49:41,260 Hvað ef það væri leið fyrir okkur að reyndar alltaf kunnugt um einhverja lista 946 00:49:41,260 --> 00:49:45,450 og bara fara að þessu töfrandi virka breytu sem 947 00:49:45,450 --> 00:49:47,350 táknar fall að við viljum sækja 948 00:49:47,350 --> 00:49:50,336 við hvert einasta atriði í þessum lista. 949 00:49:50,336 --> 00:49:53,210 Þetta kemur upp hugmynd um hvað eru kallaðir æðra virka. 950 00:49:53,210 --> 00:49:57,150 Og það er fyrst og fremst hvað þetta er, er að við getum búið til aðgerð. 951 00:49:57,150 --> 00:50:00,210 >> Og í þessu tilfelli það er kallað Mapper, bara til að gefa það a nafn, bara 952 00:50:00,210 --> 00:50:02,510 kortlagning á hverjum liðurinn í lista. 953 00:50:02,510 --> 00:50:06,191 Þar sem ég taka lista og ég tek aðgerð. 954 00:50:06,191 --> 00:50:08,440 Og að virka, að sjálfsögðu, hefur ákveðið undirskrift. 955 00:50:08,440 --> 00:50:11,980 Það tekur sem viðfang tvöföld og það mun framleiðsla er tvöfaldur. 956 00:50:11,980 --> 00:50:14,310 Og allt vegna þessi aðgerð er að fara 957 00:50:14,310 --> 00:50:18,921 að vera nýr listi sem er af tegund manna. 958 00:50:18,921 --> 00:50:19,420 OK? 959 00:50:19,420 --> 00:50:22,650 >> Og það sem ég ætla að gera er að beita þessari fallið f 960 00:50:22,650 --> 00:50:24,960 að hver þáttur í listanum mínum. 961 00:50:24,960 --> 00:50:30,280 Og reply-- og frekar aftur þetta nýja listi vegna, sem er mjög flott. 962 00:50:30,280 --> 00:50:31,820 Nú get ég framhjá virka kring. 963 00:50:31,820 --> 00:50:35,290 Og þessi hugmynd um æðra aðgerðir er mjög mikilvægt. 964 00:50:35,290 --> 00:50:39,260 Og þetta Mapper er í raun bara framkvæmd fátæka mannsins 965 00:50:39,260 --> 00:50:43,130 falls sem er byggð í Swift kallast kort. 966 00:50:43,130 --> 00:50:45,690 Og það er einmitt þetta, jafnvel svolítið betur. 967 00:50:45,690 --> 00:50:48,260 >> Þetta er bara svona almenn, einfölduð útgáfa sem 968 00:50:48,260 --> 00:50:51,270 gerir okkur kleift að sjá hugtak sem gildir hér. 969 00:50:51,270 --> 00:50:54,630 Nú líta á þann hátt sem ég getur beitt veldi mitt 970 00:50:54,630 --> 00:50:57,850 og teningur virka mínar þessum lista af tölum. 971 00:50:57,850 --> 00:50:58,780 Ég keyrt mapper mína. 972 00:50:58,780 --> 00:51:00,280 Ég veita henni lista minn númer. 973 00:51:00,280 --> 00:51:02,155 Ég veita að henni er að fall sem er að gerast 974 00:51:02,155 --> 00:51:04,170 að gilda um hvert þessara vísitalna. 975 00:51:04,170 --> 00:51:07,120 Og það er að fara að vera framleiðsla í kjölfarið. 976 00:51:07,120 --> 00:51:11,810 Og ég mun fá að sjá að ég hef veldi og cubed tölur mínar í kjölfarið. 977 00:51:11,810 --> 00:51:14,660 >> Og auðvitað Mapper mun taka hvers konar nafnlaus virka. 978 00:51:14,660 --> 00:51:17,640 Við getum jafnvel séð að ég hef búið ný nafnlaus aðgerð sem 979 00:51:17,640 --> 00:51:20,220 bara tekur nokkur breytu og skiptir það um 2. 980 00:51:20,220 --> 00:51:24,340 Og við getum séð að ég hef í raun, skipt listanum mínum um 2 í staðinn. 981 00:51:24,340 --> 00:51:25,250 Cool? 982 00:51:25,250 --> 00:51:27,340 Svo langt, svo góður? 983 00:51:27,340 --> 00:51:29,650 Allt í lagi, nú skulum koma aftur á þessa hugmynd. 984 00:51:29,650 --> 00:51:36,160 Við skulum framkvæma þetta aftur í tengslum við gradebook. 985 00:51:36,160 --> 00:51:41,860 >> Og ef ég geri það, getum við séð að ég get gilda fjölbreytt úrval af þessum options-- 986 00:51:41,860 --> 00:51:44,330 eða a breiður fjölbreytni af þessum hærri röð aðgerðir 987 00:51:44,330 --> 00:51:51,450 að í raun einfalda getu mína til að gera a Ýmsar hluti á lista yfir númer. 988 00:51:51,450 --> 00:51:53,660 Svo til dæmis, ef ég taka lista af tölum, 989 00:51:53,660 --> 00:51:57,060 einn af hærri röð aðgerðir sem er til staðar er heitir draga. 990 00:51:57,060 --> 00:52:00,080 Hvað draga gerir frekar en kortinu, minnkar mun 991 00:52:00,080 --> 00:52:03,710 taka tvo þætti á listanum, mun taka sumir virka sem 992 00:52:03,710 --> 00:52:07,420 saman tvö þætti lista, og það verður þá 993 00:52:07,420 --> 00:52:09,610 konar output-- að framleiðsla að virka 994 00:52:09,610 --> 00:52:13,790 mun vera annar þáttur sem þú bera saman þá til annarra. 995 00:52:13,790 --> 00:52:18,190 >> Svo þú gætir notað þetta til í raun og veru Summa talnanna í listanum þínum. 996 00:52:18,190 --> 00:52:20,640 Til dæmis, ef þú hefðir listi yfir 1, 2, 3, 4, 5, 997 00:52:20,640 --> 00:52:22,940 þú taka fyrstu þætti, 1 og 2. 998 00:52:22,940 --> 00:52:27,270 Þú getur sótt um að það viðbót fall sem tekur þá tvo þætti 999 00:52:27,270 --> 00:52:30,980 og spits út einn af þeim þáttum, sem myndi vera gildið 3. 1000 00:52:30,980 --> 00:52:35,684 Þá erum við að taka þessi gildið 3 með næsta þáttur í listanum, summa þeirra tveggja, 1001 00:52:35,684 --> 00:52:37,100 og þá halda áfram niður listann. 1002 00:52:37,100 --> 00:52:40,410 >> Við erum að draga úr því lista til eitt gildi. 1003 00:52:40,410 --> 00:52:42,700 Og það bara svo gerist að plúsmerkið 1004 00:52:42,700 --> 00:52:44,670 er rekstraraðili, rétt eins og við sáum bara. 1005 00:52:44,670 --> 00:52:47,500 Þessi stjórnandi er í raun fall sem 1006 00:52:47,500 --> 00:52:53,100 hefur einmitt þennan lista sem við myndi vilja, frekar þessar eignir 1007 00:52:53,100 --> 00:52:54,770 að við myndum vilja. 1008 00:52:54,770 --> 00:52:56,760 Svo ég hvet þig til að taka a líta á þetta. 1009 00:52:56,760 --> 00:52:59,290 Ég vil að raða á ferðinni á frá sumir af þessum kóða 1010 00:52:59,290 --> 00:53:05,330 svo að við getum í raun líta á sumir raunveruleg, alvöru, satt Swift í Xcode, 1011 00:53:05,330 --> 00:53:06,880 í iOS þróun. 1012 00:53:06,880 --> 00:53:08,630 En taka a líta á þetta og sjá hvort þú getur 1013 00:53:08,630 --> 00:53:11,171 flokka í gegnum hvað er að gerast með nokkrum af þessum hærri röð 1014 00:53:11,171 --> 00:53:13,790 aðgerðir þ.mt sía, draga, og þú munt jafnvel 1015 00:53:13,790 --> 00:53:17,060 sjá einhvers staðar hér kort eins og heilbrigður. 1016 00:53:17,060 --> 00:53:17,910 Það er hérna. 1017 00:53:17,910 --> 00:53:20,410 Þar sem hún mun taka röð af einkunnum og það verður í raun 1018 00:53:20,410 --> 00:53:24,230 Kort þeim með rofa reisa, sem þú gætir kannast úr C, 1019 00:53:24,230 --> 00:53:27,640 en í raun er það miklu meira öflugri en skipta reisa 1020 00:53:27,640 --> 00:53:29,810 að við höfum í C 1021 00:53:29,810 --> 00:53:31,930 >> Og við munum sækja að til hver þáttur á listanum 1022 00:53:31,930 --> 00:53:34,540 og í raun veita bréf einkunn hvers 1023 00:53:34,540 --> 00:53:40,780 af þeim einkunnum nota öll þessi hugtök að við höfum bara talað um áður. 1024 00:53:40,780 --> 00:53:44,760 Nú skulum vikið fyrir aðeins mínútu og tala um structs. 1025 00:53:44,760 --> 00:53:49,680 Og svo structs eru bíða í C sem við gátu til að skilgreina nýja tegund af gögnum. 1026 00:53:49,680 --> 00:53:53,590 Structs eru innan Swift. 1027 00:53:53,590 --> 00:53:58,980 Og svo gera a einhver fjöldi af öðrum býr kallast enums og flokkum, sem raunverulega 1028 00:53:58,980 --> 00:54:01,175 taka þessa hugmynd til a allt annað stig. 1029 00:54:01,175 --> 00:54:05,300 >> Og í rauninni er það bara leið að skilgreina nýja tegund af gögnum. 1030 00:54:05,300 --> 00:54:11,010 Svo ef þú get-- ef þú kemur yfir bekknum eða structs eða enums, 1031 00:54:11,010 --> 00:54:13,290 fæ ekki rugla með það. 1032 00:54:13,290 --> 00:54:16,280 Það er bara þannig að skilgreina nokkur ný einkum tegund af gögnum. 1033 00:54:16,280 --> 00:54:20,230 Og þetta er mjög mikilvægt þegar við erum að tala um IOS app þróun 1034 00:54:20,230 --> 00:54:24,630 vegna þess að allt sem til innan IOS app 1035 00:54:24,630 --> 00:54:27,460 er í meginatriðum hlut af einhverju tagi. 1036 00:54:27,460 --> 00:54:31,980 Og hlut er í grundvallaratriðum a flokki eða enum eða strúktúr. 1037 00:54:31,980 --> 00:54:34,760 >> Svo í þessu tilfelli er ég skilgreina nýja tegund af gögnum 1038 00:54:34,760 --> 00:54:37,740 að ég er að hringja mat það er sumir eiginleika, þar á meðal 1039 00:54:37,740 --> 00:54:41,040 nafn og röð af einkunnum. 1040 00:54:41,040 --> 00:54:43,470 Svo ein tegund af mat að ég gæti hafa í huga 1041 00:54:43,470 --> 00:54:44,760 væri Skyndipróf, til dæmis. 1042 00:54:44,760 --> 00:54:48,180 Ég myndi vilja hafa óákveðinn greinir í ensku mat sem var quiz 1043 00:54:48,180 --> 00:54:51,460 og að höfðu ýmsar bekk í tengslum við það, fyrir spurningakeppni einn, 1044 00:54:51,460 --> 00:54:52,840 quiz tveir, svo á og svo framvegis. 1045 00:54:52,840 --> 00:54:55,720 >> Eða ég gæti hafa annars konar við mat á vandamál setur. 1046 00:54:55,720 --> 00:54:56,650 Og ég get gert hlutina. 1047 00:54:56,650 --> 00:54:59,860 Ég get í raun hafa aðgerðir innan þessa tegund 1048 00:54:59,860 --> 00:55:02,645 gagna, sem nú eru kallaðir aðferðir. 1049 00:55:02,645 --> 00:55:04,520 Svo ef þú alltaf sjá orð aðferð, það virkilega 1050 00:55:04,520 --> 00:55:08,190 er bara fall sem gildir á mjög ákveðinn flokk, 1051 00:55:08,190 --> 00:55:10,100 eða mjög sérstakur tegund gagna. 1052 00:55:10,100 --> 00:55:12,350 Það gerir okkur kleift að breyta gögn innan. 1053 00:55:12,350 --> 00:55:15,510 >> Svo í öðrum orðum, ef ég vil bæta einkunn mati mínu, 1054 00:55:15,510 --> 00:55:18,630 þá er allt sem ég þarf að gera til að auka muninn sem var inntak 1055 00:55:18,630 --> 00:55:22,660 við þessa aðgerð til innri eign mín. 1056 00:55:22,660 --> 00:55:25,880 There 'annar snyrtilegur reisa hér í Swift, sem er þessi punktur punktur punktur 1057 00:55:25,880 --> 00:55:31,780 rekstraraðila, sem þýðir að skora getur nú taka allir tala um heiltölur. 1058 00:55:31,780 --> 00:55:33,940 Og skorar verður array af heiltölur sem 1059 00:55:33,940 --> 00:55:39,030 hafa verið samþykktar að virka minn, sem þýðir að ég get gert efni eins og þetta. 1060 00:55:39,030 --> 00:55:42,360 >> Ég get ekki bætt einkunnum og bara veita handahófskennt tölur heiltölur í það 1061 00:55:42,360 --> 00:55:47,420 og í raun veitt fjölda af þeim gildum í virka minn 1062 00:55:47,420 --> 00:55:50,270 eða í aðferð mína, eins og raunin er. 1063 00:55:50,270 --> 00:55:54,040 Nú er þetta mikilvægt vegna þess að allt í Xcode, allt í IOS, 1064 00:55:54,040 --> 00:55:56,250 er í raun hlutur. 1065 00:55:56,250 --> 00:55:59,630 Þannig að það í huga þegar við brjóstmynd opinn Xcode 1066 00:55:59,630 --> 00:56:04,890 og sleppa undan út IOS útgáfur tveir og þrír 1067 00:56:04,890 --> 00:56:08,820 og í raun fara á útgáfu fjögurra. 1068 00:56:08,820 --> 00:56:11,940 >> Og aftur, allt þetta mun vera settar á málþingi síðu. 1069 00:56:11,940 --> 00:56:16,980 iOS fjögur er tegund af fullri alvöru framkvæmd mjög undirstöðu app. 1070 00:56:16,980 --> 00:56:23,920 Og hvað þetta app gerir er það hleðst HÍ, sem lítur svona út. 1071 00:56:23,920 --> 00:56:28,680 Aftur, ef við smellur á klippiborðinu við getum sjá að þetta er það sem það lítur út. 1072 00:56:28,680 --> 00:56:31,320 Þetta er UI. 1073 00:56:31,320 --> 00:56:33,676 Það hefur titil á the mjög toppur. 1074 00:56:33,676 --> 00:56:34,800 Ég hef kallað það vefur gallerí. 1075 00:56:34,800 --> 00:56:38,400 >> Í miðju það er þáttur kallað UI image. 1076 00:56:38,400 --> 00:56:41,340 Og neðst það er tækjastika með einum hnappi sem 1077 00:56:41,340 --> 00:56:46,850 hefur stretchy rými sem leyfa það til miðstöð í miðju þessu stikunni. 1078 00:56:46,850 --> 00:56:51,780 Og það sem gerist er að þegar þetta það hleðst niðurhal á JSON skrá sem er 1079 00:56:51,780 --> 00:56:55,540 gámur á netþjóni annars staðar, flokka að JSON skrá, 1080 00:56:55,540 --> 00:56:58,130 og JSON skrá lítur svolítið eins og þetta. 1081 00:56:58,130 --> 00:57:02,770 1082 00:57:02,770 --> 00:57:06,230 The JSON skrá lítur svona út. 1083 00:57:06,230 --> 00:57:08,650 Það er það. 1084 00:57:08,650 --> 00:57:11,730 >> Það hefur heiti albúms og það hefur fjölda af myndum. 1085 00:57:11,730 --> 00:57:13,490 Hvert þeim myndir hafa nafn og einnig 1086 00:57:13,490 --> 00:57:19,460 a URL sjálfir sem tákna að JPEG útgáfa af því einstaka mynd. 1087 00:57:19,460 --> 00:57:24,780 Svo hvað gerist er að þegar þetta forrit álag, niðurhal það JSON skrá, 1088 00:57:24,780 --> 00:57:30,590 flokka það, setur þetta allt í jafnvirði fylki í IOS 1089 00:57:30,590 --> 00:57:33,020 app þróun, sem er nsarray. 1090 00:57:33,020 --> 00:57:37,520 Og þá get ég þá hlaða þessi gögn í forriti 1091 00:57:37,520 --> 00:57:41,100 og hlaða hana á skjánum mínum. 1092 00:57:41,100 --> 00:57:44,760 >> Það er mynd sem var hlaðinn með hnappinum á mjög botn. 1093 00:57:44,760 --> 00:57:49,190 Ef ég smelli Fá Næsta mynd, þá er það draga þessi mynd af internetinu 1094 00:57:49,190 --> 00:57:53,370 og kemur í stað þessi mynd í UI mynd útsýni. 1095 00:57:53,370 --> 00:57:57,820 Svo er hægt að sækja þetta og í raun taka a líta á það á tölvunni þinni. 1096 00:57:57,820 --> 00:58:00,940 Og byggja það og í raun þýða það á tækinu. 1097 00:58:00,940 --> 00:58:04,710 En í raun ferlið var þetta, búa til storyboard-- 1098 00:58:04,710 --> 00:58:08,080 eða öllu heldur ekki create-- en velja klippiborðinu. 1099 00:58:08,080 --> 00:58:15,030 Og í raun we'll-- ef þú mind-- ekki við munum taka bara nokkrar sekúndur 1100 00:58:15,030 --> 00:58:18,390 að í raun sýna þér hvernig þetta var gert. 1101 00:58:18,390 --> 00:58:22,430 1102 00:58:22,430 --> 00:58:27,820 >> Bara svo að hvernig við getum í raun ná þessu er gert svolítið meira 1103 00:58:27,820 --> 00:58:28,360 ljós. 1104 00:58:28,360 --> 00:58:30,651 Single skoða umsókn, ég er fara að kalla þetta námskeið 1105 00:58:30,651 --> 00:58:35,330 fjórir fulltrúar þetta einkum tala. 1106 00:58:35,330 --> 00:58:36,335 Vista það á skjáborðinu. 1107 00:58:36,335 --> 00:58:39,890 1108 00:58:39,890 --> 00:58:42,110 OK, að fara að smella á klippiborðinu. 1109 00:58:42,110 --> 00:58:47,030 Og það sem ég ætla að gera er að finna mynd sýn minni, 1110 00:58:47,030 --> 00:58:50,940 draga hana inn notanda mínum tengi og sent það. 1111 00:58:50,940 --> 00:58:54,850 Nú bara centering það því miður er ekki að fara að gera a heild einhver fjöldi, 1112 00:58:54,850 --> 00:58:58,680 nema skjá sem er nákvæmlega þetta stærð. 1113 00:58:58,680 --> 00:59:03,950 >> Þannig að við getum sannfært okkur um að með því að því að smella á þessa tvöföldu hring hlutur, 1114 00:59:03,950 --> 00:59:08,290 uppeldi niður þessa pop upp valmynd hér og breyta 1115 00:59:08,290 --> 00:59:11,110 að forskoða, þar sem við munum í raun fá tækifæri til að forskoða hvernig 1116 00:59:11,110 --> 00:59:13,530 þetta mun í raun líta á önnur tæki. 1117 00:59:13,530 --> 00:59:16,500 Eins getum við séð, eigum við ekki einu sinni sjá það á þessu tiltekna tilfelli. 1118 00:59:16,500 --> 00:59:18,500 Þannig að ég ætla að loka þessu í bili. 1119 00:59:18,500 --> 00:59:22,100 >> Og ég ætla að velja þetta icon niður á mjög 1120 00:59:22,100 --> 00:59:23,910 botnhluta skjánum. 1121 00:59:23,910 --> 00:59:26,584 Það segir Ásetningur Auto Skipulag Issues. 1122 00:59:26,584 --> 00:59:28,000 Því miður, það er skera burt neðst. 1123 00:59:28,000 --> 00:59:36,360 En ef ég smelli á það, það sem ég fá er þetta pop up-- fara burt. 1124 00:59:36,360 --> 00:59:39,740 1125 00:59:39,740 --> 00:59:51,220 Það sem ég fá er þetta pop upp sem leyfa mér að bæta við vantar þvingun. 1126 00:59:51,220 --> 00:59:53,780 Og með því að gera það það mun þá tegund af læsa henni 1127 00:59:53,780 --> 00:59:56,640 í í miðju hluta opsins skjár eins og ég gæti átt von á. 1128 00:59:56,640 --> 01:00:00,520 >> Nú til að fá þennan hnapp á ofan á það, ég þarf að fara til ritstjóra. 1129 01:00:00,520 --> 01:00:05,010 Fara á Fella inn og smella Navigation Controller. 1130 01:00:05,010 --> 01:00:08,900 Hvað það mun gera er að vilja bæta þetta allt annað hluti á það, 1131 01:00:08,900 --> 01:00:11,310 en það mun í raun að tengja það aftur í upprunalegt UI minn. 1132 01:00:11,310 --> 01:00:14,450 Og upplýsingar, aftur, er það ekki þarf virkilega að hugsa um núna. 1133 01:00:14,450 --> 01:00:16,710 En ég vil að hafa Tækjastika á mjög neðst. 1134 01:00:16,710 --> 01:00:18,530 Svo ég athuga sýnir Toolbar. 1135 01:00:18,530 --> 01:00:21,870 >> Og þetta gefur innan mínu mati, sem er nú eitthvað annað, 1136 01:00:21,870 --> 01:00:23,900 við getum séð það er tengt hérna. 1137 01:00:23,900 --> 01:00:28,710 Það veitir nú tólastiku neðst á HÍ minni. 1138 01:00:28,710 --> 01:00:34,770 Svo nú, frekar en að velja image, ég get fundið merki, 1139 01:00:34,770 --> 01:00:41,140 eða öllu heldur toolbar-- við skulum sjá, hvar er það? 1140 01:00:41,140 --> 01:00:41,890 Hvað er það kallað? 1141 01:00:41,890 --> 01:00:49,760 A button-- atriði bar-- item-- sorry-- bar hnappinn atriði. 1142 01:00:49,760 --> 01:00:54,590 Plop að það og beita par sveigjanlegu rými á hvorri hlið 1143 01:00:54,590 --> 01:00:57,429 að í raun miðstöð sem. 1144 01:00:57,429 --> 01:00:58,970 Svo nú hef ég búið HÍ minn, í grundvallaratriðum. 1145 01:00:58,970 --> 01:01:01,428 Og ég get gefið það nafn með Tvöfaldur smellur á the mjög toppur 1146 01:01:01,428 --> 01:01:04,880 hér og segja vefur gallerí og svo framvegis. 1147 01:01:04,880 --> 01:01:08,100 Nú aftur, þetta eru þættir sem eru fyrir hendi við sig. 1148 01:01:08,100 --> 01:01:10,400 Og ég verð að tengja þá að númerið mitt sem 1149 01:01:10,400 --> 01:01:14,297 Ég get gert með aftur að koma upp þessa tvöfalda hring helgimynd, 1150 01:01:14,297 --> 01:01:15,380 breytast frá forskoðun. 1151 01:01:15,380 --> 01:01:18,950 Sem, við the vegur, nú getum við séð er fallega miðju og mun líta vel út 1152 01:01:18,950 --> 01:01:23,720 á ýmsum tækjum. 1153 01:01:23,720 --> 01:01:27,280 >> Rofi til sjálfvirka, sem mun koma upp ViewController kóða. 1154 01:01:27,280 --> 01:01:29,030 Og nú er þetta hluti mikilvægt. 1155 01:01:29,030 --> 01:01:34,590 Í röð fyrir þú til að tengja þetta tveir þættir, númerið þitt til HÍ, 1156 01:01:34,590 --> 01:01:36,680 þú velur hlutinn sem þú vilt tengjast. 1157 01:01:36,680 --> 01:01:39,570 Þannig að í þessu tilfelli, við raunverulega vilt að umrita 1158 01:01:39,570 --> 01:01:43,520 breyta mynd sem er innifalinn innan þessa UI mynd útsýni. 1159 01:01:43,520 --> 01:01:47,070 Svo ef þú stjórna smella frá myndin skoða og draga, 1160 01:01:47,070 --> 01:01:51,960 þú munt taka eftir því að þú færð smá bar, þegar þú lætur fara af öllu þessu pop 1161 01:01:51,960 --> 01:01:53,550 upp mun eiga sér stað. 1162 01:01:53,550 --> 01:01:56,470 >> Og það segir að við munum búa til tengingu. 1163 01:01:56,470 --> 01:01:59,300 Og frá hér vil ég gefa það nafn, eitthvað eins og gallerí. 1164 01:01:59,300 --> 01:02:00,240 Ýttu á Enter. 1165 01:02:00,240 --> 01:02:03,040 Og þetta raunverulega afla breytu sem heitir gallerí 1166 01:02:03,040 --> 01:02:08,600 sem ég get þá vísað í númerið mitt að skipta um mynd, til dæmis. 1167 01:02:08,600 --> 01:02:10,430 Svo hvernig virkar þessi númer í raun líta? 1168 01:02:10,430 --> 01:02:13,030 Jæja aftur, ég vil ekki að eyða of miklum tíma í það. 1169 01:02:13,030 --> 01:02:15,430 Og ég hvet þig til að sækja það og taka a útlit. 1170 01:02:15,430 --> 01:02:18,330 En eitt af mest mikilvægur þáttur er númer 1171 01:02:18,330 --> 01:02:20,980 sem í raun ná mynd. 1172 01:02:20,980 --> 01:02:26,470 >> Svo í þessu tilfelli sem ég vil að fá innan myndirnar mínar 1173 01:02:26,470 --> 01:02:28,520 array, sem er að finna innan bekknum mínum. 1174 01:02:28,520 --> 01:02:33,390 Ég vil skilgreina nafn og vefslóð sem hefur verið flokka út úr þessu JSON. 1175 01:02:33,390 --> 01:02:39,810 Reyndar biðja tækið til að fá URL, að sækja slóðina frá þessu, 1176 01:02:39,810 --> 01:02:44,060 og þá sækja gögn frá innihald þessa vefslóð. 1177 01:02:44,060 --> 01:02:49,430 Þá umbreyta þessi gögn inn mynd með því að láta hana í HÍ mynd. 1178 01:02:49,430 --> 01:02:52,880 Svo aftur, eru þetta allt mismunandi gerðir af hlutum, mismunandi tegundir af bekkjum. 1179 01:02:52,880 --> 01:02:58,410 >> Og þá get ég þá sett minn gallery.image jafnt þessi gögn. 1180 01:02:58,410 --> 01:03:00,750 Og það er tegund af kjöti það sem raunverulega er þá 1181 01:03:00,750 --> 01:03:08,250 hægt að breyta þeim gögnum from-- breytingu myndin frá einum til annars. 1182 01:03:08,250 --> 01:03:10,660 Svo aftur, vonandi núna a einhver fjöldi af the býr 1183 01:03:10,660 --> 01:03:12,240 mun gera svolítið meira vit. 1184 01:03:12,240 --> 01:03:15,260 Takið eftir að það er einhver upphrópunarmerki hér. 1185 01:03:15,260 --> 01:03:19,810 The upphrópunarmerki eru meginatriðum tengjast optionals. 1186 01:03:19,810 --> 01:03:22,657 >> Það sem ég er í grundvallaratriðum að segja er að án jafnvel stöðva 1187 01:03:22,657 --> 01:03:24,490 til að sjá hvort það er gögn innan þessa valfrjálst, 1188 01:03:24,490 --> 01:03:27,140 Ég ætla að fara á undan og gera ráð fyrir að það er og unwrap það. 1189 01:03:27,140 --> 01:03:31,340 Mundu að við notuðum hliðstæðan konar pakka fyrir optionals 1190 01:03:31,340 --> 01:03:34,700 og við þurfum að unwrap að pakka og draga gögn út. 1191 01:03:34,700 --> 01:03:37,570 The upphrópunarmerki öfl sem raunverulega gerast. 1192 01:03:37,570 --> 01:03:39,590 >> En ég veit að þetta er öruggur vegna þess að ég skoðaði 1193 01:03:39,590 --> 01:03:42,070 til að sjá hvort mynd gögn eru jafnir að ekkert, ég hef athuga raun 1194 01:03:42,070 --> 01:03:45,420 til að sjá hvort það valfrjálst var í raun ekki. 1195 01:03:45,420 --> 01:03:47,110 Ef það hefði í raun ekki nú þegar. 1196 01:03:47,110 --> 01:03:52,450 Og svo er ég viss um að þegar ég fæ að þetta sem ég get örugglega unwrap þessi gögn. 1197 01:03:52,450 --> 01:03:55,710 Þú gætir líka séð það í form spurningarmerki. 1198 01:03:55,710 --> 01:03:59,100 Svo ef við skruna niður að þar sem ég þurfa að raunverulega flokka gögnin. 1199 01:03:59,100 --> 01:04:01,850 >> Svo ekki vera setja burt við þessi tegund af langur nöfn. 1200 01:04:01,850 --> 01:04:06,580 Þú getur fundið í Apple hönnuða mikið 1201 01:04:06,580 --> 01:04:09,620 tilvísanir til allra hluta í hlutir og öll þau ferli 1202 01:04:09,620 --> 01:04:11,170 sem í raun gera þetta mögulegt. 1203 01:04:11,170 --> 01:04:15,990 En eftir að þetta er fyrst og fremst fall þar sem ég gefa það einhverjum gögnum. 1204 01:04:15,990 --> 01:04:18,410 Og ég fæ til baka einhverskonar gögnum. 1205 01:04:18,410 --> 01:04:24,190 Og ég þarf að nota þetta sem leitarorð til umbreyta það inn í þessa nsdictionary? 1206 01:04:24,190 --> 01:04:26,490 Sem er aftur, sem er valfrjáls nsdictionary. 1207 01:04:26,490 --> 01:04:31,070 Sem ég þarf þá að athuga hvort það er til staðar. 1208 01:04:31,070 --> 01:04:37,130 >> Svo ég geti notað það ef láta vel jafnaldrar þátta, 1209 01:04:37,130 --> 01:04:40,620 þá veit ég að það valfrjálst reyndar inniheldur nokkur gögn. 1210 01:04:40,620 --> 01:04:43,840 Eða það sem ég gerði hér var að bara gera ráð fyrir að ef það 1211 01:04:43,840 --> 01:04:49,067 voru engar villur sem það er í raun öruggur. 1212 01:04:49,067 --> 01:04:51,400 Allt í lagi, ég vil þakka þú allt mjög mikið fyrir að koma. 1213 01:04:51,400 --> 01:04:53,540 Ég veit að þetta var mikið, en það var aðeins klukkutíma 1214 01:04:53,540 --> 01:04:55,920 að tala um tiltekin nokkuð háþróaður efni. 1215 01:04:55,920 --> 01:04:59,640 Og svo vonandi þú munt fá a tækifæri til að sækja allan kóðann 1216 01:04:59,640 --> 01:05:01,657 og taka a betri, ítarlegur líta á það. 1217 01:05:01,657 --> 01:05:04,240 Konar sannfæra þig af öllu af efni sem er að gerast. 1218 01:05:04,240 --> 01:05:06,800 Og ég vil þakka þér allt aftur, fyrir komuna. 1219 01:05:06,800 --> 01:05:08,760 Gangi þér vel með lokaverkefni þínum. 1220 01:05:08,760 --> 01:05:10,600 Hafa a mikill dagur. 1221 01:05:10,600 --> 01:05:11,467