1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,340 >> DANIEL Armendáriz: Dobrý deň, všetci, vitajte na iOS pre vývoj aplikácií 3 00:00:14,340 --> 00:00:15,020 s SWIFT. 4 00:00:15,020 --> 00:00:15,870 Ja som Dan Armendariz. 5 00:00:15,870 --> 00:00:18,920 Som precepter počítača veda tu na škole 6 00:00:18,920 --> 00:00:21,200 inžinierstvo a aplikovaných vied. 7 00:00:21,200 --> 00:00:24,310 A rýchlo je vlastne druh o naozaj úhľadné jazyka. 8 00:00:24,310 --> 00:00:27,190 A mám nejaké plány na dnešok. 9 00:00:27,190 --> 00:00:31,430 Takže počas nasledujúcej hodiny alebo tak ideme sa pozrieť na iOS samotného vývoja 10 00:00:31,430 --> 00:00:36,640 pomocou Xcode a vlastne vznikajú jedny veľmi jednoduché, veľmi jednoduché aplikácie. 11 00:00:36,640 --> 00:00:40,070 A pri pohľade na spôsob, akým v skutočnosti, aby tieto aplikácie, 12 00:00:40,070 --> 00:00:42,887 a stavať je, a vlastne dať je na zariadení so systémom iOS. 13 00:00:42,887 --> 00:00:44,970 Niektoré z vecí, ktoré nebudeme pozerať na 14 00:00:44,970 --> 00:00:47,540 bude zahŕňať veci ako skutočne užívať aplikácie 15 00:00:47,540 --> 00:00:48,940 a uvedenie na App Store. 16 00:00:48,940 --> 00:00:52,930 Je tu veľa tutoriálov online, ktoré Pomôže vám s tým aspekt. 17 00:00:52,930 --> 00:00:56,230 Ale tiež preto, že ako časť CS50, získate 18 00:00:56,230 --> 00:00:59,780 vstúpiť do vývoja Apple Tím, CS50 je pre vývoj aplikácií tím. 19 00:00:59,780 --> 00:01:02,790 Ak ste to ešte neurobili, a ste spätá s firmou CS50, 20 00:01:02,790 --> 00:01:04,810 Ja vám, aby ste robiť, pretože to 21 00:01:04,810 --> 00:01:08,820 je to, ako ste schopní vytvoriť Niektoré programy v Xcode, 22 00:01:08,820 --> 00:01:11,890 stavať je, a dokonca dal je na niektoré z vašich zariadení so systémom iOS 23 00:01:11,890 --> 00:01:14,087 ak ste skutočne fyzický iOS zariadenia. 24 00:01:14,087 --> 00:01:16,670 Ak nemáte fyzickú iOS Zariadenie, ktoré je viac ako v poriadku. 25 00:01:16,670 --> 00:01:19,810 Môžete si skutočne vyvíjať pre iOS. 26 00:01:19,810 --> 00:01:22,390 A má Xcode simulátor, ktorý umožňuje 27 00:01:22,390 --> 00:01:26,570 vidieť vašu žiadosť akcie na vašom počítači. 28 00:01:26,570 --> 00:01:30,440 Ale je to trochu je užitočná vec skutočne hrať a komunikovať 29 00:01:30,440 --> 00:01:34,235 s aplikáciou na skutočnom zariadení. 30 00:01:34,235 --> 00:01:37,360 Takže je tu pár požiadaviek vlastne robiť všetky tohto vývoja. 31 00:01:37,360 --> 00:01:39,151 Jedným z nich je, že musíte mať Mac. 32 00:01:39,151 --> 00:01:44,770 Musí byť spustený 10.9.4 alebo novší aby sa do vývoja s SWIFT. 33 00:01:44,770 --> 00:01:47,770 >> Môžete použiť skoršie Verzia pre rozvoj 34 00:01:47,770 --> 00:01:50,810 s Objective C pre iOS a Mac. 35 00:01:50,810 --> 00:01:53,990 Ale ja odporučiť, a mnoho príklady, ktoré uvidíme dnes, 36 00:01:53,990 --> 00:01:55,700 použite 10.10 Yosemite. 37 00:01:55,700 --> 00:02:00,910 Takže ak ste ešte upgrade, je to dobrá výhovorka, aby tak urobili. 38 00:02:00,910 --> 00:02:05,480 Teraz Xcode 6.1 je najnovšia verzia integrované vývojové prostredie 39 00:02:05,480 --> 00:02:08,979 že Apple poskytuje zadarmo, ktoré Tu si môžete stiahnuť mimo App Store. 40 00:02:08,979 --> 00:02:11,220 A ja som vám, aby ste spustiť tiež najnovšiu verziu. 41 00:02:11,220 --> 00:02:14,700 >> Ak ste náhodou byť spustená skôr verzia Xcode 5 a ďalej len 42 00:02:14,700 --> 00:02:16,741 jednoducho nepodporujú rýchle vôbec. 43 00:02:16,741 --> 00:02:19,490 A beta verzie šiestich, ktoré bol prepustený v lete, 44 00:02:19,490 --> 00:02:21,770 podporujú rýchly, ale je tu Bol obrovský počet 45 00:02:21,770 --> 00:02:25,220 zmeny v jazyku, dosť takže kód, ktorý ste 46 00:02:25,220 --> 00:02:28,320 sa pozrieme, a že vás mohli nájsť na internete 47 00:02:28,320 --> 00:02:33,294 nebude v skutočnosti kompilovat správne v týchto skorších verziách Xcode. 48 00:02:33,294 --> 00:02:35,460 Takže znovu, ak nechcete ešte nie má developer účet, 49 00:02:35,460 --> 00:02:38,560 Odporúčam vám ísť do developer.apple.com. 50 00:02:38,560 --> 00:02:42,240 Zaregistrujte sa vytvoriť účet vývojárov, a pripojiť sa k CS50 vývoj aplikácií tím. 51 00:02:42,240 --> 00:02:45,530 To bude poskytovať vám príležitosť kompilovať svoje aplikácie 52 00:02:45,530 --> 00:02:47,840 a dať ich na vašom zariadení. 53 00:02:47,840 --> 00:02:49,222 OK, tak sa poďme začať. 54 00:02:49,222 --> 00:02:50,930 Úplne prvá vec, budeme robiť sa 55 00:02:50,930 --> 00:02:55,140 skutočne vytvoriť veľmi jednoduchý projekt v Xcode 56 00:02:55,140 --> 00:02:59,530 ktorá Vám umožní podať žiadosť. 57 00:02:59,530 --> 00:03:03,170 >> Takže ak ešte nemáte Xcode otvorené, choďte do toho a otvorte ju 58 00:03:03,170 --> 00:03:04,270 a vytvoriť nový projekt. 59 00:03:04,270 --> 00:03:06,570 Špeciálne úvodná obrazovka sa otvorí a dá vám 60 00:03:06,570 --> 00:03:08,800 niekoľko možností o tom, čo to je, že chcete urobiť. 61 00:03:08,800 --> 00:03:12,170 Stačí povedať, že chcete vytvoriť nový projekt, novú žiadosť. 62 00:03:12,170 --> 00:03:15,650 Toto okno vyskočí, za predpokladu, že používate Xcode 6.1. 63 00:03:15,650 --> 00:03:17,650 Práve teraz, a za Doba trvania tohto seminára, 64 00:03:17,650 --> 00:03:19,990 budeme používať jediného pohľadu aplikácie, len 65 00:03:19,990 --> 00:03:22,590 akýsi základné aplikácie aby sa vaše nohy mokré. 66 00:03:22,590 --> 00:03:25,200 A môžete vetviť na vlastnú päsť odtiaľ. 67 00:03:25,200 --> 00:03:27,660 >> Kliknite na tlačidlo Ďalej v tomto bode. 68 00:03:27,660 --> 00:03:30,796 Teraz je tu pár vecí že budete chcieť vstúpiť. 69 00:03:30,796 --> 00:03:32,670 Názov produktu je názov projektu. 70 00:03:32,670 --> 00:03:34,859 V tomto prípade, ja som len bude to nazvať Seminar1 71 00:03:34,859 --> 00:03:36,150 pretože to je naša prvá príklad. 72 00:03:36,150 --> 00:03:38,290 Názov organizácie, vo tento prípad je len moje meno. 73 00:03:38,290 --> 00:03:41,760 Môžete samozrejme zmeniť na svoje vlastné meno, alebo na CS50. 74 00:03:41,760 --> 00:03:46,160 Identifikátor organizácie, ak máte stalo sa, že webové stránky vezmite 75 00:03:46,160 --> 00:03:49,940 doménové meno zvrátiť, com.yourname. 76 00:03:49,940 --> 00:03:54,200 a potom názov produktu automaticky sa zobrazí 77 00:03:54,200 --> 00:03:55,820 potom ako identifikátor zväzku. 78 00:03:55,820 --> 00:03:59,200 >> Je zrejmé, že jazyk, ktorý sme bude používať pre dnešný deň je rýchla. 79 00:03:59,200 --> 00:04:02,590 Môžete samozrejme použiť Objective C za to, ale dnes bude rýchla. 80 00:04:02,590 --> 00:04:04,920 A my teraz hovoriť univerzálne zariadenie, tak 81 00:04:04,920 --> 00:04:06,900 že to funguje tak na iPad a iPhone. 82 00:04:06,900 --> 00:04:10,040 A necháme jadro Údaje nekontrolované zachovať 83 00:04:10,040 --> 00:04:12,830 projekt relatívne Jednoduchý v súčasnej dobe. 84 00:04:12,830 --> 00:04:14,430 Tak poďme do toho a kliknite na tlačidlo Ďalej. 85 00:04:14,430 --> 00:04:16,471 A to ma opýtať kde chcem uložiť. 86 00:04:16,471 --> 00:04:19,250 Budem ju uložiť do svojho počítača teraz. 87 00:04:19,250 --> 00:04:22,267 >> Dobre, takže teraz je to to, čo bude stane, keď v skutočnosti otvorené Xcode. 88 00:04:22,267 --> 00:04:24,100 A všimnite si, že Úplne prvá vec, ktorú uvidíte 89 00:04:24,100 --> 00:04:28,770 je to výkričník, že hovorí, že nie podpis identity nájdený. 90 00:04:28,770 --> 00:04:31,520 Zámerne som to urobil na mojom počítači a ja som 91 00:04:31,520 --> 00:04:34,220 dúfal, že budem môcť skutočne opraviť, 92 00:04:34,220 --> 00:04:37,860 preto, že chcem, aby ste videli, ako to bude skutočne pracovať na vlastnom stroji. 93 00:04:37,860 --> 00:04:40,400 >> Choďte do toho a kliknite na tlačidlo Opraviť problém. 94 00:04:40,400 --> 00:04:45,400 To sa vás spýta, či máte Existujúce vývojárov od spoločnosti Apple účet. 95 00:04:45,400 --> 00:04:48,330 To je miesto, kde spojenie CS50 vývoj aplikácií tím 96 00:04:48,330 --> 00:04:51,240 Je dôležité, aby vám nebude iba app účet 97 00:04:51,240 --> 00:04:53,690 ale máte tiež schopnosť podpísať aplikácie 98 00:04:53,690 --> 00:04:56,420 a dať ich na vašom zariadení so systémom iOS. 99 00:04:56,420 --> 00:04:58,957 To je ne-- kliknutie fix problém nie je nutné 100 00:04:58,957 --> 00:05:01,040 ak ste len tak budovať a rozvíjať miestnej úrovni, 101 00:05:01,040 --> 00:05:03,520 úplne v iOS simulátore. 102 00:05:03,520 --> 00:05:05,820 >> Ale teraz idem rozvíjať a dať ich 103 00:05:05,820 --> 00:05:08,160 na môj iPad, ktorý bude schopný vysielať tiež. 104 00:05:08,160 --> 00:05:10,770 Tak som to chcel skutočne dodať toto. 105 00:05:10,770 --> 00:05:13,670 A že to bude pýtať ma na moju apple ID. 106 00:05:13,670 --> 00:05:15,700 Takže to bude toto. 107 00:05:15,700 --> 00:05:18,940 A musím priniesť My hesla, čo je tu. 108 00:05:18,940 --> 00:05:27,760 Tak mi daj len jeden sekundu nájsť to, a skopírujte a vložte ho sem. 109 00:05:27,760 --> 00:05:28,580 >> Kliknite na tlačidlo Pridať. 110 00:05:28,580 --> 00:05:31,095 Bude to a opýtajte sa ma ktorý tím Chcem sa pripojiť. 111 00:05:31,095 --> 00:05:33,240 Budem robiť školu inžinierstva. 112 00:05:33,240 --> 00:05:35,680 Kliknite na tlačidlo Pripojiť. 113 00:05:35,680 --> 00:05:37,780 Jejda, to je zlý. 114 00:05:37,780 --> 00:05:40,730 Poďme to urobiť jeden. 115 00:05:40,730 --> 00:05:42,060 Dúfajme, že z nich bude pracovať. 116 00:05:42,060 --> 00:05:44,220 Tenhle stále nefunguje. 117 00:05:44,220 --> 00:05:46,610 Dochádza nám z dobrých tu. 118 00:05:46,610 --> 00:05:48,260 OK, toto by malo fungovať. 119 00:05:48,260 --> 00:05:50,816 Teraz blízko, že. 120 00:05:50,816 --> 00:05:54,450 A teraz poďme urobiť školu strojárstvo, kliknite na tlačidlo vyberte. 121 00:05:54,450 --> 00:06:00,190 >> A teraz dúfam, že po pár sekúnd can-- OK, 122 00:06:00,190 --> 00:06:02,550 Budem odvolať a požiadať. 123 00:06:02,550 --> 00:06:05,410 Človeče, to bude fungovať. 124 00:06:05,410 --> 00:06:08,890 OK, skúsim iný. 125 00:06:08,890 --> 00:06:11,167 Poďme to urobiť jeden tady. 126 00:06:11,167 --> 00:06:17,020 127 00:06:17,020 --> 00:06:19,310 Živé ukážky ma nedarí. 128 00:06:19,310 --> 00:06:22,540 Možno budeme musieť vrátiť len budova úplne na mieste, 129 00:06:22,540 --> 00:06:25,050 ale to by bolo v poriadku v tomto prípade. 130 00:06:25,050 --> 00:06:28,560 >> Tak tu, keď je to skutočne pracovné, čo budeme robiť, je len 131 00:06:28,560 --> 00:06:31,190 vytvoriť veľmi jednoduchý Hello World aplikácie. 132 00:06:31,190 --> 00:06:32,340 Tak toto je Xcode. 133 00:06:32,340 --> 00:06:37,300 A ak ste ho ešte nevideli ešte, to môže byť trochu zastrašujúce na prvom mieste. 134 00:06:37,300 --> 00:06:41,430 Je tu veľa tabúľ, je tu Mnoho doodads v rôznych oblastiach. 135 00:06:41,430 --> 00:06:44,300 Ale len si uvedomiť, že je tu Naozaj niekoľko hlavných komponentov 136 00:06:44,300 --> 00:06:46,580 do tohto vývojového prostredia. 137 00:06:46,580 --> 00:06:51,090 Úplne vľavo, sú všetky súbory ktoré sa vzťahujú k programu 138 00:06:51,090 --> 00:06:52,997 alebo na konkrétny projekt. 139 00:06:52,997 --> 00:06:55,080 Budeme kliknutím okolo na niektoré z nich a my budeme 140 00:06:55,080 --> 00:06:57,660 zdôrazniť najviac najdôležitejšie v priebehu času. 141 00:06:57,660 --> 00:06:59,650 Na krajnej pravice, my mať sadu atribútov. 142 00:06:59,650 --> 00:07:02,920 A všetky tieto atribúty, tam sú rôzne tabule pre atribúty. 143 00:07:02,920 --> 00:07:06,770 Tabuľa sa bude meniť v závislosti na kontext hlavný obsah, ktorý 144 00:07:06,770 --> 00:07:08,290 sa stane, že je v strede. 145 00:07:08,290 --> 00:07:11,740 Teraz prostredná môže skutočne ukázať si rôzne veci, napríklad 146 00:07:11,740 --> 00:07:13,290 váš kód sám. 147 00:07:13,290 --> 00:07:17,070 Alebo môžete skutočne have-- pri kliknete na scenári, ktorý 148 00:07:17,070 --> 00:07:21,270 je, mimochodom, len grafický reprezentácie užívateľa si 149 00:07:21,270 --> 00:07:25,350 interface pre vašu application-- potom table atribúty 150 00:07:25,350 --> 00:07:27,334 na ďaleko úplne vpravo bude skutočne zmení. 151 00:07:27,334 --> 00:07:29,750 Teraz je tu pár ďalších veci, ktoré chcem zdôrazniť. 152 00:07:29,750 --> 00:07:33,360 Môžete trochu preskúmať okolie v prostredí na vlastnú päsť. 153 00:07:33,360 --> 00:07:35,730 Ale jedna z vecí, ktorá bola veľmi užitočná 154 00:07:35,730 --> 00:07:38,470 je tu tlačidlo, v pravom hornom rohu okna. 155 00:07:38,470 --> 00:07:41,230 Tam je to tlačidlo, ktoré vyzerá na ďaleko 156 00:07:41,230 --> 00:07:46,090 nechal má odsek nasledované dvoma kruhmi a triediť 157 00:07:46,090 --> 00:07:49,540 z dvoch šípkami od seba. 158 00:07:49,540 --> 00:07:52,640 Ak máte prepínať medzi štandardný editor, ktorý 159 00:07:52,640 --> 00:07:55,560 je úplne vľavo jedna, jedna že je vybratá v predvolenom nastavení, 160 00:07:55,560 --> 00:08:01,040 a dva kruhy prekrývajú navzájom, to, čo skutočne dostať 161 00:08:01,040 --> 00:08:02,210 sú dvojité pohľad tabule. 162 00:08:02,210 --> 00:08:04,240 >> A to je v skutočnosti bude užitočné pre nás 163 00:08:04,240 --> 00:08:07,330 kedy je potrebné prepojiť položky v užívateľskom rozhraní s kódom. 164 00:08:07,330 --> 00:08:09,330 A budeme hovoriť o že za chvíľu. 165 00:08:09,330 --> 00:08:12,050 Ale uvedomiť, že ak sa dostanete ešte viac skla, ako je tento, 166 00:08:12,050 --> 00:08:15,830 si môžete zjednodušiť váš názor len trochu kliknutím späť 167 00:08:15,830 --> 00:08:20,680 na svojej jedinej editora. 168 00:08:20,680 --> 00:08:21,580 Zatiaľ je to dobré. 169 00:08:21,580 --> 00:08:24,560 Takže v podstate máme kód na vľavo, atribúty na pravej strane, 170 00:08:24,560 --> 00:08:28,260 a čo to je, že pracujeme tu v samom centre mesta. 171 00:08:28,260 --> 00:08:30,390 >> Tak tu som klikol na hlavnom scenári. 172 00:08:30,390 --> 00:08:33,350 A storyboard, opäť, je spôsob, Xcode 173 00:08:33,350 --> 00:08:38,110 že môžete skutočne vytvoriť užívateľa interface len pomocou drag and drop 174 00:08:38,110 --> 00:08:39,130 techniky. 175 00:08:39,130 --> 00:08:41,190 A tak náš veľmi Prvá aplikácia tohto 176 00:08:41,190 --> 00:08:42,720 je presne to, čo budeme robiť. 177 00:08:42,720 --> 00:08:45,950 Chystáme sa ísť dole do veľmi ďaleko pravej dolnej časti 178 00:08:45,950 --> 00:08:49,900 obrazovky, ktorá obsahuje rôzne užívateľských prvkov 179 00:08:49,900 --> 00:08:53,270 ktoré potom môžete kliknúť a ťahať k vytvoreniu užívateľského rozhrania. 180 00:08:53,270 --> 00:08:55,550 >> Teraz sú všetky z nich prvky sa nazývajú pohľady 181 00:08:55,550 --> 00:08:57,370 preto, že dodávajú nejaký názor. 182 00:08:57,370 --> 00:09:00,190 K dispozícii je pohľad obraz, pre príklad, v skutočnosti ukazujú, 183 00:09:00,190 --> 00:09:01,740 obraz na užívateľskom rozhraní. 184 00:09:01,740 --> 00:09:04,310 K dispozícii je stolný pohľad na v skutočnosti ukazujú tabuľky. 185 00:09:04,310 --> 00:09:05,190 Tak ďalej a tak ďalej. 186 00:09:05,190 --> 00:09:08,250 K dispozícii je široká škála pohľady, ktoré si môžete vybrať tu. 187 00:09:08,250 --> 00:09:11,100 Tak práve pre teraz ideme hľadať štítku. 188 00:09:11,100 --> 00:09:13,550 Stačí si len prechádzať všetky zoznamy, ktoré tam je. 189 00:09:13,550 --> 00:09:15,460 Ale je tu vyhľadávanie bar na samom dne 190 00:09:15,460 --> 00:09:19,460 že uľahčuje identifikáciu špecifické pohľady, že ste skutočne 191 00:09:19,460 --> 00:09:22,020 Chcete pretiahnuť do svojho užívateľského rozhrania. 192 00:09:22,020 --> 00:09:23,560 >> Našiel svoj label. 193 00:09:23,560 --> 00:09:28,430 Chystám sa ťahať to tu, priamo na mojej ukážkovej aplikácie. 194 00:09:28,430 --> 00:09:30,130 Priamo tam v prostrednej vyzerá dobre. 195 00:09:30,130 --> 00:09:33,180 A ja budem písať "Hello World!" 196 00:09:33,180 --> 00:09:33,810 Stlačte klávesu Enter. 197 00:09:33,810 --> 00:09:34,877 Teraz mám štítok. 198 00:09:34,877 --> 00:09:36,960 To nevyzerá, že je to sústredený úplne správne. 199 00:09:36,960 --> 00:09:38,500 Tak som sa pokúsiť znova domu IT. 200 00:09:38,500 --> 00:09:42,100 Našťastie ponúka tieto vodítka, aby sa veci oveľa jednoduchšie. 201 00:09:42,100 --> 00:09:44,130 Budem sa snažiť, aby to skompilovať. 202 00:09:44,130 --> 00:09:46,570 Dúfajme, že to bude skutočne pracovať. 203 00:09:46,570 --> 00:09:52,870 A ak to tak nie je, za chvíľu to bude v skutočnosti vyzerať na mojom iPad. 204 00:09:52,870 --> 00:09:54,360 Je to priamo tu. 205 00:09:54,360 --> 00:09:55,060 Tu to je. 206 00:09:55,060 --> 00:09:56,590 >> OK, tak to je ono. 207 00:09:56,590 --> 00:09:57,160 Skončili sme. 208 00:09:57,160 --> 00:09:58,868 Sme vytvorili naše veľmi prvej žiadosti. 209 00:09:58,868 --> 00:10:01,330 Teraz samozrejme to nič nerobí. 210 00:10:01,330 --> 00:10:02,280 Je to len označenie. 211 00:10:02,280 --> 00:10:07,350 Neexistuje žiadna súvislosť medzi užívateľské rozhranie a kód. 212 00:10:07,350 --> 00:10:10,130 Takže ak by sme skutočne chceli na vytvorenie tohto spojenia, 213 00:10:10,130 --> 00:10:14,790 Ak by sme naozaj chceli mať nejaký komunikácie medzi prvkami 214 00:10:14,790 --> 00:10:17,540 že existujú na displej a kód, ktorý 215 00:10:17,540 --> 00:10:19,810 nám umožňuje ovládať tie prvky, potom 216 00:10:19,810 --> 00:10:23,570 vlastne potrebujeme pozrite sa na samotnom kóde. 217 00:10:23,570 --> 00:10:27,000 >> Tak toto je to, čo sa nazýva ViewController.swift. 218 00:10:27,000 --> 00:10:30,080 A, najmä pre niekoľkých prvých programov, 219 00:10:30,080 --> 00:10:33,120 to bude trochu Prevažná časť kódu, ktorý enter-- 220 00:10:33,120 --> 00:10:35,980 bude v tomto dokumente tu. 221 00:10:35,980 --> 00:10:38,390 Je tu veľa vecí že je tu tak ďaleko, že jo? 222 00:10:38,390 --> 00:10:42,660 K dispozícii je import UI kit trieda, prepísať, [? funk ,?] všetky tieto rôzne veci. 223 00:10:42,660 --> 00:10:45,820 A to nie je úplne jasné, čo to je, že všetky to znamená. 224 00:10:45,820 --> 00:10:48,570 Takže poďme urobiť krok späť od z Xcode pre trochu 225 00:10:48,570 --> 00:10:52,420 a pozrieť sa na samotný jazyk, rýchle. 226 00:10:52,420 --> 00:10:56,370 >> Tak sa rýchlo, to bolo v návrh a vývoj 227 00:10:56,370 --> 00:10:58,645 u Apple pre asi štyri rokov môjho chápania. 228 00:10:58,645 --> 00:11:01,270 A je tu pár funkcií o tom, že sú naozaj pekné. 229 00:11:01,270 --> 00:11:03,910 Po prvé, je to zostavujú jazyk, rovnako ako C. 230 00:11:03,910 --> 00:11:06,120 Takže musíte najprv skompilovať a spustite ho 231 00:11:06,120 --> 00:11:09,580 Pred môžete skutočne spustiť kód, ktorý vedie. 232 00:11:09,580 --> 00:11:14,250 Ale je tu, na rozdiel od C, interaktívne výzvu, že môžete skutočne spustiť 233 00:11:14,250 --> 00:11:16,680 a zadajte ľubovoľné príkazy do. 234 00:11:16,680 --> 00:11:20,280 A veľmi podobne ako konzola JavaScript ktoré môžete poznať hneď, 235 00:11:20,280 --> 00:11:24,506 to v skutočnosti bude hodnotiť tie, príkazy a poskytne vám výstup. 236 00:11:24,506 --> 00:11:26,380 A oni si dokonca vziať že na ďalšiu úroveň 237 00:11:26,380 --> 00:11:29,100 a že som vytvoril niečo tzv ihrisko v Xcode 238 00:11:29,100 --> 00:11:31,720 ktoré vám umožňujú vizuálne pracovať s kódom. 239 00:11:31,720 --> 00:11:34,910 A budeme skutočne vidieť niekoľko príkladov z toho v len trochu. 240 00:11:34,910 --> 00:11:41,680 Je založený na C. C je základom to, pretože všetky kompilátory 241 00:11:41,680 --> 00:11:46,820 vytvoriť kód z C a vytvoriť objektový kód z nej. 242 00:11:46,820 --> 00:11:49,240 Ale je to naozaj akcie pomerne málo syntax. 243 00:11:49,240 --> 00:11:50,721 Bude to vyzerať celkom inak. 244 00:11:50,721 --> 00:11:51,970 Bude tam nejaké podobnosti. 245 00:11:51,970 --> 00:11:54,140 Ale tam sa bude pomerne málo rozdielov 246 00:11:54,140 --> 00:11:57,200 v porovnaní s, povedzme, JavaScript alebo PHP. 247 00:11:57,200 --> 00:11:59,070 A budeme ukazovať tieto sa len na chvíľu. 248 00:11:59,070 --> 00:12:01,420 >> Teraz jeden z najväčších vecí, o rýchly, že je to pekné 249 00:12:01,420 --> 00:12:05,650 je to, že, najmä v porovnaní C, to znamená, že je v bezpečí. 250 00:12:05,650 --> 00:12:08,100 Všetko, čo v ňom je určený pre sa veľmi silno zadať. 251 00:12:08,100 --> 00:12:10,780 V skutočnosti je to skoro nepríjemné na prvý, keď ste prvýkrát 252 00:12:10,780 --> 00:12:15,610 začať pracovať s rýchle, ako moc to presadzuje typy všade. 253 00:12:15,610 --> 00:12:17,860 Čokoľvek, čo je to reťazec musí zostať reťazec. 254 00:12:17,860 --> 00:12:22,100 Je to veľmi ťažké, aby tak nejako previesť ho alebo nútiť do inej forme. 255 00:12:22,100 --> 00:12:23,800 >> A opäť, ukážeme príklady tohto. 256 00:12:23,800 --> 00:12:26,830 Ale nakoniec si uvedomiť, že to znamená, aby vás chrániť, 257 00:12:26,830 --> 00:12:32,010 a vy myslím kód, z zhadzovať nejakým hrozným spôsobom, kedy 258 00:12:32,010 --> 00:12:34,330 Máte nejaký nezodpovedajúce typu. 259 00:12:34,330 --> 00:12:36,040 A opäť, s ním pracovať. 260 00:12:36,040 --> 00:12:40,210 Vzhľadom k tomu, že bude frustrujúce najprv ako ste sa snaží prísť na to, prečo práve 261 00:12:40,210 --> 00:12:43,070 začínaš tento neobvyklý chyba sa zaoberá typmi. 262 00:12:43,070 --> 00:12:45,350 Ale to bude stáť za to do konca. 263 00:12:45,350 --> 00:12:47,267 >> To sa zaoberajú automatickým správa pamäte, 264 00:12:47,267 --> 00:12:49,100 takže už sa vám musieť vysporiadať s vecami 265 00:12:49,100 --> 00:12:51,400 ako malloc a zdarma a všetky tieto druhy vecí. 266 00:12:51,400 --> 00:12:53,066 A to je tiež navrhnutý pre univerzálnosti. 267 00:12:53,066 --> 00:12:58,360 Takže zatiaľ čo môžeme použiť Xcode pre vytvoriť iOS aplikácie a aplikácie Mac, 268 00:12:58,360 --> 00:13:00,380 môžeme tiež len používať ako skriptovací jazyk. 269 00:13:00,380 --> 00:13:03,660 A tak ju môžeme použiť triedenie na miesto PHP alebo miesto 270 00:13:03,660 --> 00:13:07,800 Python skutočne rýchlo analyzovať a proces 271 00:13:07,800 --> 00:13:09,800 niektoré údaje, ktoré máme v našom počítači. 272 00:13:09,800 --> 00:13:13,290 >> Má širokú škálu moderného rysy, Voliteľné, premenlivosť, 273 00:13:13,290 --> 00:13:17,900 generík, uzávery, a veľa z toho veci, môže alebo nemusí rozpoznať. 274 00:13:17,900 --> 00:13:22,810 A je to len trochu nešťastný časť jazyka, že niektoré z nich 275 00:13:22,810 --> 00:13:26,700 trochu futuristický, moderné prvky, ktoré sú obsiahnuté v prvkami sú 276 00:13:26,700 --> 00:13:34,520 tak hlboko zakorenený, že som vlastne bude musieť naučiť CS50.5 trochu. 277 00:13:34,520 --> 00:13:37,305 >> Musíme sa naučiť trochu viac o niektorých prvkov s cieľom 278 00:13:37,305 --> 00:13:40,180 aby skutočne pochopili, čo sa deje o a tak, že sa môžete pozrieť na kód 279 00:13:40,180 --> 00:13:42,450 a necíti úplne stratené. 280 00:13:42,450 --> 00:13:44,820 A uvidíte, čo mám na mysli sa tým, že len na chvíľu. 281 00:13:44,820 --> 00:13:47,830 OK, takže let's-- dosť toho druh teoretického veci. 282 00:13:47,830 --> 00:13:52,450 Poďme sa pozrieť na našu vlastne Prvý rýchly programom. 283 00:13:52,450 --> 00:13:53,590 Je to jeden riadok kódu. 284 00:13:53,590 --> 00:13:57,690 Linka 14 tu, ju hovorí, že tlač l n ahoj CS50. 285 00:13:57,690 --> 00:14:01,160 >> Takže je tu pár vecí, ktoré je veľmi odlišné o tom v porovnaní 286 00:14:01,160 --> 00:14:04,140 na veci, ktoré by vás mohli byť používajú na od C, napr. 287 00:14:04,140 --> 00:14:08,390 Jedným z nich je, že neexistuje žiadny intmain, nie zahŕňať časť, 288 00:14:08,390 --> 00:14:10,790 je tu nikto z tejto dodatočnej veci. 289 00:14:10,790 --> 00:14:13,790 Patrí, rovnako ako štandardné I / O, rovnako ako knižnice 290 00:14:13,790 --> 00:14:16,580 že skutočne poskytujú štandardné funkcie jazyka, 291 00:14:16,580 --> 00:14:19,180 sú automaticky zahrnuté ako Súčasťou štandardnej knižnice SWIFT 292 00:14:19,180 --> 00:14:20,680 a ktoré sú automaticky importované. 293 00:14:20,680 --> 00:14:23,740 Nemusíte robiť že import ručne. 294 00:14:23,740 --> 00:14:27,360 >> Intmain neexistuje, pretože hlavný vstupný bod pre kód 295 00:14:27,360 --> 00:14:29,470 je v skutočnosti v začiatok kódu. 296 00:14:29,470 --> 00:14:32,000 Takže akýkoľvek kód, ktorý máte od začiatku 297 00:14:32,000 --> 00:14:34,940 bude skutočne vykonaný na začiatku. 298 00:14:34,940 --> 00:14:36,520 Takže to naozaj výrazne zjednodušuje. 299 00:14:36,520 --> 00:14:38,470 Všimnite si tiež, že nie je bodkočiarka. 300 00:14:38,470 --> 00:14:41,040 K dispozícii je v tomto jazyku, žiadne bodkočiarkami. 301 00:14:41,040 --> 00:14:43,261 Dáte vyhlásenie na jednotlivé linky 302 00:14:43,261 --> 00:14:45,510 a potom ďalší riadok predstavuje ďalšie vyhlásenie. 303 00:14:45,510 --> 00:14:47,420 Ak chcete, aby mulitiple vyhlásenie on-line, 304 00:14:47,420 --> 00:14:49,086 potom máte oddeľte bodkočiarkou. 305 00:14:49,086 --> 00:14:50,940 Ale z väčšej časti, pre dobrý štýl, my sme 306 00:14:50,940 --> 00:14:56,530 nikdy vidieť bodkočiarkami pre účely separácie vyhlásenie 307 00:14:56,530 --> 00:14:58,420 SWIFT. 308 00:14:58,420 --> 00:14:59,820 Tak ako to vlastne funguje? 309 00:14:59,820 --> 00:15:04,080 Tak veľmi podobne ako C my skutočne zostaviť to. 310 00:15:04,080 --> 00:15:10,640 A tak môžeme urobiť, že pri použití rýchla c a potom 1.swift. 311 00:15:10,640 --> 00:15:13,850 A potom po pár minút to bude zostavovať 312 00:15:13,850 --> 00:15:16,340 a potom môžem bežať jednu položku. 313 00:15:16,340 --> 00:15:19,691 A než to bude len hovoriť "Ahoj CS50." 314 00:15:19,691 --> 00:15:20,690 Super, takže tam ideme. 315 00:15:20,690 --> 00:15:22,273 Tu je náš prvý Hello world. 316 00:15:22,273 --> 00:15:24,790 Poďme sa presunúť na číslo dva. 317 00:15:24,790 --> 00:15:30,450 >> Teraz v tohle-- to zmenilo ľahko, pretože zatiaľ čo normálne vás 318 00:15:30,450 --> 00:15:34,720 do-- v skutočnosti vždy máte na zostaviť rýchle aplikácie predtým, než 319 00:15:34,720 --> 00:15:37,180 vlastne spustiť to-- jeden zo skvelých funkcií 320 00:15:37,180 --> 00:15:40,230 ktoré som sa zmieňoval o predtým bolo, že rýchla môže byť skutočne použité na druhu 321 00:15:40,230 --> 00:15:43,390 z režimu pseudo-interpretačnej, tam je v skutočnosti ako tlmočníka. 322 00:15:43,390 --> 00:15:46,690 Ale čo to bude robiť, je tam je, v skutočnosti, rýchla aplikácia 323 00:15:46,690 --> 00:15:47,520 že môžete spustiť. 324 00:15:47,520 --> 00:15:51,050 >> Tak napríklad, ak ste práve zadať tu rýchly, čo sa bude diať 325 00:15:51,050 --> 00:15:52,330 je to, že budete mať dotaz. 326 00:15:52,330 --> 00:15:59,040 A môžete zadať svoj Swift kód, tlač ahoj, a spustite ho. 327 00:15:59,040 --> 00:16:01,867 A to bude skutočne print-- no, to sa netlačia v tomto prípade 328 00:16:01,867 --> 00:16:04,450 pretože vytlačená na stred von, ktorá nie je vidieť tu. 329 00:16:04,450 --> 00:16:06,660 Ale to je vlastne schopný fungovať. 330 00:16:06,660 --> 00:16:09,580 A tak v tomto prípade, ja som len bude použiť ako skript. 331 00:16:09,580 --> 00:16:11,259 A ja si skutočne spustiť tento kód tam. 332 00:16:11,259 --> 00:16:13,800 Takže ako som vlastne bežať to bude mierne líšiť, 333 00:16:13,800 --> 00:16:15,710 ale uvidíte, že za chvíľu. 334 00:16:15,710 --> 00:16:18,890 Teraz, v tomto prípade to, čo budeme urobiť, je najprv definovať premenné. 335 00:16:18,890 --> 00:16:22,160 Tak to je, ako definovať premenná v rýchle, 336 00:16:22,160 --> 00:16:25,900 ich používame nechať kľúčové slovo, nasledoval názvom premennej, 337 00:16:25,900 --> 00:16:29,280 a potom sme sa poskytnúť nejaké inicializáciu dát voliteľne. 338 00:16:29,280 --> 00:16:34,660 Takže v tomto prípade sme definovanie konštanta s názvom názov, 339 00:16:34,660 --> 00:16:37,775 a budeme používať, že v výstup našej tlačovej linky 340 00:16:37,775 --> 00:16:39,590 na samom dne, ahoj meno. 341 00:16:39,590 --> 00:16:43,260 >> Teraz si všimnúť, že skôr než pomocou% s, môžeme zapouzdřit názov tejto 342 00:16:43,260 --> 00:16:49,960 premenná v / () a byť schopný zřetězit v obsahu tohto 343 00:16:49,960 --> 00:16:51,790 reťazec do tohto reťazca. 344 00:16:51,790 --> 00:16:56,510 Teraz na rozdiel od C, reťazec je aktuálny typ real SWIFT. 345 00:16:56,510 --> 00:16:59,240 A tak to sedí vedľa ints a vedľa 346 00:16:59,240 --> 00:17:02,220 zdvojnásobí veľmi ľahko a prirodzene porovnanie 347 00:17:02,220 --> 00:17:05,450 na niektoré z druhej jazyky, ktoré sme videli. 348 00:17:05,450 --> 00:17:07,980 Tak to by vlastne fungujú rovnako ako vy by sa dalo očakávať. 349 00:17:07,980 --> 00:17:10,540 >> Môžem bežať 2.swift. 350 00:17:10,540 --> 00:17:14,390 A vidíme, že sa volám v skutočnosti spojené v "Ahoj Dane." 351 00:17:14,390 --> 00:17:16,050 OK, úžasné. 352 00:17:16,050 --> 00:17:17,485 Presun na číslo tri. 353 00:17:17,485 --> 00:17:19,359 Teraz to bolo trochu biele lži, ktoré som 354 00:17:19,359 --> 00:17:23,369 povedal, že spôsob, akým prehlasujeme premenné bolo použiť nechať kľúčové slovo. 355 00:17:23,369 --> 00:17:27,640 Toľkokrát, koľkokrát, ako si možno môžete urobiť chcete použiť nechať, pretože to, čo robí, že 356 00:17:27,640 --> 00:17:29,280 je to definuje konštantná. 357 00:17:29,280 --> 00:17:33,010 A to hovorí, rýchly, že to môže optimalizáciu rýchlosti aplikácie 358 00:17:33,010 --> 00:17:36,230 pretože vie, že premenná sa nebude meniť. 359 00:17:36,230 --> 00:17:38,760 >> Tak hodnotí opatrne keď budete používať 360 00:17:38,760 --> 00:17:41,382 premenná pre účely ho zmeniť. 361 00:17:41,382 --> 00:17:43,340 A keď budete vytvoriť premennú len 362 00:17:43,340 --> 00:17:47,010 držať niektoré údaje, a že je nie vlastne zmení. 363 00:17:47,010 --> 00:17:50,150 Takže tento pojem nemennosti, to nie je v skutočnosti sa zmení, 364 00:17:50,150 --> 00:17:53,740 je dôležitá, aj keď Ak dole, ako definovať premenné. 365 00:17:53,740 --> 00:17:56,870 Tak tu sme definovali meno, nechal meno, a v tomto prípade 366 00:17:56,870 --> 00:18:02,120 je to konštanta, ktorá je typu reťazec, a to sa rovná Dan. 367 00:18:02,120 --> 00:18:05,580 >> A tak zatiaľ čo v predchádzajúcej verzia, to infers-- a "to" 368 00:18:05,580 --> 00:18:08,220 Myslím swift-- Swift odvodí typ dát 369 00:18:08,220 --> 00:18:10,850 že sme vstúpili do premennej. 370 00:18:10,850 --> 00:18:12,930 V tomto prípade môžeme byť explicitné. 371 00:18:12,930 --> 00:18:17,590 Tak nech potom názov tejto premenné je názov, potom hrubého čreva. 372 00:18:17,590 --> 00:18:21,350 A za dvojbodkou my špecifikovať typ dát. 373 00:18:21,350 --> 00:18:24,694 Tak už je to INT názov alebo Názov reťazca alebo niečo takého. 374 00:18:24,694 --> 00:18:26,860 Ale namiesto toho nechal štítok, my sme určovaní, či 375 00:18:26,860 --> 00:18:29,090 to je konštantná alebo variabilná, po ktorej nasleduje meno, 376 00:18:29,090 --> 00:18:31,870 nasleduje typu Voliteľne. 377 00:18:31,870 --> 00:18:34,730 >> Takže v tomto prípade sme definovanie Tento názov je reťazec. 378 00:18:34,730 --> 00:18:35,790 Sme hovorí Dan. 379 00:18:35,790 --> 00:18:39,270 A teraz mám ďalšie premenné, V tomto prípade je to len nálepka. 380 00:18:39,270 --> 00:18:42,090 Ale všimnite si, že to je predponou pomocou kľúčového slova var. 381 00:18:42,090 --> 00:18:44,430 Kľúčového slova var prostriedky že táto premenná môže 382 00:18:44,430 --> 00:18:48,720 byť zmenený v neskoršom okamihu čas, niekde v kóde 383 00:18:48,720 --> 00:18:52,480 môžeme ju a ona skutočne zmeniť nebude nám žiadnu konkrétnu chybu. 384 00:18:52,480 --> 00:18:56,760 >> Môžeme to urobiť štandardný Zreťazenie Operátor sa tu pomocou na symbol plus 385 00:18:56,760 --> 00:19:00,130 skutočne pridať naše meno do tohto reťazca. 386 00:19:00,130 --> 00:19:02,921 A potom môžeme vytlačiť ako sme videli pred chvíľou. 387 00:19:02,921 --> 00:19:04,920 Teraz povedzme, že vám Chcete vytvoriť premennú 388 00:19:04,920 --> 00:19:06,586 ale nechcete ho inicializovať doteraz. 389 00:19:06,586 --> 00:19:08,590 Nemáte ešte chcieť dať všetky dáta v ňom. 390 00:19:08,590 --> 00:19:11,760 No, musím povedať rýchly aký typ dát 391 00:19:11,760 --> 00:19:16,430 bude trvať, než si môžete vlastne definovať správne. 392 00:19:16,430 --> 00:19:20,360 >> Takže v tomto prípade, kedy sme definovaný premenná nazýva stupeň musíme byť 393 00:19:20,360 --> 00:19:24,450 výslovne o svojho druhu, pretože nemožno vyvodiť, len sa pozerá 394 00:19:24,450 --> 00:19:27,300 na inicializovaná údajov ktoré poskytnete na neho. 395 00:19:27,300 --> 00:19:30,050 To nám dáva chybu, ak sa Stačí zadať var stupeň, napríklad, 396 00:19:30,050 --> 00:19:31,830 pretože nemá žiadny typ preto. 397 00:19:31,830 --> 00:19:33,353 Takže stupeň = 100. 398 00:19:33,353 --> 00:19:35,790 Tak, že 100 je číslo, to zapadá veľmi dobre do toho. 399 00:19:35,790 --> 00:19:36,998 To bude aj naďalej fungovať. 400 00:19:36,998 --> 00:19:40,350 401 00:19:40,350 --> 00:19:43,022 Môžeme vidieť, ako potom sme môže zřetězit to v. 402 00:19:43,022 --> 00:19:44,730 Teraz môžete byť pokušenia, ak ste skutočne 403 00:19:44,730 --> 00:19:48,610 chcel zřetězit trieda do iného textového reťazca, 404 00:19:48,610 --> 00:19:52,560 do iného reťazca, že by ste práve používať rovnako operátor zreťazenia. 405 00:19:52,560 --> 00:19:54,630 A že by za normálnych okolností bola pravda. 406 00:19:54,630 --> 00:20:00,540 Ale rýchlo nedovolí vám implicitne zmeniť typ dát. 407 00:20:00,540 --> 00:20:03,440 Takže v tomto prípade, to linka, 25, sa nepodarí 408 00:20:03,440 --> 00:20:06,650 preto, že trieda je integer a nie reťazec. 409 00:20:06,650 --> 00:20:08,760 A tak je tu nesúladu nastavenie typov. 410 00:20:08,760 --> 00:20:11,780 Takže musíte byť explicitné, ak Ak chcete zmeniť tieto dáta, 411 00:20:11,780 --> 00:20:14,080 keď chcete donútiť to dát do iného typu 412 00:20:14,080 --> 00:20:17,250 a povedať, OK, ja chcem, aby sa tento stupeň, čo je celé číslo, 413 00:20:17,250 --> 00:20:19,050 a previesť na reťazec. 414 00:20:19,050 --> 00:20:23,970 >> Tak som vziať kapitálu, s reťazec všetky typy, všimnete si, sú kapitalizované, 415 00:20:23,970 --> 00:20:26,280 Int, Double, String, tak ďalej a tak ďalej. 416 00:20:26,280 --> 00:20:28,930 Všetky z nich sú kapitalizované len preto, aby sa veci jednoduchšie. 417 00:20:28,930 --> 00:20:32,240 A budeme hovoriť zarobiť String prejsť do it triedy. 418 00:20:32,240 --> 00:20:35,020 A to bude vytvárať reťazec z toho celé číslo. 419 00:20:35,020 --> 00:20:37,970 A potom sa môžeme spájať dva veľmi pekne. 420 00:20:37,970 --> 00:20:40,500 Akékoľvek otázky týkajúce sa tejto veci tak ďaleko? 421 00:20:40,500 --> 00:20:43,770 Dobre, poďme pluh až na číslo štyri. 422 00:20:43,770 --> 00:20:47,870 >> Teraz sa poďme baviť o nejakej vyspelejšie štruktúry, ako sú polia a slučky. 423 00:20:47,870 --> 00:20:54,920 A na rozdiel od C, pole SWIFT nie sú reprezentované ukazovateľmi. 424 00:20:54,920 --> 00:20:58,730 Ukazovatele v rýchle, aj keď existujú, nazvaný 425 00:20:58,730 --> 00:21:02,840 ako nebezpečné ukazovatele alebo nejaký podobný typ ako je tento, 426 00:21:02,840 --> 00:21:04,950 oni nie sú vystavené na vás normálne. 427 00:21:04,950 --> 00:21:07,300 Tak sa stáva veľmi ťažké pre vás manipulovať 428 00:21:07,300 --> 00:21:10,020 pamäť priamo z vášho počítača. 429 00:21:10,020 --> 00:21:11,670 >> Takže polia sú len dátový typ. 430 00:21:11,670 --> 00:21:16,830 A oni odkazovať pomocou tohto druhu Odteraz štandardné hranatú zátvorku notácie 431 00:21:16,830 --> 00:21:18,280 že ste nevideli. 432 00:21:18,280 --> 00:21:21,130 Ale keď ste skutočne chcú definovať typ premennej 433 00:21:21,130 --> 00:21:24,330 ako pole niektorých konkrétny typ, potom 434 00:21:24,330 --> 00:21:27,150 dať tento typ do hranatých zátvoriek. 435 00:21:27,150 --> 00:21:30,260 Takže to, čo hovorím je, že Som vytvoriť premennú s názvom 436 00:21:30,260 --> 00:21:33,930 stupňa typu int pole. 437 00:21:33,930 --> 00:21:37,380 A ja som nastavenie, ktoré sa rovná niektoré INITIALIZED údaje, ktoré sa v tomto prípade 438 00:21:37,380 --> 00:21:42,960 100, 0, 90, 85, čo je len kolekcia ľubovoľných tried tu. 439 00:21:42,960 --> 00:21:46,480 Teraz v tomto prípade som mohol, pamätať, odstráňte typ, 440 00:21:46,480 --> 00:21:49,580 a bolo by možné ju odvodiť na základe údajov inicializovaná. 441 00:21:49,580 --> 00:21:51,990 Ale keď som odstránil to a Potreboval som ju nastaviť neskôr, 442 00:21:51,990 --> 00:21:56,840 potom by som sa uistiť, že tam mám typ. 443 00:21:56,840 --> 00:21:58,750 Dobre, poďme ďalej. 444 00:21:58,750 --> 00:22:03,010 Tak sme can-- poľa nám poskytnete odroda 445 00:22:03,010 --> 00:22:07,130 metód prostredníctvom tohto tečkové notácie u vás sú pravdepodobne už poznajú. 446 00:22:07,130 --> 00:22:10,360 Tak grades.count, napríklad, nám hovorí presne počet, 447 00:22:10,360 --> 00:22:13,680 z prvkov, ktoré sú obsiahnuté v tomto poli. 448 00:22:13,680 --> 00:22:17,260 >> Ak sa chcete pridať additional-- Teraz si všimnúť, že sa jedná o var 449 00:22:17,260 --> 00:22:20,140 a ne-- to je premenná a nie je konštantné, čo 450 00:22:20,140 --> 00:22:24,410 Znamená to, že môžem zmeniť obsah tohto poľa, môžem pridať objekty do toho. 451 00:22:24,410 --> 00:22:28,870 Ale nemôžem povedať, len známky a potom v hranatých zátvorkách 452 00:22:28,870 --> 00:22:33,280 štyri, pretože to bude mimo hranice chyby v tomto prípade. 453 00:22:33,280 --> 00:22:36,190 Ak sa chcem naozaj zmeniť veľkosť poľa, 454 00:22:36,190 --> 00:22:41,140 Musím použiť metódu dot append pridať niečo na samom konci. 455 00:22:41,140 --> 00:22:46,900 Aj však môže zmeniť Individuálne indexy. 456 00:22:46,900 --> 00:22:48,920 >> Takže som mohol použiť známky a potom hranaté zátvorky 457 00:22:48,920 --> 00:22:52,480 nula na manipuláciu s touto prvou index a tak ďalej, ako by ste normálne očakávať. 458 00:22:52,480 --> 00:22:56,530 A ja si to isté vlastne prijímať dáta z že rovnako. 459 00:22:56,530 --> 00:23:00,420 Teraz je tu aj trochu fantázie metóda ako to urobiť, stupne a navyše rovná 460 00:23:00,420 --> 00:23:02,525 a potom ďalšie index, ktorý bude append-- 461 00:23:02,525 --> 00:23:04,400 alebo nie iný index-- ale ďalší zoznam, ktorý 462 00:23:04,400 --> 00:23:07,340 sa tento zoznam pripojí na zadnej strane stupňov. 463 00:23:07,340 --> 00:23:09,780 A stupňa budú potom obsahujú všetko. 464 00:23:09,780 --> 00:23:13,850 Ale to je tak nejako extra vec že som len, že vám ukazuje pre zábavu. 465 00:23:13,850 --> 00:23:14,910 >> Teraz je tu pre sláčiky. 466 00:23:14,910 --> 00:23:18,970 A to je začiatok, kde sa veci začnú meniť trochu. 467 00:23:18,970 --> 00:23:22,920 Všimnite si, ako to pre sláčiky je odlišný od pre slučky v C. 468 00:23:22,920 --> 00:23:26,470 Teraz som sa na vedomie, že pre slučky v Swift môže 469 00:23:26,470 --> 00:23:30,650 bude vyzerať ako na slučky v C, ale je tu veľa viac užitočných konštruktov 470 00:23:30,650 --> 00:23:37,840 že v podstate odstraňujú nutnosť mať k dispozícii pre var i = 0 bodkočiarka aj 471 00:23:37,840 --> 00:23:40,340 je menšia než určitej dĺžky, tak ďalej a tak ďalej, že jo? 472 00:23:40,340 --> 00:23:42,940 A tento konštrukt je len jeden z nich. 473 00:23:42,940 --> 00:23:49,030 >> Pre index, index je nové premenná, v tomto prípade, v dosahu. 474 00:23:49,030 --> 00:23:52,730 A to, čo hovorím, je, že tam je rozmedzí od 0 po celú cestu až do 475 00:23:52,730 --> 00:23:55,870 ale bez grades.count. 476 00:23:55,870 --> 00:23:58,470 Tak to dot dot menej ako značka predstavuje 477 00:23:58,470 --> 00:24:05,040 rozsah hodnôt od nuly celú cestu až do grades.count mínus 1. 478 00:24:05,040 --> 00:24:07,070 K dispozícii je samostatná subjekt, ktorý existuje, 479 00:24:07,070 --> 00:24:13,320 čo je dot dot dot, ktorý by znamená, že chcem rozsahu od nuly 480 00:24:13,320 --> 00:24:16,310 do jednotlivých stupňov počítať vrátane. 481 00:24:16,310 --> 00:24:19,130 >> Ale v tomto prípade, pretože tieto polia sú nulové index, sme samozrejme 482 00:24:19,130 --> 00:24:23,290 nechcú ísť do Maximálny počet tried. 483 00:24:23,290 --> 00:24:26,390 Môžem sčítať známky, ako by sa mohlo očakávajú, a výstup všetky tieto veci. 484 00:24:26,390 --> 00:24:29,620 OK, ďalej. 485 00:24:29,620 --> 00:24:32,270 Teraz sa poďme hovoriť o funkciách. 486 00:24:32,270 --> 00:24:35,465 Aby bolo možné definovať funkcie použiť funk kľúčové slovo. 487 00:24:35,465 --> 00:24:38,090 A opäť, v Swift musíte buďte veľmi opatrní s typmi. 488 00:24:38,090 --> 00:24:41,530 Tie poskytujú na to parametre definovaním, napríklad, 489 00:24:41,530 --> 00:24:45,440 názov parametra a potom Colin, druh údajov 490 00:24:45,440 --> 00:24:47,690 že očakávate, že parameter akceptovať. 491 00:24:47,690 --> 00:24:50,700 >> Takže v tomto prípade máme Funkcie tzv počet print stupeň. 492 00:24:50,700 --> 00:24:54,630 Prijíma premennú s názvom gradebook, alebo skôr parameter s názvom zadávanie známok. 493 00:24:54,630 --> 00:24:59,267 A očakávame, že zadávanie známok byť pole celých čísel. 494 00:24:59,267 --> 00:25:01,350 Ak to gradebook je prázdny, budeme tlačiť na jednu vec. 495 00:25:01,350 --> 00:25:06,090 V opačnom prípade budeme tlačiť číslo známok, že to v skutočnosti má. 496 00:25:06,090 --> 00:25:09,470 >> Teraz, ak chceme, aby sa vrátiť nejakú hodnotu, potom spôsob 497 00:25:09,470 --> 00:25:14,595 že sme sa zmeniť táto definícia je skutočne používať toto kľúčové slovo šípka 498 00:25:14,595 --> 00:25:16,870 alebo použiť tento šípkami signifier. 499 00:25:16,870 --> 00:25:19,440 Tak tu budeme definovať funkcia s názvom priemer. 500 00:25:19,440 --> 00:25:21,940 Chystáme sa prijať zoznam čísel. 501 00:25:21,940 --> 00:25:25,430 A budeme sa vrátiť double, čo bude dúfajme 502 00:25:25,430 --> 00:25:31,270 je priemer tohto poľa. 503 00:25:31,270 --> 00:25:34,570 A aby k tomu, že v záujme skutočne vypočítať tento priemer, 504 00:25:34,570 --> 00:25:38,651 budeme mať sumu, a my sa o Samozrejme zhrnúť všetky objekty 505 00:25:38,651 --> 00:25:39,400 v tomto poli. 506 00:25:39,400 --> 00:25:41,480 >> Všimnite si, že je tu nová štýl pre slučky tu. 507 00:25:41,480 --> 00:25:45,450 Nemusíme byť explicitné o iterácia cez každej jednotlivej súčasti, 508 00:25:45,450 --> 00:25:48,280 ale môžeme namiesto toho povedať triedy a gradebook, význam 509 00:25:48,280 --> 00:25:50,930 že pre každý jednotlivý položka, ktorá máme v tomto, 510 00:25:50,930 --> 00:25:53,482 stanovuje, že prostriedky v tomto premenná s názvom stupeň. 511 00:25:53,482 --> 00:25:54,940 A ja chcem, aby niečo urobiť s ním. 512 00:25:54,940 --> 00:26:00,350 Takže budem zhrnúť všetky tieto údaje a skutočne vráti dvojaký rozdelenie. 513 00:26:00,350 --> 00:26:04,436 >> Teraz si všimnúť opäť tu je Koncept celé číslo divízie Swift. 514 00:26:04,436 --> 00:26:06,810 Ak chcete zdvojnásobiť divíziu preto, že chcete desatinné miesta, 515 00:26:06,810 --> 00:26:09,460 potom musíte byť explicitné, Nejde len o jednej strane, 516 00:26:09,460 --> 00:26:14,030 pretože to nebude, aby vám donútiť dát na oboch stranách tohto, 517 00:26:14,030 --> 00:26:17,030 musíte skutočne kurz obe strany do štvorhry 518 00:26:17,030 --> 00:26:19,440 takže ste veľmi výslovne o tom, či 519 00:26:19,440 --> 00:26:23,370 že robíte dvojaký rozdelenie. 520 00:26:23,370 --> 00:26:26,150 >> Poďme ďalej. 521 00:26:26,150 --> 00:26:31,150 Takže ak by som naozaj chcel accept-- takže v tomto konkrétnom príklade, 522 00:26:31,150 --> 00:26:34,260 je to stále príkaz linka na základe žiadosti. 523 00:26:34,260 --> 00:26:37,920 A my začíname vidieť niektoré z obmedzenia mladého jazyka 524 00:26:37,920 --> 00:26:41,850 v tom, že aj keď môžeme prístup k argumenty pomocou 525 00:26:41,850 --> 00:26:44,940 Táto process.arguments, to je ešte nie nevyhnutne najčistejšie 526 00:26:44,940 --> 00:26:46,200 vec, ktorú som kedy videl. 527 00:26:46,200 --> 00:26:49,142 Ale v podstate som povzbudiť, aby ste sa trochu pozrieť na tento kód 528 00:26:49,142 --> 00:26:51,100 a snaží sa prísť na to, čo presne sa deje. 529 00:26:51,100 --> 00:26:55,030 >> V podstate to, čo sa deje, je to, že zoberieme zoznam argumentov 530 00:26:55,030 --> 00:26:57,610 a bolo donútiť ich do celé čísla, a potom sme 531 00:26:57,610 --> 00:27:03,620 bude používať, že ako spôsob, ako tlačiť out priemer všetkých našich tried. 532 00:27:03,620 --> 00:27:06,150 533 00:27:06,150 --> 00:27:07,350 Ďalej. 534 00:27:07,350 --> 00:27:11,190 Teraz je tu iný typ data-- ďalší typ dát skôr než polia 535 00:27:11,190 --> 00:27:14,940 tzv slovníky, ktoré sú veľmi podobne ako hash tabuľky alebo hash mapy 536 00:27:14,940 --> 00:27:18,560 a sú tiež podobné PHP asociatívne pole. 537 00:27:18,560 --> 00:27:20,770 A tak majú predstavu kľúčov a hodnôt. 538 00:27:20,770 --> 00:27:23,780 >> A oni sú definované tiež s Toto námestie držiak zápis, 539 00:27:23,780 --> 00:27:26,750 ale rozdiel je že slovníky majú 540 00:27:26,750 --> 00:27:29,370 vnútri hranatých zátvorkách, dvojbodkou. 541 00:27:29,370 --> 00:27:33,850 A dvojbodka oddeľuje dáta typ, ktorý je kľúčom a hodnota. 542 00:27:33,850 --> 00:27:38,540 Takže v tomto prípade budem vytvárať slovník prijať nejaké známky. 543 00:27:38,540 --> 00:27:44,200 A to bude typu string: int, 544 00:27:44,200 --> 00:27:46,940 čo znamená, že všetky kľúče sa bude reťazca, 545 00:27:46,940 --> 00:27:53,080 a všetky hodnoty tých, ktorí kľúče sa bude celé čísla. 546 00:27:53,080 --> 00:27:55,780 >> Čo to znamená, že môžem potom odkaz na konkrétne údaje, 547 00:27:55,780 --> 00:28:00,490 že chcem používať tie kľúče skôr než pomocou číselných indexov, ako ja 548 00:28:00,490 --> 00:28:04,350 by sa pre štandardné polia. 549 00:28:04,350 --> 00:28:06,470 Teraz sa pozrime, je tu jedna dôležitá vec 550 00:28:06,470 --> 00:28:10,790 že aj ja chcem zmieniť o tento konkrétny sekvencie kódu. 551 00:28:10,790 --> 00:28:12,910 A to je, že je tu iný typ dát, 552 00:28:12,910 --> 00:28:15,580 alebo skôr tam je to Myšlienka dát, ktorá je 553 00:28:15,580 --> 00:28:18,340 obsiahnuté v Swift volal Voliteľne. 554 00:28:18,340 --> 00:28:21,270 >> A čo Voliteľne znamená že vychádza zo skutočnosti, 555 00:28:21,270 --> 00:28:27,500 že niekedy nebudeme získať dáta, ktoré skutočne očakávate. 556 00:28:27,500 --> 00:28:31,400 A tak to, čo mám na mysli, že je-- poďme pozrite sa na tomto poradí kódu 557 00:28:31,400 --> 00:28:38,910 ktorý opakuje cez všetky argumenty, ktoré boli odovzdané do tohto kódu 558 00:28:38,910 --> 00:28:43,460 a snažia sa ich previesť, sa snaží rozdeliť do rôznych reťazcov, 559 00:28:43,460 --> 00:28:47,310 preto, že prijíma veľmi konkrétny typ argumentu. 560 00:28:47,310 --> 00:28:51,530 A potom sa to bude snažiť donútiť reťazce, ktoré predstavujú čísla 561 00:28:51,530 --> 00:28:55,460 na celé čísla, ktoré sú stupne, že som sa potom môže spočítať. 562 00:28:55,460 --> 00:28:58,230 >> Takže v podstate idem použitie tejto funkcie Rozdeliť že 563 00:28:58,230 --> 00:29:00,080 existuje v rámci Swift štandardná knižnica. 564 00:29:00,080 --> 00:29:03,720 Chystám sa prejsť do nej reťazec, ktorý chcem rozdeliť. 565 00:29:03,720 --> 00:29:06,980 A potom pomocou tohto trochu funky syntaxe, čo 566 00:29:06,980 --> 00:29:09,670 Nemyslím si, ak budeme vedieť, dostať, ale možno, my 567 00:29:09,670 --> 00:29:14,320 bude skutočne špecifikovať presný znak, ktorý chceme rozdeliť na adrese. 568 00:29:14,320 --> 00:29:16,030 Takže čo to vlastne vyzerá? 569 00:29:16,030 --> 00:29:18,740 Poďme sa pozrieť na vlastne spustením tohto kódu. 570 00:29:18,740 --> 00:29:22,000 >> Tak napríklad, povedzme, že mám kvíz a ja mám 50 na to. 571 00:29:22,000 --> 00:29:23,960 A ja mám PSETs a Mám sto na to. 572 00:29:23,960 --> 00:29:29,180 A ja got-- je tu ďalší kvíz a ja som dostal 40 na to. 573 00:29:29,180 --> 00:29:33,520 Aj stlačte klávesu Enter, a nakoniec to, čo sa stane, je, že to, čo to robí 574 00:29:33,520 --> 00:29:37,730 je s ohľadom na tieto parametre, štiepacie reťazca v týchto dvojbodky, 575 00:29:37,730 --> 00:29:41,390 uznáva, že je tu Dva prvky každej z nich, 576 00:29:41,390 --> 00:29:43,700 a to je v podstate sledovanie každého z nich. 577 00:29:43,700 --> 00:29:49,226 >> Tak som sa v mojom slovníku kvíz, ktorého hodnota je reprezentovaný číslom 50, 578 00:29:49,226 --> 00:29:54,290 Mám pset, ktorý má hodnotu 100, a kvíz ten, ktorý má hodnotu 40. 579 00:29:54,290 --> 00:29:57,400 Potom sa neskôr v kóde I vlastne priemer všetkých týchto hodnôt 580 00:29:57,400 --> 00:30:01,160 a vypísať všetky kľúče že osobitné slovník. 581 00:30:01,160 --> 00:30:03,217 Ale je to dôležité takže si môžete všimnúť 582 00:30:03,217 --> 00:30:06,050 čo sa deje, je to, že to, čo sme chcem urobiť, je, aby sa tento reťazec 583 00:30:06,050 --> 00:30:11,450 a rozdeliť ho na tohto charakteru, ktoré môžeme urobiť znovu s týmto rozdelením 584 00:30:11,450 --> 00:30:15,690 Funkcie používať tento druh zaujímavé, syntax, že existuje tu. 585 00:30:15,690 --> 00:30:17,880 >> Práve teraz predpokladať, že to je v poriadku. 586 00:30:17,880 --> 00:30:19,980 Pozrieme sa ešte na to len na chvíľu. 587 00:30:19,980 --> 00:30:23,230 Ale teraz je tu zaujímavý aspekt, že sme vlastne 588 00:30:23,230 --> 00:30:27,250 chcú, aby sa pokúsili zmeniť toto reťazec na celé číslo. 589 00:30:27,250 --> 00:30:29,720 Ale v iných jazykoch čo sa môže stať je 590 00:30:29,720 --> 00:30:33,440 že by sme asi skúsiť na to a buď vrátiť 591 00:30:33,440 --> 00:30:36,185 nejaký Sentinel hodnota ako negatívneho 592 00:30:36,185 --> 00:30:39,420 alebo možno null, alebo niečo také. 593 00:30:39,420 --> 00:30:41,070 Alebo možno, že by len spôsobilo chybu. 594 00:30:41,070 --> 00:30:42,820 A museli by sme potom chytiť túto chybu 595 00:30:42,820 --> 00:30:44,820 a pokúste sa urobiť niečo vychádza z toho, 596 00:30:44,820 --> 00:30:48,280 že táto konverzia na celé číslo zlyhal. 597 00:30:48,280 --> 00:30:50,460 To je miesto, kde táto myšlienka o Voliteľné príde. 598 00:30:50,460 --> 00:30:56,120 Môžete si skutočne vytvoriť dátový typ, ktorý je int otáznik, napr. 599 00:30:56,120 --> 00:30:59,140 600 00:30:59,140 --> 00:31:01,910 To znamená, že toto celé číslo je, v skutočnosti, voliteľný. 601 00:31:01,910 --> 00:31:05,980 A čo sa stane, je, že to môže obsahovať číslo, alebo nemusí. 602 00:31:05,980 --> 00:31:10,650 To môže byť v skutočnosti táto ďalšia idea, úplne volal Nill. 603 00:31:10,650 --> 00:31:14,900 V ktorom to znamená, že je tu žiadna hodnota vôbec v tomto. 604 00:31:14,900 --> 00:31:16,810 Nie je to ani nula, tam proste žiadna hodnota. 605 00:31:16,810 --> 00:31:18,790 Neexistuje absolútne žiadna hodnota zastúpená. 606 00:31:18,790 --> 00:31:21,650 >> A to je to, čo tento riadok 71 sa robí. 607 00:31:21,650 --> 00:31:25,990 Je, že sa hovorí, že ja chcú, aby sa pokúsili nastaviť hodnotu, 608 00:31:25,990 --> 00:31:31,790 premenná s názvom stupeň, sa rovná premena tohto reťazca do int. 609 00:31:31,790 --> 00:31:34,010 Tak som si vzal tento reťazec, Táto prvá komponenty, 610 00:31:34,010 --> 00:31:37,680 alebo skôr druhý komponenty, pretože táto 611 00:31:37,680 --> 00:31:40,770 je nulový indexovaná, z toho Reťazec, ktorý som sa rozdeliť. 612 00:31:40,770 --> 00:31:42,930 A ja chcem previesť že na celé číslo. 613 00:31:42,930 --> 00:31:46,730 Ale to nemusí vždy prebiehať zvyčajne, pretože si predstaviť 614 00:31:46,730 --> 00:31:50,710 čo by sa mohlo stať, keby, skôr než typ číslo, píšem samozrejme ako asdf. 615 00:31:50,710 --> 00:31:51,534 >> Bude to zlyhá. 616 00:31:51,534 --> 00:31:54,200 Nie je to v skutočnosti bude schopný konvertovať, že na celé číslo 617 00:31:54,200 --> 00:31:55,510 ako by som očakával. 618 00:31:55,510 --> 00:31:58,660 Takže skôr než výkop nejaký druh chyby, 619 00:31:58,660 --> 00:32:01,210 máme túto myšlienku dobrovoľné. 620 00:32:01,210 --> 00:32:04,240 A to znamená, že za použitie tento otáznik môžem povedať, 621 00:32:04,240 --> 00:32:09,100 OK, to je možné, že som si vziať to, prevedie ho do int, 622 00:32:09,100 --> 00:32:12,630 a dať ho do premennej, ktorý bude tiež int. 623 00:32:12,630 --> 00:32:15,420 Ak áno, potom to znamená že táto bola úspešná 624 00:32:15,420 --> 00:32:18,720 a táto prvá časť blok môže pokračovať. 625 00:32:18,720 --> 00:32:21,040 >> V opačnom prípade sa nepodarilo. 626 00:32:21,040 --> 00:32:25,840 Neexistuje žiadna hodnota v grade-- alebo skôr nie je žiadna hodnota v existujúcich, 627 00:32:25,840 --> 00:32:30,220 a ja skutočne pokúsiť spracovať túto chybovú podmienku. 628 00:32:30,220 --> 00:32:33,340 Budeš vidieť otáznik po celú dobu 629 00:32:33,340 --> 00:32:35,990 v Swift a v príklade kóde Swift. 630 00:32:35,990 --> 00:32:40,980 A v skutočnosti Nill operátor, je tento druh z otáznika, Voliteľne časť, 631 00:32:40,980 --> 00:32:45,057 bude pravdepodobne jedným zo zložitejších vecí 632 00:32:45,057 --> 00:32:47,640 sa trochu zabaliť hlavu okolo ako ste vlastne s ním pracovať. 633 00:32:47,640 --> 00:32:48,490 >> To by mohol robiť teraz zmysel. 634 00:32:48,490 --> 00:32:50,760 A v skutočnosti, keď som bol písanie ukážkový kód pre to, 635 00:32:50,760 --> 00:32:52,780 Rozhodne som pochopil čo sa deje, 636 00:32:52,780 --> 00:32:55,570 ale napriek tomu ma vystihuje prekvapenie každý tak často 637 00:32:55,570 --> 00:32:58,370 keď by som zistil, že niektoré dáta bola v skutočnosti 638 00:32:58,370 --> 00:33:04,024 nil verzia, voliteľná verzia z údajov, ktoré som očakával. 639 00:33:04,024 --> 00:33:06,190 Takže len uvedomiť, že ak vás majú rozšírená verzia 640 00:33:06,190 --> 00:33:09,360 musíte rozbaliť, že Dáta z tohto boxu. 641 00:33:09,360 --> 00:33:15,870 >> Takže je to niečo ako ja- predstaviť, že by vás majú krabicu a obsahuje niečo. 642 00:33:15,870 --> 00:33:18,490 A to, čo je potrebné urobiť, je si položiť otázku, 643 00:33:18,490 --> 00:33:22,800 Je možné, že tento box vlastne obsahuje údaje, ktoré som hľadal? 644 00:33:22,800 --> 00:33:28,180 Ak áno, potom vytiahnuť, že dáta von a vložiť do tejto premennej existujúcej. 645 00:33:28,180 --> 00:33:32,080 Ak nie, potom som sa len preto, aby ignorovať obsah tejto kolónky 646 00:33:32,080 --> 00:33:34,310 dokopy preto, že doslova neobsahuje nič. 647 00:33:34,310 --> 00:33:36,880 648 00:33:36,880 --> 00:33:40,400 >> Akékoľvek otázky na to? 649 00:33:40,400 --> 00:33:44,430 OK, poďme od toho druh príkazového riadku veci 650 00:33:44,430 --> 00:33:47,610 a začať hľadať na niektoré technológie 651 00:33:47,610 --> 00:33:53,060 že Xcode poskytuje nám v podobe detských ihrísk. 652 00:33:53,060 --> 00:33:56,669 Takže je tu veľa schopnosť tu Swift. 653 00:33:56,669 --> 00:33:59,210 A ak ste otvorení Xcode a to spýta sa vás, čo chcete robiť, 654 00:33:59,210 --> 00:34:01,340 môžete otvoriť ihrisko a len hrať okolo 655 00:34:01,340 --> 00:34:06,200 s množstvom rôznych štruktúr a aspekty jazyka 656 00:34:06,200 --> 00:34:11,800 ešte pred začatím dotykom iOS SDK alebo Mac SDK. 657 00:34:11,800 --> 00:34:15,670 >> Takže v tomto prípade, povedzme, že som have-- Mám pomerne sprisahanecké príklad 658 00:34:15,670 --> 00:34:18,460 tu, ale majte so mnou, ako triedime o prácu prostredníctvom tohto príkladu. 659 00:34:18,460 --> 00:34:22,639 Povedzme, že musíme urobiť veľa exponentov s pevnou hodnotou, 660 00:34:22,639 --> 00:34:26,397 rovnako ako vieme, že budeme musieť urobiť veľa štvorcových právomocí, napríklad. 661 00:34:26,397 --> 00:34:28,980 Takže budeme mať nejakú hodnotu x, budeme ho námestia, 662 00:34:28,980 --> 00:34:30,540 budeme trvať nejakú hodnotu y a budeme ju námestí. 663 00:34:30,540 --> 00:34:31,780 Tak ďalej a tak ďalej. 664 00:34:31,780 --> 00:34:35,549 >> Teraz by sme vlastne len vytvoriť Výkon 2 funkcie pre to, že jo? 665 00:34:35,549 --> 00:34:37,090 A tak sme si vytvoriť silu 2 funkcie. 666 00:34:37,090 --> 00:34:38,600 Budeme akceptovať double. 667 00:34:38,600 --> 00:34:41,489 Budeme output-- alebo budeme vrátiť dvojaký typ. 668 00:34:41,489 --> 00:34:46,159 Budeme mať tento výsledok a potom na dvakrát 669 00:34:46,159 --> 00:34:52,040 to, čo sme vlastne brať výsledky, ktoré sa inicializuje na hodnotu jedna, 670 00:34:52,040 --> 00:34:53,090 a vynásobte ju x. 671 00:34:53,090 --> 00:34:56,540 Takže v podstate máme tu x krát x. 672 00:34:56,540 --> 00:35:01,860 >> A tak som sa potom môžu, ako by sme očakávať, vziať to, spustiť sila 2, 673 00:35:01,860 --> 00:35:03,680 poskytnúť k nemu určité údaje, sa mi páči 2,0. 674 00:35:03,680 --> 00:35:05,756 A my sme si k videniu 4,0 výsledky. 675 00:35:05,756 --> 00:35:09,200 Spustite moc 2 na 3.2 a my dostať sa na náš výsledok, 10.24. 676 00:35:09,200 --> 00:35:10,840 Zatiaľ je to dobré, nie? 677 00:35:10,840 --> 00:35:12,070 Teraz sme na mysli, dobre, OK. 678 00:35:12,070 --> 00:35:15,530 Teraz som skutočne potrebujú, aby urobiť veľa síl 3. 679 00:35:15,530 --> 00:35:19,180 Takže budem kopírovať vložiť všetky tohto kódu, zmeniť názov funkcie z 680 00:35:19,180 --> 00:35:24,440 sila od 2 do výkonu 3, a všetko budú rovnaké, s výnimkou pre túto hodnotu 681 00:35:24,440 --> 00:35:26,740 tu, tento rozsah, 1 ... 2. 682 00:35:26,740 --> 00:35:29,590 >> Takže skôr než opakovanie Táto slučka dvakrát, 683 00:35:29,590 --> 00:35:31,880 Chcem zopakovať tejto slučky trikrát. 684 00:35:31,880 --> 00:35:36,330 Tak som len zmeniť túto hodnotu z 1 až 3-- alebo skôr 2-3. 685 00:35:36,330 --> 00:35:39,230 Takže znovu, rovnaký kód, To je jediná zmena. 686 00:35:39,230 --> 00:35:40,080 Teraz to funguje tiež. 687 00:35:40,080 --> 00:35:43,860 Sila 3 ak v nejakom hodnotu 2. 688 00:35:43,860 --> 00:35:44,420 Dostaneme 8. 689 00:35:44,420 --> 00:35:45,370 SO 2 kocky. 690 00:35:45,370 --> 00:35:48,060 A 3.2 Cubed je 32,768. 691 00:35:48,060 --> 00:35:50,597 A tak Zatiaľ je to dobré, nie? 692 00:35:50,597 --> 00:35:52,930 Ale dúfajme, že to je trochu bit červené vlajky pre vás 693 00:35:52,930 --> 00:35:55,530 v tom, že teraz máme niektoré duplikácia kódu 694 00:35:55,530 --> 00:35:58,800 s výnimkou pre niektoré veľmi malé prepnúť z jedného do druhého. 695 00:35:58,800 --> 00:36:02,170 Takže je tam nejaký spôsob, ako by sme mohli byť schopní zjednodušiť 696 00:36:02,170 --> 00:36:06,080 tento problém, kde môžeme skutočne, v behu, zistiť niektoré, 697 00:36:06,080 --> 00:36:11,320 nám poskytli nejakú funkciu, ktorá má práve moc, že ​​chceme. 698 00:36:11,320 --> 00:36:13,960 >> A je tu tento nápad uzávery, čo je naozaj, ale naozaj 699 00:36:13,960 --> 00:36:18,180 dôležité v súvislosti s Swift, a v mnohých ďalších jazykoch. 700 00:36:18,180 --> 00:36:21,580 Ale asi bude vidieť to používa skôr v Swift 701 00:36:21,580 --> 00:36:23,650 preto, že je vložený v jazyku 702 00:36:23,650 --> 00:36:28,280 než budete v iných i moderné jazyky. 703 00:36:28,280 --> 00:36:31,140 A tak vznikla myšlienka uzáveru je to, že je my 704 00:36:31,140 --> 00:36:35,430 môže mať funkciu, ktorá si kladie za cieľ je všeobecný funkcie, obyčajný moc 705 00:36:35,430 --> 00:36:36,860 funkcie. 706 00:36:36,860 --> 00:36:41,010 >> A táto funkcia bude prijímať tento exponent, že sme vlastne 707 00:36:41,010 --> 00:36:42,990 chcete vytvoriť. 708 00:36:42,990 --> 00:36:46,550 Tak napríklad, prvý inštancie, chceli sme moc 2. 709 00:36:46,550 --> 00:36:50,050 Tak sme sa poskytnúť moc a potom v zátvorkách 2. 710 00:36:50,050 --> 00:36:52,490 A teraz si všimnúť toho, čo to vlastne vracia. 711 00:36:52,490 --> 00:36:57,680 To trvá vstup primeru volal y, že je celé číslo, 712 00:36:57,680 --> 00:37:03,090 a vracia to šialené vyzerajúci vec parentheses-- zátvorkách 713 00:37:03,090 --> 00:37:06,230 double a potom šípka double. 714 00:37:06,230 --> 00:37:10,270 >> Čo to znamená, je, že som bude vracať funkciu. 715 00:37:10,270 --> 00:37:13,510 Nie som vracať iný typ dát, ja som 716 00:37:13,510 --> 00:37:16,350 v skutočnosti vracia funkcii že má tento parameter, ktorý 717 00:37:16,350 --> 00:37:22,680 prijíma double ako vstup a výstupy fungujú ako návratová hodnota. 718 00:37:22,680 --> 00:37:29,750 A ako výsledok, pretože teraz som volal Sila a odovzdať nejaké hodnoty pre y, 719 00:37:29,750 --> 00:37:32,280 a ja som vytvoriť ten druhý function-- upozornenie, že je tu 720 00:37:32,280 --> 00:37:35,980 ďalšie funkcie, ktorá je vytváraná vnútri tohle-- čo robím 721 00:37:35,980 --> 00:37:37,830 je, že som sa zmeniť že hodnoty, ktoré človek 722 00:37:37,830 --> 00:37:41,010 Hodnota, že som sa zmenil 2-3, teraz som, že to y. 723 00:37:41,010 --> 00:37:42,500 >> A tento problém pretrváva. 724 00:37:42,500 --> 00:37:48,530 Takže zakaždým, keď som volať moc z, v podstate, čo sa stane 725 00:37:48,530 --> 00:37:51,030 je, že som si vrátil funkciu. 726 00:37:51,030 --> 00:37:54,310 Všimnite si, že tu som definovaný nová premenná s názvom námestia. 727 00:37:54,310 --> 00:37:59,340 Nastavil som, že sa rovná sile, ak túto hodnotu 2 k moci. 728 00:37:59,340 --> 00:38:02,030 A čo to je späť funkcie. 729 00:38:02,030 --> 00:38:05,970 Takže námestie, variabilný námestia, je teraz funkcia typu 730 00:38:05,970 --> 00:38:11,390 že má tohle-- pardon, prejdite hore málo bit-- ktorá má túto podpis, 731 00:38:11,390 --> 00:38:15,560 prijímať double a výstup double. 732 00:38:15,560 --> 00:38:17,330 >> Takže teraz, čo som urobil Je som v podstate 733 00:38:17,330 --> 00:38:22,890 vytvoril funkciu s názvom námestia, ktoré prijíma ľubovoľnú hodnotu a námestí to. 734 00:38:22,890 --> 00:38:24,960 Môžeme vidieť, čo sa deje tu dole. 735 00:38:24,960 --> 00:38:29,960 Námestie 3. napríklad znamená, že idem vziať hodnotu 3 a na druhú to. 736 00:38:29,960 --> 00:38:32,010 Tak, ako presne to funguje? 737 00:38:32,010 --> 00:38:37,800 Keď som sa prejsť energiu z 2--, keď som prejsť 2 do tejto moci funkcie, 738 00:38:37,800 --> 00:38:44,430 táto premenná y je obývaný s touto hodnotou 2. 739 00:38:44,430 --> 00:38:46,340 A to je trochu koná v pamäti. 740 00:38:46,340 --> 00:38:49,430 Že to niečo ako sa konala v stáť niekde v počítači, 741 00:38:49,430 --> 00:38:51,980 my to naozaj jedno, ako alebo tam, kde v tomto bode. 742 00:38:51,980 --> 00:38:54,692 >> Ale ja som sa vrátiť túto funkciu volal exponenciaci. 743 00:38:54,692 --> 00:38:57,400 A opäť, to nezáleží to, čo táto funkcia sa nazýva, 744 00:38:57,400 --> 00:39:01,730 Naozaj to tak dá nazvať čokoľvek, že prijíma double a vráti double, 745 00:39:01,730 --> 00:39:05,640 ale používa túto hodnotu y vnútri nej. 746 00:39:05,640 --> 00:39:09,290 Takže aj keď je to táto funkcia, táto exponentiater funkcia, ktorá je 747 00:39:09,290 --> 00:39:13,600 boli vrátené späť do mojej premenné, ktoré som volal námestí, 748 00:39:13,600 --> 00:39:17,980 to v ňom obsiahnutý tento pojem o tom, čo bolo y. 749 00:39:17,980 --> 00:39:19,070 A to si pamätá, že. 750 00:39:19,070 --> 00:39:24,810 >> Takže zakaždým, keď hovorím, že funkcia, ktorá je teraz nazývaný námestie, používa to. 751 00:39:24,810 --> 00:39:27,990 Ale to tiež znamená, že môžem vytvorte ďalšie premennú pomocou 752 00:39:27,990 --> 00:39:29,120 iná sila. 753 00:39:29,120 --> 00:39:33,240 Tak som si vytvoriť kocky premennú, pre príklad, poskytnúť jej moc 3. 754 00:39:33,240 --> 00:39:37,230 Teraz kocka bude skutočne trvať aj niekoľko hodnota a kocky, ktorá aj vrátiť. 755 00:39:37,230 --> 00:39:39,570 Takže môžeme vidieť, že som si Hodnota 8 z toho. 756 00:39:39,570 --> 00:39:42,720 >> Ale táto hodnota y nemá zmeniť, pretože sú 757 00:39:42,720 --> 00:39:44,980 sa konala v akejsi nezávislých premenných. 758 00:39:44,980 --> 00:39:47,480 Sú nejako sa konala v nezávislé priestory v pamäti. 759 00:39:47,480 --> 00:39:51,290 Takže kocka bude mať vždy x k sile 3. 760 00:39:51,290 --> 00:39:55,380 A námestí bude mať vždy x k sile 2, ktorý 761 00:39:55,380 --> 00:39:58,470 Znamená to, že námestie bude vždy štvorcových čísla, ako som očakávať. 762 00:39:58,470 --> 00:40:01,794 A kocka vždy kocky čísla, ako som očakávať. 763 00:40:01,794 --> 00:40:04,960 To tiež znamená, že niekedy môžete si nejaký funky syntaxe hľadá 764 00:40:04,960 --> 00:40:09,030 kde budete mať silu na veľmi dolnej časti obrazovky tu, sila 5. 765 00:40:09,030 --> 00:40:11,410 A odovzdáte do výsledku. 766 00:40:11,410 --> 00:40:14,670 Môžete volať, že funkcia, ktorá je boli vrátené s číslom 4. 767 00:40:14,670 --> 00:40:17,440 A tak to, čo v podstate to 4 je na piatej silové, 768 00:40:17,440 --> 00:40:20,830 môžeme vidieť výsledky tu. 769 00:40:20,830 --> 00:40:23,690 So mnou tak ďaleko? 770 00:40:23,690 --> 00:40:26,620 >> Takže tento nápad sa nazýva uzáver, pretože to, čo sme v podstate robiť 771 00:40:26,620 --> 00:40:30,610 je, že sme už zapuzdrenie niektoré dáta into-- sort 772 00:40:30,610 --> 00:40:33,050 obvodových tieto dáta do funkcie, a my sme 773 00:40:33,050 --> 00:40:36,240 budú môcť znovu použiť túto funkciu. 774 00:40:36,240 --> 00:40:41,480 Teraz je táto syntax však môže v skutočnosti mali zjednodušiť, veľké množstvo. 775 00:40:41,480 --> 00:40:45,005 A je tu veľa možností V Swift tohto zjednodušenia. 776 00:40:45,005 --> 00:40:47,780 A to je to, čo druh tie následné vlastne pozrieť. 777 00:40:47,780 --> 00:40:51,400 Takže v 7b sme napríklad tento presne rovnaký kód. 778 00:40:51,400 --> 00:40:54,360 >> Ale teraz skôr než vlastne definovať funkciu 779 00:40:54,360 --> 00:40:57,910 Vnútri tejto moci fungujú a dať mu meno, 780 00:40:57,910 --> 00:41:00,150 a potom sa vrátiť názov tejto funkcie, ktorá 781 00:41:00,150 --> 00:41:02,357 potom sa používa ako súčasť toto uzavretie, namiesto toho sme 782 00:41:02,357 --> 00:41:03,440 len tak to zjednodušiť. 783 00:41:03,440 --> 00:41:06,580 Nepotrebujeme táto funkcia byť menovaný. 784 00:41:06,580 --> 00:41:09,760 Tak toto je koncept anonymné funkcie, kde môžeme teda 785 00:41:09,760 --> 00:41:15,180 prijať ako vstup, v zátvorke tu, premenná x, ktorá je typu double. 786 00:41:15,180 --> 00:41:17,250 >> Chystáme sa vrátiť typu double. 787 00:41:17,250 --> 00:41:19,830 A potom kľúčové slovo, n, je počiatok tejto funkcie. 788 00:41:19,830 --> 00:41:22,180 Takže si všimnúť, že toto všetko je vo vnútri zložených zátvoriek 789 00:41:22,180 --> 00:41:25,310 a my sme definovanie fungujú tu anonymný. 790 00:41:25,310 --> 00:41:29,910 Len jednoduchší spôsob, ako definovať presne to isté. 791 00:41:29,910 --> 00:41:30,810 OK? 792 00:41:30,810 --> 00:41:36,740 Ale vydrž, vlastne Swift nám umožňuje ísť ďalej, a zjednodušiť ešte viac, 793 00:41:36,740 --> 00:41:40,180 pretože v skutočnosti nemáme jedno, že tento parameter je 794 00:41:40,180 --> 00:41:41,700 pomenovaný žiadnu konkrétnu vec. 795 00:41:41,700 --> 00:41:48,090 To môže skutočne nazvať čokoľvek a stále ešte môžeme použiť tento prvý parameter. 796 00:41:48,090 --> 00:41:53,800 >> Takže v skutočnosti je to zvláštne typ dát v anonymných funkcií, 797 00:41:53,800 --> 00:41:57,710 Tam je to zvláštny názov premenné v anonymných funkcií 798 00:41:57,710 --> 00:42:00,280 ktoré začínajú znak dolára a predstavujú 799 00:42:00,280 --> 00:42:03,785 čísla parametrov, nula indexovaná, pre túto funkciu. 800 00:42:03,785 --> 00:42:05,410 Takže je tu pár vecí deje. 801 00:42:05,410 --> 00:42:08,550 Tu budem vracať, a potom sa zložená zátvorka predstavuje funkciu, 802 00:42:08,550 --> 00:42:09,050 že jo? 803 00:42:09,050 --> 00:42:13,920 >> Všimnite si, že nemám definovali parametrov typy alebo návratový typ. 804 00:42:13,920 --> 00:42:16,460 To môže v skutočnosti byť odvodené vzhľadom na podpis 805 00:42:16,460 --> 00:42:18,360 tejto pôvodnú funkciu. 806 00:42:18,360 --> 00:42:20,500 Takže môžeme eliminovať že ako možnosť. 807 00:42:20,500 --> 00:42:25,120 Ale tiež môžem použiť znak dolára nulový reprezentovať túto prvý parameter, ktorý je 808 00:42:25,120 --> 00:42:28,200 prešiel do tejto anonymnej funkcie. 809 00:42:28,200 --> 00:42:31,630 Takže ho ešte viac zjednoduší. 810 00:42:31,630 --> 00:42:32,750 OK? 811 00:42:32,750 --> 00:42:33,820 Zatiaľ je to dobré? 812 00:42:33,820 --> 00:42:36,980 >> Teraz je to to type-- sa vám zapamätať si túto znak dolára nulu 813 00:42:36,980 --> 00:42:40,130 že sme videli v tomto zloženou zátvorkou že sme videli len malú chvíľu 814 00:42:40,130 --> 00:42:43,870 Pred v tomto Swift šiestich príklad? 815 00:42:43,870 --> 00:42:46,560 Bolo to tu. 816 00:42:46,560 --> 00:42:48,430 Všimnite si, že je to presne to, čo sa pozeráme, 817 00:42:48,430 --> 00:42:51,580 je to, že sme prešli do tejto funkcie Rozdeliť 818 00:42:51,580 --> 00:42:55,140 anonymné funkcie, ktorá kontroluje prvý parameter 819 00:42:55,140 --> 00:42:57,830 aby zistil, či sa rovná symbol hrubého čreva. 820 00:42:57,830 --> 00:42:59,830 A to je presne to, čo je deje, je to, že všetky 821 00:42:59,830 --> 00:43:02,320 sme doing-- návrat Kľúčové slovo je naznačený 822 00:43:02,320 --> 00:43:05,800 V tomto case-- vraciame táto hodnota, kam máme porovnanie 823 00:43:05,800 --> 00:43:10,020 Prvý parameter proti táto postava hrubého čreva. 824 00:43:10,020 --> 00:43:11,730 A tak, aby trochu demystifikuje toto. 825 00:43:11,730 --> 00:43:17,210 A vy budete vidieť tento konštrukt pozemok v Swift syntax, tak sa majte 826 00:43:17,210 --> 00:43:19,400 na mysli, keď ste pričom sa pozrieť na toto. 827 00:43:19,400 --> 00:43:21,970 Teraz sa môžeme dostať preč priečky trochu 828 00:43:21,970 --> 00:43:25,460 a ísť naozaj fantázie, ktorá ukazuje ešte niektoré ďalšie SWIFT moci. 829 00:43:25,460 --> 00:43:27,950 Dalo by sa dokonca vidieť niektoré z nich vo vzorke kódy. 830 00:43:27,950 --> 00:43:29,790 Takže to je dôvod, prečo idem ukázať vám to. 831 00:43:29,790 --> 00:43:37,260 >> V podstate to, čo môžeme urobiť, je to, že ako prvý zo všetkých, to bolo celkom sa zbytočne pre mňa 832 00:43:37,260 --> 00:43:41,710 implementovať celú tú moc kód, pretože pri importe Darwin 833 00:43:41,710 --> 00:43:46,490 knižnica, v skutočnosti obsahuje funkciu volal pow, že to urobí za vás. 834 00:43:46,490 --> 00:43:50,570 Takže môžeme zjednodušiť ho ešte viac a máme Power Up funkcie už len 835 00:43:50,570 --> 00:43:54,890 byť nádherný jednu vložku, kde sme práve vrátenie tohto anonymné funkcie, ktorá 836 00:43:54,890 --> 00:44:00,780 prijíma dolára 0, pretože jeho bázy a Y ako jeho exponent. 837 00:44:00,780 --> 00:44:02,582 >> Ale môžeme naozaj, naozaj efektné, keď sme 838 00:44:02,582 --> 00:44:04,790 Uvedomujem si, že Swift má veľa sily pod kapotou. 839 00:44:04,790 --> 00:44:07,010 Mnoho z operátorov, ktorý sme sa zaoberali, 840 00:44:07,010 --> 00:44:11,270 a znaky a symboly rozdelenie a Všetky tieto veci, ktoré by ste normálne 841 00:44:11,270 --> 00:44:15,620 pracovať s s dátovými typmi v programovacom jazyku, 842 00:44:15,620 --> 00:44:17,600 sú vlastne rozšíriteľné v Swift. 843 00:44:17,600 --> 00:44:21,460 Takže to, čo to znamená, že sme v Môžete definovať vlastné operátormi. 844 00:44:21,460 --> 00:44:26,020 >> Takže teraz som unavený písanie v tom všetkom pow a potom zátvorky a potom 845 00:44:26,020 --> 00:44:26,520 bázy. 846 00:44:26,520 --> 00:44:27,520 Nechcem to urobiť. 847 00:44:27,520 --> 00:44:30,190 Vlastne som chcel mať subjekt, ktorý mi umožňuje robiť to. 848 00:44:30,190 --> 00:44:34,510 Takže môžem povedať, rýchly, že chcem vytvoriť operátora, hviezda 849 00:44:34,510 --> 00:44:39,472 star-- mimochodom nemôžem používať karát pretože karát je operátor, ktorý 850 00:44:39,472 --> 00:44:40,680 robí niečo úplne iného. 851 00:44:40,680 --> 00:44:42,720 Takže nechcem radiť z zrazí s tým. 852 00:44:42,720 --> 00:44:45,750 A tak to, čo vidíte v rôznych jazykov, vrátane Pythonu, 853 00:44:45,750 --> 00:44:48,810 je ako prevádzkovateľ star star reprezentovať exponenty. 854 00:44:48,810 --> 00:44:50,730 >> Tak to je jediný dôvod, prečo Preto som urobil. 855 00:44:50,730 --> 00:44:53,067 A to bude operátor typu Infix. 856 00:44:53,067 --> 00:44:54,900 A musím poskytovať k nemu nejaké informácie 857 00:44:54,900 --> 00:44:58,386 o prednosti tohto Operátor tak je to vľavo asociatívne. 858 00:44:58,386 --> 00:45:00,260 Je to ako pomerne v porovnaní s vysokou prednosť 859 00:45:00,260 --> 00:45:02,432 k sumačního alebo násobenie. 860 00:45:02,432 --> 00:45:04,140 Je to vyššia prednosť než všetky tie. 861 00:45:04,140 --> 00:45:04,931 Tak ďalej a tak ďalej. 862 00:45:04,931 --> 00:45:07,410 A potom som sa definovať funkcie, ktoré skutočne 863 00:45:07,410 --> 00:45:10,070 diktuje, čo to robí operátor. 864 00:45:10,070 --> 00:45:14,150 Takže za predpokladu, že mám doľava strane a pravá strana, 865 00:45:14,150 --> 00:45:17,330 čo by bolo treba lepší názov premennej za to. 866 00:45:17,330 --> 00:45:20,690 Ľavá strana a pravá strana. 867 00:45:20,690 --> 00:45:26,740 Potom som si vziať túto právomoc ľavú stranu na pravej strane 868 00:45:26,740 --> 00:45:28,980 a vráti túto hodnotu. 869 00:45:28,980 --> 00:45:30,370 Takže teraz je to super sladká. 870 00:45:30,370 --> 00:45:33,790 Všetko, čo musíte urobiť, je 2 star star 3 a ktorý je 2 až treťou mocninou, 871 00:45:33,790 --> 00:45:35,290 a dostaneme hodnotu 8. 872 00:45:35,290 --> 00:45:40,280 2 star 10 je 2 10. moc, dostaneme 1024. 873 00:45:40,280 --> 00:45:43,630 >> Takže teraz naša sila funkcie, čo je opäť iná, 874 00:45:43,630 --> 00:45:47,030 preto, že celá myšlienka tejto bolo, že máme jednu funkciu, ktorá 875 00:45:47,030 --> 00:45:50,700 má vždy nejakú hodnotu a násobí to-- alebo skôr 876 00:45:50,700 --> 00:45:53,240 má exponent k rovnakým výkonom. 877 00:45:53,240 --> 00:45:54,300 Takže teraz je to ešte jednoduchšie. 878 00:45:54,300 --> 00:45:57,070 Takže teraz je to len dolár Prihláste 0 Hviezda y. 879 00:45:57,070 --> 00:46:01,190 Nemáme ani naďalej používať, pow. 880 00:46:01,190 --> 00:46:03,020 >> OK, kto prehral? 881 00:46:03,020 --> 00:46:03,700 Robíme v poriadku? 882 00:46:03,700 --> 00:46:05,090 Akékoľvek otázky týkajúce sa tejto veci? 883 00:46:05,090 --> 00:46:05,815 Jo? 884 00:46:05,815 --> 00:46:09,500 >> Divákov: Keď you-- [nepočuteľné] funk moc y double. 885 00:46:09,500 --> 00:46:11,441 Takže, keď sa vraciate funkciu. 886 00:46:11,441 --> 00:46:13,190 DANIEL Armendariz: Funk moc y double. 887 00:46:13,190 --> 00:46:14,270 Ach jo, ja neviem čo čísla y sú. 888 00:46:14,270 --> 00:46:15,708 Ospravedlňujem sa za to. 889 00:46:15,708 --> 00:46:19,420 >> Divákov: Prečo sa vracia Funkcia [nepočuteľné] skriňu. 890 00:46:19,420 --> 00:46:24,214 Nie je dolár nula star hviezda y [nepočuteľné] 891 00:46:24,214 --> 00:46:29,710 zistíte, že operátor s tým vrátenie double [nepočuteľné] zdvojnásobí? 892 00:46:29,710 --> 00:46:32,742 >> DANIEL Armendariz: Tak poďme mi odpovedať na vašu otázku 893 00:46:32,742 --> 00:46:35,950 ako som to pochopil, a môžete mi povedať, keď som sa pochopiť vašu otázku. 894 00:46:35,950 --> 00:46:42,850 Takže tento konštrukt, zložená zátvorka znak dolára nula star star y, 895 00:46:42,850 --> 00:46:44,280 je funkcia. 896 00:46:44,280 --> 00:46:50,080 A to prijíma parameter, ktorý je zastúpená týmto znakom dolára nula. 897 00:46:50,080 --> 00:46:55,830 Návratnosť kľúčové slovo je naznačený v tomto veľmi krátky, anonymný funkcie syntax. 898 00:46:55,830 --> 00:46:57,870 >> Čo znamená, že v podstate čo to hovorí 899 00:46:57,870 --> 00:47:01,270 je to, že som vymedzenie function-- a potom budem 900 00:47:01,270 --> 00:47:05,320 Len hovorím something-- kde mám nejakú hodnotu y. 901 00:47:05,320 --> 00:47:08,300 Mám y, čo je dvakrát. 902 00:47:08,300 --> 00:47:10,750 A Vraciam double. 903 00:47:10,750 --> 00:47:19,010 A ja mám v tomto priznaní y- ľúto, Nemal som nazval y- x. 904 00:47:19,010 --> 00:47:20,240 Ach, ach jo, ach jo. 905 00:47:20,240 --> 00:47:27,440 X-- nope-- star star y. 906 00:47:27,440 --> 00:47:29,720 >> Tak to je len zjednodušená verzia tohto. 907 00:47:29,720 --> 00:47:33,990 A tak dôvod, prečo mám dolár znamenia nula je, že použitie tejto kabíny 908 00:47:33,990 --> 00:47:41,050 Znamená to, že už nemám typu prašane, alebo už nie robiť 909 00:47:41,050 --> 00:47:45,570 Musím niečo urobiť ako 3 star star 2. 910 00:47:45,570 --> 00:47:48,530 Môžem len mať jeden Funkcia s názvom námestia 911 00:47:48,530 --> 00:47:50,820 že sa bude vždy nejaká hodnota ako vstup 912 00:47:50,820 --> 00:47:52,980 a vlastne vrátiť námestí to. 913 00:47:52,980 --> 00:47:56,460 >> Takže celá účelom uzavretia je len trochu zapouzdřit skutočnosť 914 00:47:56,460 --> 00:47:59,920 že som sa vždy chcel y používať kedykoľvek Hovorím, že funkcie ako sila 915 00:47:59,920 --> 00:48:01,710 Pri užívaní tohto exponent. 916 00:48:01,710 --> 00:48:04,650 Takže vracať sa potom, funkcia, ktorá prijíma 917 00:48:04,650 --> 00:48:08,460 dvojitý, čo je základný, a vráti výsledok tohto exponentu 918 00:48:08,460 --> 00:48:10,740 je tu tlačidlo. 919 00:48:10,740 --> 00:48:12,790 A to je hlavný rozdiel. 920 00:48:12,790 --> 00:48:14,430 Tam bol len trochu prekvitať. 921 00:48:14,430 --> 00:48:17,970 >> To nie je nič iného v porovnaní s predchádzajúcimi príkladmi, 922 00:48:17,970 --> 00:48:20,530 ale to bolo len trochu prekvitať môžeme skutočne 923 00:48:20,530 --> 00:48:24,500 vytvoriť operátora v Swift a vlastne robiť veci s tým, 924 00:48:24,500 --> 00:48:26,396 čo je druh super vec. 925 00:48:26,396 --> 00:48:27,520 Už som odpoveď na vašu otázku? 926 00:48:27,520 --> 00:48:28,390 Sladké. 927 00:48:28,390 --> 00:48:31,350 Čokoľvek iného, ​​než sme ďalej? 928 00:48:31,350 --> 00:48:33,570 OK. 929 00:48:33,570 --> 00:48:36,430 >> Teraz tento druh prosia Otázkou je, that-- dobre v poriadku, 930 00:48:36,430 --> 00:48:40,870 Teraz máme možnosť pre funkcie, ktoré majú byť vrátené. 931 00:48:40,870 --> 00:48:48,950 Môžeme tiež prejsť funkcie, ako sú údaje o alebo ako parametre ďalších funkcií? 932 00:48:48,950 --> 00:48:50,710 A v skutočnosti môžeme. 933 00:48:50,710 --> 00:48:53,480 Tak povedzme, že máme všetky s rovnakým kódom. 934 00:48:53,480 --> 00:48:56,120 Máme druhú premennú že sa námestie tento kód. 935 00:48:56,120 --> 00:48:59,320 A máme premennú kocky že bude kocky niektoré dáta. 936 00:48:59,320 --> 00:49:02,440 A my vlastne chceme použiť pre široký rozsah čísel. 937 00:49:02,440 --> 00:49:06,870 >> Takže to, čo by sme mohli byť v pokušení robiť, samozrejme, čo je iste platný, 938 00:49:06,870 --> 00:49:15,430 je iterácii tohto zoznamu čísel a aplikovať moje funkcie námestí a kocky 939 00:49:15,430 --> 00:49:22,270 a získať dva nové zoznamy sú výsledky že sú to originálne zoznam štvorcový 940 00:49:22,270 --> 00:49:24,970 a kocky, resp. 941 00:49:24,970 --> 00:49:26,880 Dokonale prijateľné. 942 00:49:26,880 --> 00:49:29,130 Ale čo je to vec, ktorá tu vidíme, je, že máme, 943 00:49:29,130 --> 00:49:31,310 znova, duplikácia nášho kódu. 944 00:49:31,310 --> 00:49:34,310 A je tu možná príležitosť Pre nás zjednodušiť to trochu. 945 00:49:34,310 --> 00:49:41,260 Čo keby tam bol spôsob, ako pre nás v skutočnosti vždy iteráciu cez nejaký zoznam 946 00:49:41,260 --> 00:49:45,450 a len odovzdať tento čarovný funkciu premennú, ktorá 947 00:49:45,450 --> 00:49:47,350 predstavuje funkciu že chceme použiť 948 00:49:47,350 --> 00:49:50,336 na každú jednotlivú položku v tomto zozname. 949 00:49:50,336 --> 00:49:53,210 Tým sa poňatie toho, čo sa nazývajú vyššieho rádu funkcie. 950 00:49:53,210 --> 00:49:57,150 A to je v podstate to, čo to je, je to, že môžeme vytvoriť funkciu. 951 00:49:57,150 --> 00:50:00,210 >> A v tomto prípade sa to volá mapper, len aby to meno, len 952 00:50:00,210 --> 00:50:02,510 mapovanie nad každým jediná položka v zozname. 953 00:50:02,510 --> 00:50:06,191 Kde vezmem zoznam a beriem funkciu. 954 00:50:06,191 --> 00:50:08,440 A to funkcie, samozrejme, má určitý podpis. 955 00:50:08,440 --> 00:50:11,980 Prijíma ako dvojnásobok parametra a to bude výstup je double. 956 00:50:11,980 --> 00:50:14,310 A celý výsledok táto funkcia bude 957 00:50:14,310 --> 00:50:18,921 bude nový zoznam, ktorý je typu double. 958 00:50:18,921 --> 00:50:19,420 OK? 959 00:50:19,420 --> 00:50:22,650 >> A čo budem robiť ak je použiť túto funkciu f 960 00:50:22,650 --> 00:50:24,960 ku každému prvku v mojom zozname. 961 00:50:24,960 --> 00:50:30,280 A reply-- a radšej vrátiť tento nový Zoznam v dôsledku, ktorý je naozaj cool. 962 00:50:30,280 --> 00:50:31,820 Teraz som si prejsť funkcie okolo. 963 00:50:31,820 --> 00:50:35,290 A táto myšlienka vyššieho rádu Funkcia je naozaj dôležité. 964 00:50:35,290 --> 00:50:39,260 A to je naozaj len mapper Implementácia chudáka 965 00:50:39,260 --> 00:50:43,130 z funkcie, ktorá je postavená do Swift s názvom mapy. 966 00:50:43,130 --> 00:50:45,690 A to robí presne to, možno aj trochu lepšie. 967 00:50:45,690 --> 00:50:48,260 >> To je tak nejako všeobecný, zjednodušená verzia, 968 00:50:48,260 --> 00:50:51,270 nám umožňuje vidieť poňatie, ktoré tu platia. 969 00:50:51,270 --> 00:50:54,630 Teraz sa pozrite na to, ako som môže skutočne použiť môj námestí 970 00:50:54,630 --> 00:50:57,850 a moja kocka funkcie Do tohto zoznamu čísiel. 971 00:50:57,850 --> 00:50:58,780 Som bežať môj mapper. 972 00:50:58,780 --> 00:51:00,280 Aj poskytnúť k nemu môj zoznam čísel. 973 00:51:00,280 --> 00:51:02,155 Aj poskytnúť jej na funkcia, ktorá sa deje 974 00:51:02,155 --> 00:51:04,170 použije na každý z týchto indexov. 975 00:51:04,170 --> 00:51:07,120 A to bude Výstup ako výsledok. 976 00:51:07,120 --> 00:51:11,810 A ja sa dostať vidieť, že som sa na druhú a kocky Moje čísla ako výsledok. 977 00:51:11,810 --> 00:51:14,660 >> A samozrejme bude trvať mapper nejaký druh anonymné funkcie. 978 00:51:14,660 --> 00:51:17,640 Dokonca môžeme vidieť, že som vytvoril Nová anonymné funkcie, ktorá 979 00:51:17,640 --> 00:51:20,220 len trvá nejaký parameter a rozdeľuje ju 2. 980 00:51:20,220 --> 00:51:24,340 A môžeme vidieť, že som v skutočnosti, delená môj zoznam o 2 miesto. 981 00:51:24,340 --> 00:51:25,250 Pohode? 982 00:51:25,250 --> 00:51:27,340 Zatiaľ je to dobré? 983 00:51:27,340 --> 00:51:29,650 Dobre, teraz poďme vrátiť sa k tejto myšlienke. 984 00:51:29,650 --> 00:51:36,160 Poďme realizáciu tohto späť v kontexte uzatvárania známok. 985 00:51:36,160 --> 00:51:41,860 >> A keď to urobím, môžeme vidieť, že môžem použiť širokú škálu týchto options-- 986 00:51:41,860 --> 00:51:44,330 alebo celá rada z nich vyššieho rádu funkcie 987 00:51:44,330 --> 00:51:51,450 skutočne zjednodušiť svoje schopnosti robiť Rôzne veci na zozname čísel. 988 00:51:51,450 --> 00:51:53,660 Tak napríklad, keď som sa zoznam čísel, 989 00:51:53,660 --> 00:51:57,060 jeden z vyššieho rádu funkcie že existuje, sa nazýva znížiť. 990 00:51:57,060 --> 00:52:00,080 Čo znížiť robí skôr ako na mape, sa znižuje bude 991 00:52:00,080 --> 00:52:03,710 trvať dva prvky v zozname, bude trvať nejakú funkciu, ktorá 992 00:52:03,710 --> 00:52:07,420 porovnáva dva prvky zoznam, a to potom bude 993 00:52:07,420 --> 00:52:09,610 druh output-- Výstup z tejto funkcie 994 00:52:09,610 --> 00:52:13,790 bude ďalší prvok, ktorý potom v porovnaní s ostatnými. 995 00:52:13,790 --> 00:52:18,190 >> Takže by ste mohli použiť na vlastne súčet čísel vo vašom zozname. 996 00:52:18,190 --> 00:52:20,640 Napríklad, ak ste mali zoznam 1, 2, 3, 4, 5, 997 00:52:20,640 --> 00:52:22,940 budete mať prvých prvkov, 1 a 2. 998 00:52:22,940 --> 00:52:27,270 Môžete sa na neho vzťahujú sčítanie funkcia, ktorá zoberie tieto dva prvky 999 00:52:27,270 --> 00:52:30,980 a vypľuje jeden z týchto prvkov, čo by hodnota 3. 1000 00:52:30,980 --> 00:52:35,684 Potom sme sa túto hodnotu 3 s ďalší prvok zoznamu, zhrnul tie dva, 1001 00:52:35,684 --> 00:52:37,100 a potom ďalej sa ustanovuje zoznam. 1002 00:52:37,100 --> 00:52:40,410 >> Sme zníženie Zoznam na jednu hodnotu. 1003 00:52:40,410 --> 00:52:42,700 A to len tak sa stane že symbol plus 1004 00:52:42,700 --> 00:52:44,670 je operátor, rovnako ako sme práve videli. 1005 00:52:44,670 --> 00:52:47,500 Tento operátor je v skutočnosti, že funkcia 1006 00:52:47,500 --> 00:52:53,100 má práve tento zoznam, ktoré sme bude chcieť, radšej týmto vlastnostiam 1007 00:52:53,100 --> 00:52:54,770 že by sme chceli. 1008 00:52:54,770 --> 00:52:56,760 Tak som povzbudiť, aby ste pozrite sa na toto. 1009 00:52:56,760 --> 00:52:59,290 Chcem, aby tak nejako pohybu Na niektorých z tohto kódexu 1010 00:52:59,290 --> 00:53:05,330 takže vlastne môžeme pozrieť na niektoré skutočný, reálny, pravdivý Swift v Xcode, 1011 00:53:05,330 --> 00:53:06,880 v iOS vývoji. 1012 00:53:06,880 --> 00:53:08,630 Ale pozrite sa na to a uvidíme, či môžete 1013 00:53:08,630 --> 00:53:11,171 analyzovať skrze to, čo sa deje s niektorými z týchto vyšších rádov 1014 00:53:11,171 --> 00:53:13,790 funkcie vrátane filtra, znížiť, a budete dokonca 1015 00:53:13,790 --> 00:53:17,060 pozri niekde tu na mape rovnako. 1016 00:53:17,060 --> 00:53:17,910 Je to priamo tu. 1017 00:53:17,910 --> 00:53:20,410 Tam, kde to bude trvať sekvenciu známok a to bude v skutočnosti 1018 00:53:20,410 --> 00:53:24,230 Pre je pomocou prepínača konštrukt, ktoré môžete poznať z C, 1019 00:53:24,230 --> 00:53:27,640 ale v skutočnosti je to oveľa viac silnejší ako spínače konštruktu 1020 00:53:27,640 --> 00:53:29,810 že máme v C. 1021 00:53:29,810 --> 00:53:31,930 >> A budeme platiť, že pre každý prvok v zozname 1022 00:53:31,930 --> 00:53:34,540 a skutočne poskytovať stupeň písmeno každého 1023 00:53:34,540 --> 00:53:40,780 z týchto tried s využitím všetkých týchto pojmov že sme práve hovorili predtým. 1024 00:53:40,780 --> 00:53:44,760 Teraz vyhnúť len za minúta a hovorí o structs. 1025 00:53:44,760 --> 00:53:49,680 A tak structs sú čakať v C, ktoré sme boli schopní definovať nový typ dát. 1026 00:53:49,680 --> 00:53:53,590 Štruktúry existujú vnútri Swift. 1027 00:53:53,590 --> 00:53:58,980 A tak sa mnoho ďalších konštruktov tzv vymenované typy a triedy, ktoré naozaj 1028 00:53:58,980 --> 00:54:01,175 tento nápad úplne iný level. 1029 00:54:01,175 --> 00:54:05,300 >> A v podstate je to len spôsob, ako definovanie nového typu dát. 1030 00:54:05,300 --> 00:54:11,010 Takže ak ste get-- keď prídete po triede alebo structs alebo vymenovaných typov, 1031 00:54:11,010 --> 00:54:13,290 nenechajte sa zmiasť tým. 1032 00:54:13,290 --> 00:54:16,280 Je to len spôsob, ako definovať nejaká nová konkrétny typ dát. 1033 00:54:16,280 --> 00:54:20,230 A to je naozaj dôležité pri hovoríme o iOS pre vývoj aplikácií 1034 00:54:20,230 --> 00:54:24,630 preto, že všetko, čo existuje v rámci aplikácie iOS 1035 00:54:24,630 --> 00:54:27,460 je v podstate predmetom nejakého druhu. 1036 00:54:27,460 --> 00:54:31,980 A objekt je v podstate trieda alebo enum alebo struct. 1037 00:54:31,980 --> 00:54:34,760 >> Takže v tomto prípade, že som definovať nový typ dát 1038 00:54:34,760 --> 00:54:37,740 že volám hodnotenie že je niektoré vlastnosti, vrátane 1039 00:54:37,740 --> 00:54:41,040 meno a postupnosť stupňov. 1040 00:54:41,040 --> 00:54:43,470 Takže jeden typ hodnotenia že by som mohol mať na mysli 1041 00:54:43,470 --> 00:54:44,760 by kvízy, napríklad. 1042 00:54:44,760 --> 00:54:48,180 Ja by som chcel mať hodnotenia, ktoré bolo kvíz 1043 00:54:48,180 --> 00:54:51,460 a ktorý mal rôzne akosti spojená s tým, pre kvíz jedna, 1044 00:54:51,460 --> 00:54:52,840 kvíz dva, tak ďalej a tak ďalej. 1045 00:54:52,840 --> 00:54:55,720 >> Alebo by som mohol mať iný typ posúdenie pre problémové sady. 1046 00:54:55,720 --> 00:54:56,650 A môžem robiť veci. 1047 00:54:56,650 --> 00:54:59,860 Ja si skutočne mať Funkcie v rámci tohto typu 1048 00:54:59,860 --> 00:55:02,645 z údajov, ktoré sú teraz volal metódy. 1049 00:55:02,645 --> 00:55:04,520 Takže ak ste niekedy vidieť metóda slovo, je to naozaj 1050 00:55:04,520 --> 00:55:08,190 je len funkcie, ktoré sa vzťahujú k veľmi konkrétnej triedy, 1051 00:55:08,190 --> 00:55:10,100 alebo veľmi špecifický typ dát. 1052 00:55:10,100 --> 00:55:12,350 To nám umožňuje upravovať dáta vnútri. 1053 00:55:12,350 --> 00:55:15,510 >> Takže inými slovami, ak chcem, aby Pridanie triedy do svojej analýzy, 1054 00:55:15,510 --> 00:55:18,630 potom všetko, čo potrebujete urobiť, je, aby pripojiť skóre, ktorý bol vstup 1055 00:55:18,630 --> 00:55:22,660 k tejto funkcii sa môj vnútorný majetok. 1056 00:55:22,660 --> 00:55:25,880 Je tu ďalší čistý konštrukt tu v Swift, čo je to dot dot dot 1057 00:55:25,880 --> 00:55:31,780 operátor, čo znamená, že bodové hodnotenie teraz prijímať ľubovoľný počet celých čísel. 1058 00:55:31,780 --> 00:55:33,940 A skóre bude pole celých čísel, ktorá 1059 00:55:33,940 --> 00:55:39,030 boli odovzdané do mojej funkcie, ktorá Znamená to, že môžem robiť veci, ako je toto. 1060 00:55:39,030 --> 00:55:42,360 >> Môžem si pridať stupňa a len poskytovať ľubovoľné množstvo celých čísel do neho 1061 00:55:42,360 --> 00:55:47,420 a v skutočnosti byť poľa z týchto hodnôt v mojom funkcie 1062 00:55:47,420 --> 00:55:50,270 alebo vo svojom spôsobe, ako je tomu. 1063 00:55:50,270 --> 00:55:54,040 Teraz je to dôležité, pretože všetko v Xcode, všetko v iOS, 1064 00:55:54,040 --> 00:55:56,250 je v skutočnosti objekt. 1065 00:55:56,250 --> 00:55:59,630 Takže majte na pamäti, že Keď sme bust otvorené Xcode 1066 00:55:59,630 --> 00:56:04,890 a preskočte za iOS verzia dve a tri 1067 00:56:04,890 --> 00:56:08,820 a vlastne ísť na verziu štyri. 1068 00:56:08,820 --> 00:56:11,940 >> A opäť, bude to všetko zverejnené na semináre stránke. 1069 00:56:11,940 --> 00:56:16,980 iOS štyri je trochu plnohodnotné realizácia veľmi základné aplikácie. 1070 00:56:16,980 --> 00:56:23,920 A čo táto aplikácia robí, je to načíta UI, ktorý vyzerá takto. 1071 00:56:23,920 --> 00:56:28,680 Opäť platí, že ak klikneme na scenári môžeme vidieť, že to je to, čo to vyzerá. 1072 00:56:28,680 --> 00:56:31,320 To je UI. 1073 00:56:31,320 --> 00:56:33,676 Má titul na samom vrchole. 1074 00:56:33,676 --> 00:56:34,800 Ja som to nazval web galérie. 1075 00:56:34,800 --> 00:56:38,400 >> Uprostred je prvok volal view UI image. 1076 00:56:38,400 --> 00:56:41,340 A na konci je tu Panel nástrojov s jedným tlačidlom, ktoré 1077 00:56:41,340 --> 00:56:46,850 Má elastické medzery, ktoré ju umožňujú, aby centrum uprostred tohto panelu. 1078 00:56:46,850 --> 00:56:51,780 A čo sa stane, je, že keď to zaťaženie stiahne JSON súbor, ktorý je 1079 00:56:51,780 --> 00:56:55,540 obsiahnuté na serveri inde, analyzuje, že JSON súbor, 1080 00:56:55,540 --> 00:56:58,130 a súbor JSON vyzerá trochu ako je tento. 1081 00:56:58,130 --> 00:57:02,770 1082 00:57:02,770 --> 00:57:06,230 Súbor JSON vyzerá takto. 1083 00:57:06,230 --> 00:57:08,650 Tu to je. 1084 00:57:08,650 --> 00:57:11,730 >> Má názov albumu a má rad fotografií. 1085 00:57:11,730 --> 00:57:13,490 Každá z týchto fotiek majú meno a tiež 1086 00:57:13,490 --> 00:57:19,460 URL sami, ktoré reprezentujú jpeg verzia tohto jednotlivých fotografií. 1087 00:57:19,460 --> 00:57:24,780 Takže to, čo sa stalo, je, že keď tento program zaťaženie, stiahne súbor JSON, 1088 00:57:24,780 --> 00:57:30,590 analyzuje to, kladie to všetko v ekvivalent poľa v iOS 1089 00:57:30,590 --> 00:57:33,020 app vývoj, ktorý je nsarray. 1090 00:57:33,020 --> 00:57:37,520 A potom som si potom načítať tieto dáta do aplikácie 1091 00:57:37,520 --> 00:57:41,100 a nahrať ju na mojej obrazovke. 1092 00:57:41,100 --> 00:57:44,760 >> Tam je obraz, ktorý bol vložený tlačidlom na samom dne. 1093 00:57:44,760 --> 00:57:49,190 Ak mám na tlačidlo Get Nasledujúci obrázok, potom ťahá, že obraz z internetu 1094 00:57:49,190 --> 00:57:53,370 a nahrádza tento obraz v pohľade UI obrazu. 1095 00:57:53,370 --> 00:57:57,820 Takže si môžete stiahnuť a vlastne pozrite sa na to na vašom počítači. 1096 00:57:57,820 --> 00:58:00,940 A stavať to a vlastne skompilovať do vášho zariadenia. 1097 00:58:00,940 --> 00:58:04,710 Ale v podstate proces bol to, vytvorte storyboard-- 1098 00:58:04,710 --> 00:58:08,080 alebo skôr nie create-- ale vybrať scenár. 1099 00:58:08,080 --> 00:58:15,030 A vlastne we'll-- ak nechcete mind-- budeme trvať len niekoľko sekúnd 1100 00:58:15,030 --> 00:58:18,390 skutočne ukázať, ako sa to stalo. 1101 00:58:18,390 --> 00:58:22,430 1102 00:58:22,430 --> 00:58:27,820 >> Len tak, ako môžeme vlastne dosiahnutie tohto cieľa je vyrobená trochu viac 1103 00:58:27,820 --> 00:58:28,360 zrejmé. 1104 00:58:28,360 --> 00:58:30,651 Jednotlivý aplikácie, ja som zavolá tento seminár 1105 00:58:30,651 --> 00:58:35,330 štyri zastupujúci tento konkrétne číslo. 1106 00:58:35,330 --> 00:58:36,335 Uložte ho na ploche. 1107 00:58:36,335 --> 00:58:39,890 1108 00:58:39,890 --> 00:58:42,110 OK, bude kliknúť na scenári. 1109 00:58:42,110 --> 00:58:47,030 A čo budem robiť je nájsť môj názor obrazu, 1110 00:58:47,030 --> 00:58:50,940 pretiahnite ju na svoje používateľské interface a centrum za to. 1111 00:58:50,940 --> 00:58:54,850 Teraz už len stačí centrovanie to bohužiaľ sa nebude robiť veľa, 1112 00:58:54,850 --> 00:58:58,680 až na obrazovku že je táto presná veľkosť. 1113 00:58:58,680 --> 00:59:03,950 >> Takže sa môžeme presvedčiť, že Kliknutím na tohto dvojitého kruhu vec, 1114 00:59:03,950 --> 00:59:08,290 zvrhnúť túto pop up menu tu a meniace sa 1115 00:59:08,290 --> 00:59:11,110 k náhľadu, kde budeme vlastne šancu na náhľad, ako 1116 00:59:11,110 --> 00:59:13,530 Tým sa vlastne pozrite sa na iných zariadeniach. 1117 00:59:13,530 --> 00:59:16,500 Ako môžeme vidieť, nemáme ani vidieť na tomto konkrétnom prípade. 1118 00:59:16,500 --> 00:59:18,500 Takže budem zavrieť to teraz. 1119 00:59:18,500 --> 00:59:22,100 >> A budem voliť Táto ikona sa na veľmi 1120 00:59:22,100 --> 00:59:23,910 spodnej časti obrazovky. 1121 00:59:23,910 --> 00:59:26,584 To hovorí, že Vyriešiť Auto problémy rozloženie. 1122 00:59:26,584 --> 00:59:28,000 Je nám ľúto, je to odrezať na dne. 1123 00:59:28,000 --> 00:59:36,360 Ale keď kliknem na to, čo som si to pop up-- ísť preč. 1124 00:59:36,360 --> 00:59:39,740 1125 00:59:39,740 --> 00:59:51,220 To, čo som si to pop up, ktorý mi umožňuje pridať chýbajúce obmedzenia. 1126 00:59:51,220 --> 00:59:53,780 A tým, že robí to tak potom tak nejako zamknúť 1127 00:59:53,780 --> 00:59:56,640 do strednej časti obrazovka ako ja by sa dalo očakávať. 1128 00:59:56,640 --> 01:00:00,520 >> Teraz s cieľom, aby si toto tlačidlo na vrch, musím ísť do editora. 1129 01:00:00,520 --> 01:00:05,010 Prejsť na vložiť do a kliknite na tlačidlo Navigation Controller. 1130 01:00:05,010 --> 01:00:08,900 Čo to urobí, je, že sa pridá Celá táto ďalšia zložka k nej, 1131 01:00:08,900 --> 01:00:11,310 ale v skutočnosti bude odkaz späť k svojej pôvodnej UI. 1132 01:00:11,310 --> 01:00:14,450 A detaily, opäť, my nie Naozaj je potrebné sa starať o práve teraz. 1133 01:00:14,450 --> 01:00:16,710 Ale ja to chcem mať Panel nástrojov na samom dne. 1134 01:00:16,710 --> 01:00:18,530 Tak som to skontrolovať ukazuje Toolbar. 1135 01:00:18,530 --> 01:00:21,870 >> A to poskytuje v rámci môjho názoru, ktorý je teraz niekde inde, 1136 01:00:21,870 --> 01:00:23,900 môžeme vidieť, že to súvisí tu. 1137 01:00:23,900 --> 01:00:28,710 To teraz ponúka panel nástrojov v spodnej časti svojho užívateľského rozhrania. 1138 01:00:28,710 --> 01:00:34,770 Takže teraz, skôr než výber view image, nájdem štítok, 1139 01:00:34,770 --> 01:00:41,140 alebo skôr toolbar-- pozrime sa, kde to je? 1140 01:00:41,140 --> 01:00:41,890 Ako sa volá? 1141 01:00:41,890 --> 01:00:49,760 Položka button-- bar-- item-- sorry-- bar tlačidlo položka. 1142 01:00:49,760 --> 01:00:54,590 PLOP, že tam a aplikovať pár o flexibilné priestory na oboch stranách 1143 01:00:54,590 --> 01:00:57,429 skutočne centra to. 1144 01:00:57,429 --> 01:00:58,970 Takže teraz som vytvoril môj UI, v podstate. 1145 01:00:58,970 --> 01:01:01,428 A môžem dať mu meno, pod dvojitým kliknutím na samom vrchole 1146 01:01:01,428 --> 01:01:04,880 tu a hovoriť webové galérie a tak ďalej. 1147 01:01:04,880 --> 01:01:08,100 Teraz opäť sa jedná o prvky, ktoré existujú samy o sebe. 1148 01:01:08,100 --> 01:01:10,400 A musím sa pripojiť je do svojho kódu, ktorý 1149 01:01:10,400 --> 01:01:14,297 Môžem urobiť opäť prináša up tohto dvojitého ikony kruh, 1150 01:01:14,297 --> 01:01:15,380 prepnutie z náhľadu. 1151 01:01:15,380 --> 01:01:18,950 Čo, mimochodom, teraz môžeme vidieť, je pekne v strede a bude vyzerať dobre 1152 01:01:18,950 --> 01:01:23,720 na rôznych zariadeniach. 1153 01:01:23,720 --> 01:01:27,280 >> Prepnite do automatického režimu, ktorý bude vyvolajte ViewController kód. 1154 01:01:27,280 --> 01:01:29,030 A teraz táto časť je dôležitá. 1155 01:01:29,030 --> 01:01:34,590 K tomu, aby vám umožní pripojiť tieto dva prvky, kód k UI, 1156 01:01:34,590 --> 01:01:36,680 vyberte položku, ktorá sa chcete pripojiť. 1157 01:01:36,680 --> 01:01:39,570 Takže v tomto prípade sme skutočne chcú kódovať 1158 01:01:39,570 --> 01:01:43,520 zmeniť obrázok, ktorý je obsiahnutý v rámci tohto pohľadu UI obrazu. 1159 01:01:43,520 --> 01:01:47,070 Takže ak ovládate na tlačidlo od view image a ťahať, 1160 01:01:47,070 --> 01:01:51,960 zistíte, že vám trochu bar, keď necháte odísť všetko to pop 1161 01:01:51,960 --> 01:01:53,550 up dôjde. 1162 01:01:53,550 --> 01:01:56,470 >> A to hovorí, že budeme Vytvorenie pripojenia. 1163 01:01:56,470 --> 01:01:59,300 A odtiaľ chcem, aby to názov, niečo ako galéria. 1164 01:01:59,300 --> 01:02:00,240 Stlačte klávesu Enter. 1165 01:02:00,240 --> 01:02:03,040 A to vlastne poskytuje premenná s názvom galéria 1166 01:02:03,040 --> 01:02:08,600 že som sa potom môžu odkazovať v mojom kóde obrázok zmeniť, napríklad. 1167 01:02:08,600 --> 01:02:10,430 Tak ako to, že kód vlastne vyzerať? 1168 01:02:10,430 --> 01:02:13,030 No zase, ja nechcem trávia príliš veľa času na to. 1169 01:02:13,030 --> 01:02:15,430 A ja Odporúčame vám si ju stiahnuť a pozrieť sa. 1170 01:02:15,430 --> 01:02:18,330 Ale jeden z najviac Dôležitým aspektom je kód 1171 01:02:18,330 --> 01:02:20,980 že vlastne načíta obrázok. 1172 01:02:20,980 --> 01:02:26,470 >> Takže v tomto prípade chcem aby sa v rámci mojich fotografií 1173 01:02:26,470 --> 01:02:28,520 pole, ktoré je obsiahnuté v mojej triede. 1174 01:02:28,520 --> 01:02:33,390 Chcem definovať názov a adresu URL ktorá bola analyzovaná z tohto JSON. 1175 01:02:33,390 --> 01:02:39,810 Vlastne požiadať zariadenie, aby si URL, načítať URL z toho, 1176 01:02:39,810 --> 01:02:44,060 a potom načítať dáta z Obsah tejto URL. 1177 01:02:44,060 --> 01:02:49,430 Potom previesť tieto údaje do obrázka priechodom do obrazu UI. 1178 01:02:49,430 --> 01:02:52,880 Takže znovu, to všetko sú rôzne druhy objektov, rôznych typov tried. 1179 01:02:52,880 --> 01:02:58,410 >> A potom som si potom nastaviť my gallery.image rovná dát. 1180 01:02:58,410 --> 01:03:00,750 A to je druh mäsa z toho, že v skutočnosti je potom 1181 01:03:00,750 --> 01:03:08,250 schopný zmeniť zmeniť dáta from-- obraz od jedného k druhému. 1182 01:03:08,250 --> 01:03:10,660 Takže znovu, dúfam, že teraz spústa konštruktov 1183 01:03:10,660 --> 01:03:12,240 bude trochu väčší zmysel. 1184 01:03:12,240 --> 01:03:15,260 Všimnite si, že tam je nejaký výkričníky tu. 1185 01:03:15,260 --> 01:03:19,810 V výkričníky sú v podstate súvisí s Voliteľne. 1186 01:03:19,810 --> 01:03:22,657 >> To, čo som v podstate povedať, že aj bez kontroly 1187 01:03:22,657 --> 01:03:24,490 aby zistil, či tam dát v tento voliteľný, 1188 01:03:24,490 --> 01:03:27,140 Chystám sa ísť dopredu a prevziať že je tu a rozbaliť ho. 1189 01:03:27,140 --> 01:03:31,340 Pamätajte si, že sme použili analógiu druh balíčka pre Voliteľne 1190 01:03:31,340 --> 01:03:34,700 a musíme rozbaliť Balík a vytiahnuť dáta von. 1191 01:03:34,700 --> 01:03:37,570 Výkričník sily, ktoré sa v skutočnosti stalo. 1192 01:03:37,570 --> 01:03:39,590 >> Ale ja viem, že to je bezpečné, pretože som skontroloval 1193 01:03:39,590 --> 01:03:42,070 aby zistil, či obrazových dát sa rovná na nulu, ja som vlastne skontrolovať 1194 01:03:42,070 --> 01:03:45,420 a uvidíte, či voliteľná bol, v skutočnosti, sa nepodarilo. 1195 01:03:45,420 --> 01:03:47,110 V prípade, že bol v skutočnosti už zlyhal. 1196 01:03:47,110 --> 01:03:52,450 A tak som si istý, že akonáhle sa dostanem k tomu bod môžem bezpečne rozbaliť, že dáta. 1197 01:03:52,450 --> 01:03:55,710 Možno vidieť tiež forma otáznik. 1198 01:03:55,710 --> 01:03:59,100 Ak teda prejdite nadol, kde som treba skutočne analyzovať dáta. 1199 01:03:59,100 --> 01:04:01,850 >> Takže nenechajte sa odradiť Tieto druh dlhých mien. 1200 01:04:01,850 --> 01:04:06,580 Nájdete v Apple developer site veľa 1201 01:04:06,580 --> 01:04:09,620 odkazov na všetko objektov a všetky procesy 1202 01:04:09,620 --> 01:04:11,170 že v skutočnosti, aby to bolo možné. 1203 01:04:11,170 --> 01:04:15,990 Ale Všimnite si, že sa jedná v podstate funkcie, kde by som odovzdať niektoré dáta. 1204 01:04:15,990 --> 01:04:18,410 A ja sa vrátim nejaké údaje. 1205 01:04:18,410 --> 01:04:24,190 A musím použiť ako kľúčové slovo do previesť ho do tejto nsdictionary? 1206 01:04:24,190 --> 01:04:26,490 Čo je opäť, voliteľný nsdictionary. 1207 01:04:26,490 --> 01:04:31,070 Čo som potom je potrebné, aby skontrolujte, či existuje. 1208 01:04:31,070 --> 01:04:37,130 >> Tak som sa ho použiť, ak nechal úspešných rovná analyzovať, 1209 01:04:37,130 --> 01:04:40,620 potom viem, že na želanie v skutočnosti obsahuje niektoré údaje. 1210 01:04:40,620 --> 01:04:43,840 Alebo to, čo tu robil som bol na len predpokladať, že v prípade, že 1211 01:04:43,840 --> 01:04:49,067 žiadne chyby, že je v skutočnosti v bezpečí. 1212 01:04:49,067 --> 01:04:51,400 Dobre, chcem poďakovať vám všetkým moc ďakujem za príchod. 1213 01:04:51,400 --> 01:04:53,540 Viem, že to bolo veľa, ale to bolo len hodina 1214 01:04:53,540 --> 01:04:55,920 hovoriť o nejakej pekný moderný veci. 1215 01:04:55,920 --> 01:04:59,640 A tak dúfam, že budete mať možnosť stiahnuť všetky kód 1216 01:04:59,640 --> 01:05:01,657 a vziať lepšie, dôkladný pohľad na to. 1217 01:05:01,657 --> 01:05:04,240 Druh presvedčiť sami zo všetkých tie veci, čo sa deje. 1218 01:05:04,240 --> 01:05:06,800 A chcem vám poďakovať všetci, opäť prišiel. 1219 01:05:06,800 --> 01:05:08,760 A veľa šťastia s vašimi záverečných prác. 1220 01:05:08,760 --> 01:05:10,600 Majú veľký deň. 1221 01:05:10,600 --> 01:05:11,467