1 00:00:00,000 --> 00:00:03,332 >> [Musika jotzen] 2 00:00:03,332 --> 00:00:06,200 3 00:00:06,200 --> 00:00:09,590 >> DAN AMRMENDARIZ: orok, CS50 mintegi ongi etorria, 4 00:00:09,590 --> 00:00:11,690 iOS App Swift garapena. 5 00:00:11,690 --> 00:00:15,690 Nago Dan Armendariz, eta preceptor naiz informatikako hemen Harvard. 6 00:00:15,690 --> 00:00:21,510 >> Eta hurrengo ordu izango da bezainbeste gauza bira zurrunbilo bat 7 00:00:21,510 --> 00:00:25,160 Gai honi buruz ere doi dezakegu. 8 00:00:25,160 --> 00:00:29,170 Jatorrizko kodea guztiekin zer egingo dut Hori gaur ikusiko duzu online. 9 00:00:29,170 --> 00:00:31,990 Agian ez dugu izan gai benetan dena baino gehiago joan 10 00:00:31,990 --> 00:00:34,810 naizela naizela zuk erakusten ordu honetan. 11 00:00:34,810 --> 00:00:37,580 Baina, gutxienez, zorionez bidez Jatorrizko kodea iruzkinak, 12 00:00:37,580 --> 00:00:40,830 irudikatu saiatzeko gai izango duzu zer zehazki gauza horiek gertatzen ari 13 00:00:40,830 --> 00:00:42,950 ez dugu, nahiko iristeko. 14 00:00:42,950 --> 00:00:46,970 >> Orokorra, egitura Gaur egungo eztabaida honako hau izango da. 15 00:00:46,970 --> 00:00:52,820 Hasteko egingo dugu oinarrizko batzuk egiten Swift hizkuntzaren sintaxia, 16 00:00:52,820 --> 00:00:56,290 gehiago aurreratu batzuk sartzen joan Swift hizkuntzaren sintaxia. 17 00:00:56,290 --> 00:00:59,560 Hizkuntzaren delako benetan moderno eta hura 18 00:00:59,560 --> 00:01:02,110 Maila handiko asko ditu ezaugarriak, hori ez dugun gauza 19 00:01:02,110 --> 00:01:06,600 C ikusi CS50 zehar, edo nahiz eta batzuk bestean hizkuntzetan 20 00:01:06,600 --> 00:01:09,310 hori hasi dugu atsegin PHP erabiliz CS50, 21 00:01:09,310 --> 00:01:12,670 Beraz, nahi saiatu behar joan gai batzuk ere aurkeztu duten 22 00:01:12,670 --> 00:01:18,580 diren hizkuntza maila altuagoa lotuta duzu agian ez dela sakonki ikusi CS50, 23 00:01:18,580 --> 00:01:21,380 baina ikusi ahal izango duzu beranduago informatikako klaseetan. 24 00:01:21,380 --> 00:01:25,290 Beraz, bat izango da ongi josia ordu. 25 00:01:25,290 --> 00:01:28,897 Eta mesedez, aske utzi nau Badakizu edozein zalantza izanez gero. 26 00:01:28,897 --> 00:01:30,730 Beraz, nahi izanez gero garapen egitean 27 00:01:30,730 --> 00:01:34,442 Swift batekin, edo benetan Edozein iOS app garapena, 28 00:01:34,442 --> 00:01:35,900 Han baldintzak pare bat daude. 29 00:01:35,900 --> 00:01:39,940 Lehenik eta behin, erabili egin behar duzu Mac bat, adibide jarraituko du abian 30 00:01:39,940 --> 00:01:43,880 gaur erabiliz duten goaz, OS bertsio berri samarra 31 00:01:43,880 --> 00:01:46,580 X. Kasu honetan, exekutatzen ari naiz X 10,5. 32 00:01:46,580 --> 00:01:48,600 Da exekutatzen dezakezu 10,11 nahi baduzu. 33 00:01:48,600 --> 00:01:52,430 Baina dena zarela joan Ikusten da Xcode 7 eta geroago hartu zuten parte, 34 00:01:52,430 --> 00:01:56,271 bertan, azken bertsioa ditu Swift, hau da, Swift 2.0. 35 00:01:56,271 --> 00:01:58,270 Hau da, benetan polita bat bereizketa garrantzitsua. 36 00:01:58,270 --> 00:02:01,510 Sintaxia asko ditu nahiko nabarmen aldatu 37 00:02:01,510 --> 00:02:05,890 Swift 1.0 batetik, zenbait kasutan, iaz kaleratu zen, 38 00:02:05,890 --> 00:02:08,514 Swift 2.0, zein atera jaitsiera hau. 39 00:02:08,514 --> 00:02:09,889 Beraz, goazen Swift 2.0 erakusteko. 40 00:02:09,889 --> 00:02:13,020 Gauza asko dagoela bilatu online for you 41 00:02:13,020 --> 00:02:18,040 denean gehigarria lortzeko saiatzen ari zaren Hainbat gauza bati buruzko informazioa, 42 00:02:18,040 --> 00:02:20,710 Ahal izango duzu esplizituki nahi den bilatu Swift 2 43 00:02:20,710 --> 00:02:24,950 baizik eta Swift besterik ez arrunta zaharra baino egiteko Ziur sintaxia zuzena lortu duzu. 44 00:02:24,950 --> 00:02:26,920 >> Izan ere, hau da, oro har, egia. 45 00:02:26,920 --> 00:02:31,210 Ez dago garapen zenbatekoa azkar bat da Swift hizkuntzan gertatzen 46 00:02:31,210 --> 00:02:35,110 Apple kaleratu da ordutik, uste dut zer, apur bat izan da urte bat baino gehiago 47 00:02:35,110 --> 00:02:36,370 orain. 48 00:02:36,370 --> 00:02:39,080 Eta gauzak aldatu egin dira Garai hartan ere nabarmen. 49 00:02:39,080 --> 00:02:42,160 Eta beraz, ez da zapuztu bada, orduan inguruan bilatzen ari zaren 50 00:02:42,160 --> 00:02:48,310 Swift edo gaiak nola betetzeko for Zerbait Adibidez kode batzuk erabiliz 51 00:02:48,310 --> 00:02:51,210 edo zerbait ez dela benetan Swift 2.0 lan egiteko. 52 00:02:51,210 --> 00:02:53,790 Ziurtatu ari zaren Zehazki bertsioa horretarako 53 00:02:53,790 --> 00:02:58,690 desberdinen ondorioak gutxitzeko saiatu bertsioak eta gauza mota horiek. 54 00:02:58,690 --> 00:03:02,470 >> Egingo azpimarratzea gauza batzuk besterik saiatzen naiz Hori bertsio zaharragoak desberdinak dira. 55 00:03:02,470 --> 00:03:03,970 Baina zerbait ikusi ahal izateko da. 56 00:03:03,970 --> 00:03:06,770 Hori da, ziurrenik hori izango da buruko handienetako bat 57 00:03:06,770 --> 00:03:11,010 duzula da aurkitzea Swift dituzte Adibidez kodea zaharragoa da, nahiz eta, besterik gabe, 58 00:03:11,010 --> 00:03:14,050 Hilabete gutxi batzuk eginda, erabiltzen saiatzen Zure proiektuaren modernoagoa da. 59 00:03:14,050 --> 00:03:15,430 Eta hori besterik ez, besterik gabe, ez du funtzionatzen. 60 00:03:15,430 --> 00:03:18,530 Oraindik konpilatzailea akatsak lortzean duzu, sintaxia akatsak, zoro-mota guztiak. 61 00:03:18,530 --> 00:03:21,580 Beraz, besterik gabe, izan duen gaixo hori, eta espero izango duzu 62 00:03:21,580 --> 00:03:24,200 esperientzia polita polita izan da Swift, oro har. 63 00:03:24,200 --> 00:03:28,430 >> Orain benetan ahal duzun join-- eta espero dut Benetan dugu oraindik aurten honetan hau izan 64 00:03:28,430 --> 00:03:30,910 CS 50 Apple aplikazioa Garapen taldeak, eta horrek 65 00:03:30,910 --> 00:03:34,680 aplikazio instalatzeko aukera emango dizu bertan sortu duzu zure iOS gailuak. 66 00:03:34,680 --> 00:03:39,190 Beraz URL honetan bada begirada bat hartu egiten duzula interesa. 67 00:03:39,190 --> 00:03:41,450 >> Beraz, besterik gabe, pare bat Swift berari buruz gauza. 68 00:03:41,450 --> 00:03:43,580 Konpilatu hizkuntza bat da. 69 00:03:43,580 --> 00:03:45,870 Baina ikusiko duzu batzuk Erabiltzen ditugun ezaugarrietako 70 00:03:45,870 --> 00:03:50,650 uzten erabili ahal izateko, gainera, pixka batean bat bezala interpretatu bide baita. 71 00:03:50,650 --> 00:03:56,350 >> Sintaxia asko mailegatu da C. from oinarritutako da eta C. idatzitako 72 00:03:56,350 --> 00:04:00,400 Eta beraz, ikusiko dugu daude Takeaways asko 73 00:04:00,400 --> 00:04:04,450 zure dagoen ezagutzatik C-tik Swift den ataka ahal dugun. 74 00:04:04,450 --> 00:04:07,290 >> Baina badira gauza egiteko C. oso bestelakoa 75 00:04:07,290 --> 00:04:08,860 Da oso biziki idatzitako. 76 00:04:08,860 --> 00:04:10,380 Ez dago memoria kudeatzea automatikoa da. 77 00:04:10,380 --> 00:04:13,170 Oraindik ez duzu nahi izan joan malloc edo doan edozein lekutan erabiltzeko. 78 00:04:13,170 --> 00:04:15,110 Honez orokortasun diseinatua. 79 00:04:15,110 --> 00:04:19,480 Beraz, beste era batera esanda, erabili ahal izango duzu testuinguru mota guztiak, Apple Watch 80 00:04:19,480 --> 00:04:26,290 iPhone modu guztiak OS X, eta gehienez are zerbitzari batzuetan, nahiz eta scripting batzuk. 81 00:04:26,290 --> 00:04:28,400 Baina ikusiko dugu hori scripting laguntza 82 00:04:28,400 --> 00:04:31,360 da Oraindik ez da bukatu bezain da beste hizkuntza batzuetan ere egiten. 83 00:04:31,360 --> 00:04:34,930 Beraz, ziurrenik erabili beharko duzu honen garapenean esklusiboki 84 00:04:34,930 --> 00:04:37,060 zure Mac edo zure iPhone. 85 00:04:37,060 --> 00:04:40,150 >> Eta modernoaren ezaugarriak asko ditu. 86 00:04:40,150 --> 00:04:43,380 Eta gauza horiek asko dira gauza dela gaur saiatuko goaz, 87 00:04:43,380 --> 00:04:47,590 baina, aldi berean, gure gaiak Egia hori, ikastaroak osoa eskaintzeko aukera izango dugu. 88 00:04:47,590 --> 00:04:50,140 Izan ere, CS 51, hau da, Eskainitako hurrengo seihilekoan, 89 00:04:50,140 --> 00:04:53,990 gai horien inguruko asko zentratzen beherago azaltzen dira horretan. 90 00:04:53,990 --> 00:04:56,781 Beraz seihileko oso bat eman ahal izango duzu Gauza horiek ulertzeko. 91 00:04:56,781 --> 00:04:58,530 Baina ari gara saiatzen joan horien bitartez lortu 92 00:04:58,530 --> 00:05:00,800 gutxienez nahikoa dela ulertzen zer da 93 00:05:00,800 --> 00:05:03,700 denean begiratuz gertatzen Swift programa batean 94 00:05:03,700 --> 00:05:07,310 eta zure bidea aldatu ahal Bidez azken proiektua da. 95 00:05:07,310 --> 00:05:10,780 >> Orain modu onenetako bat ezin duzula Honen inguruko informazio gehiago lortu 96 00:05:10,780 --> 00:05:14,700 Egia da Apple-en bidez emandako dokumentazioa Swift da. 97 00:05:14,700 --> 00:05:16,930 Ez dago APIak asko da daude eskuragarri. 98 00:05:16,930 --> 00:05:21,170 Eta hau hasiera ona base zuretzat da den, gauza zehatzak bilatzeko duzula 99 00:05:21,170 --> 00:05:23,020 API bat iOS inplikatuz egin nahi. 100 00:05:23,020 --> 00:05:26,350 Kamera erabili nahi izanez gero Adibidez, hemen bila hasi ahal izateko, 101 00:05:26,350 --> 00:05:32,540 eta Google eta Stack ere erabili Gainezkatzea, ohi den bezala. 102 00:05:32,540 --> 00:05:36,670 >> Honetako zalantzaren eskubidea dugu salto, aurretik ere? 103 00:05:36,670 --> 00:05:37,880 Ados. 104 00:05:37,880 --> 00:05:38,700 Dezagun aurrera. 105 00:05:38,700 --> 00:05:42,620 >> Beraz, lehenik eta behin, daukat Adibidez fitxategiak kopurua. 106 00:05:42,620 --> 00:05:46,040 Eta ez dut nahi zapaldu saiatzeko joan Horien bitartez, nahiko azkar. 107 00:05:46,040 --> 00:05:49,190 Hau Swift Hello World fitxategia da. 108 00:05:49,190 --> 00:05:51,050 Oso erraza da. 109 00:05:51,050 --> 00:05:54,360 There iruzkinak modu gehiago baino ez dira, benetako kodea. 110 00:05:54,360 --> 00:05:57,100 Iragarki benetako kodea dagoena on line 14 bukaeraraino. 111 00:05:57,100 --> 00:05:57,980 Inprimatu dio. 112 00:05:57,980 --> 00:05:59,820 Eta, ondoren, funtzio-dei bat da. 113 00:05:59,820 --> 00:06:03,010 Da bat sartu dugu pasatzen ari Kaixo CS50 izeneko katea. 114 00:06:03,010 --> 00:06:04,750 Iragarki hori ez puntuz dago. 115 00:06:04,750 --> 00:06:07,010 Iragarki hori ez dago int nagusia. 116 00:06:07,010 --> 00:06:10,392 Ez dago bat ere ez cruft zuela C. dugun 117 00:06:10,392 --> 00:06:15,020 When Swift erabiltzen dugun modu horretan, hau da, besterik idatzitako testu fitxategi batean 118 00:06:15,020 --> 00:06:18,340 eta nire ordenagailuan gordetako, eta gero I konpila dezakezu eta exekutatu. 119 00:06:18,340 --> 00:06:20,920 >> Iragarki hemen nago Ez CS50 IDE erabiliz. 120 00:06:20,920 --> 00:06:24,460 Horren arabera, neu naiz korrika eta naiz OS X dut, 121 00:06:24,460 --> 00:06:27,870 eta hori izan dut Xcode dagoeneko instalatutako makina hau ordena horretarako on 122 00:06:27,870 --> 00:06:29,080 benetan funtzio bat. 123 00:06:29,080 --> 00:06:33,349 Baina honek testu-fitxategi normal bat da garela eta konpilatzeko eta editatu daiteke. 124 00:06:33,349 --> 00:06:34,890 Beraz, ikus dezagun nola benetan funtzionatzen. 125 00:06:34,890 --> 00:06:37,430 Zer da biltzeko nahi badut? 126 00:06:37,430 --> 00:06:40,450 swiftc 1.swift. 127 00:06:40,450 --> 00:06:42,960 Une bat edo bi egin ondoren, gaur egun dugun ikusiko 128 00:06:42,960 --> 00:06:45,360 konpilatu hau deitzen 1 fitxategira. 129 00:06:45,360 --> 00:06:51,090 Eta orain, gure CS50 inprimatutako dugu, Gure Hello World aplikazio baizik. 130 00:06:51,090 --> 00:06:54,690 >> Bezain beste gauza bat nabarituko Ondo lehenetsita, hau da, 131 00:06:54,690 --> 00:07:00,090 ez genuen sarrerari dute a / n linea berri bat inprimatzeko. 132 00:07:00,090 --> 00:07:05,315 Besterik adierazi ezean, inprimatu funtzioa Swift inprimatu linea berri bat izango duzu. 133 00:07:05,315 --> 00:07:09,284 Aukerako osagarri bat gainditu ahal izango duzu Parametrorik kontatzeko ez hacerlo. 134 00:07:09,284 --> 00:07:10,950 Baina Googlek buruzko informazio gehiago eskuratzeko. 135 00:07:10,950 --> 00:07:13,450 Besterik adierazi ezean, inprimatu lerro egingo da. 136 00:07:13,450 --> 00:07:16,420 >> Ondo da, beraz dezagun aurrera ondoren, beste gauza batzuk egiteko. 137 00:07:16,420 --> 00:07:18,620 Beraz, nola benetan defini dezakegu aldagai? 138 00:07:18,620 --> 00:07:21,960 Egin ahal izango dugu, hori erabilita bi metodo bat. 139 00:07:21,960 --> 00:07:26,122 Eta hori egin nahi dut bat esango dizu Lehenengo egin dezagun definizio hau. 140 00:07:26,122 --> 00:07:27,830 Eta hau da garrantzitsuena eraginkortasunez delako 141 00:07:27,830 --> 00:07:30,240 zer egiten ari garen konstante bat definitzeko da. 142 00:07:30,240 --> 00:07:34,010 Aldagai bat sortzen ari gara, edo, hobeto esanda, izen etengabe izenekoa, 143 00:07:34,010 --> 00:07:38,200 ere data-- batzuk bertara ematen Kasu honetan, katea Dan. 144 00:07:38,200 --> 00:07:40,630 Baina utzi hau erabiliz hitzarekin, esaten ari gara 145 00:07:40,630 --> 00:07:43,860 hori aldagai edo Berriro constant-- izeneko 146 00:07:43,860 --> 00:07:46,220 izen da inoiz aldatu egingo da. 147 00:07:46,220 --> 00:07:50,120 Honez aldaezina izan behar zehar joan Programa honen iraupena 148 00:07:50,120 --> 00:07:53,100 edo osoan zehar testuinguruan iraupena 149 00:07:53,100 --> 00:07:55,390 aldagai hori eskuragarri dagoela. 150 00:07:55,390 --> 00:08:00,096 >> Hau da, benetan garrantzitsua da hori Hori ez da datu batzuk duzu 151 00:08:00,096 --> 00:08:02,970 zure programan aldatuko denik, eta hainbat adibide bat ikusiko duzu 152 00:08:02,970 --> 00:08:06,790 zuk erabili nahi dugu buruz utzi beste sintaxia versus, 153 00:08:06,790 --> 00:08:11,040 Garrantzitsua da erabili utzi ahal den neurrian delako jakinarazten honetan 154 00:08:11,040 --> 00:08:13,740 Hizkuntzaren dela Ez aldatu egingo da, 155 00:08:13,740 --> 00:08:16,590 eta bertan burutu ahal optimizazioak asko 156 00:08:16,590 --> 00:08:19,560 abiadura hobetzeko eta Zure programa segurtasuna. 157 00:08:19,560 --> 00:08:24,480 Eta segurtasun-ek, esan nahi dut, ez utzi zoro erroreekin bai hutsegiteak 158 00:08:24,480 --> 00:08:27,910 garela egongo den C. ere ikusten ohituta 159 00:08:27,910 --> 00:08:32,460 >> Ondoren kate interpolazio erabili ahal izango dugu hau enkapsulatu kate baten barruan. 160 00:08:32,460 --> 00:08:35,200 Beraz, hau ikus daitezkeen inprimatu lerro, inprimatu kaixo, 161 00:08:35,200 --> 00:08:38,950 eta, ondoren, backslash Parentesi irekia erabiliz, eta, ondoren, nire aldagai izenean, 162 00:08:38,950 --> 00:08:41,809 Kasu konstante honetan, Parentesi ixteko. 163 00:08:41,809 --> 00:08:46,400 Naiz funtsean, ondoren jarriz aldakorra izeneko name honetako edukiak 164 00:08:46,400 --> 00:08:50,240 katearen barruan, eta gero emaitza inprimatzeko han. 165 00:08:50,240 --> 00:08:54,070 >> Ez dago fitxategi honetara beste aldaketa bat da hau da, behar dudala, oso goian, 166 00:08:54,070 --> 00:08:57,340 shebang lerro batean jarri, eta horrek funtsean, besterik zehazten 167 00:08:57,340 --> 00:09:00,180 erabili nahi dut Swift interpretatzailea, eta horrek 168 00:09:00,180 --> 00:09:04,190 esan nahi dut, ez da gehiago behar bereziki, programa honetan bildu. 169 00:09:04,190 --> 00:09:06,567 Besterik ez dut exekutatu daiteke bere gidoia bezala. 170 00:09:06,567 --> 00:09:09,400 Baina hori da, kasu honetan, atzetik bildu eta gero eszenak ari 171 00:09:09,400 --> 00:09:10,030 exekutatu. 172 00:09:10,030 --> 00:09:13,540 Besterik ez da guretzat ikusezina da. 173 00:09:13,540 --> 00:09:15,880 >> Ondo da, beraz dezagun aurrera. 174 00:09:15,880 --> 00:09:19,650 Beraz, ez dira iruzurrak pixka bat da Hori baino zertxobait lehenago gertatu zen. 175 00:09:19,650 --> 00:09:23,230 Erakutsi dut dut konstante bat defini daiteke. 176 00:09:23,230 --> 00:09:25,490 Eta datu batzuk ere egin ematen izan dut. 177 00:09:25,490 --> 00:09:29,240 Baina kasu honetan, nabarituko ez ez dut Benetan zehaztu datu-motak 178 00:09:29,240 --> 00:09:29,820 dela. 179 00:09:29,820 --> 00:09:32,780 Eta hori da egin delako konpiladorea, Swift ahal 180 00:09:32,780 --> 00:09:36,910 inferitu besterik oinarritutako datu-motak datu hori dut ipini ditu. 181 00:09:36,910 --> 00:09:41,760 Hori ebaluatzen daki delako aldakorreko hementxe, datuak eskubide hori 182 00:09:41,760 --> 00:09:43,370 Hemen, kate bat dela badaki. 183 00:09:43,370 --> 00:09:48,690 Eta beraz, etengabeko izen hau da, beraz, kate bat izan baita joan. 184 00:09:48,690 --> 00:09:52,730 >> Baina gainera ere esplizituak izan mota hori da buruz 185 00:09:52,730 --> 00:09:55,790 to erabiliko ditugu konstanteak edo aldagaiak 186 00:09:55,790 --> 00:10:01,590 sintaxia hau erabiliz Horren ordez utzi name colon String berdinen 187 00:10:01,590 --> 00:10:05,530 Dan, kasu honetan, esan nahi dugu izen etengabe izenekoa zehazteko. 188 00:10:05,530 --> 00:10:07,150 Honez mota katea izango da. 189 00:10:07,150 --> 00:10:10,550 Eta balioa Dan izango. 190 00:10:10,550 --> 00:10:12,550 Orain, beste modu batean, sortu ahal izango dugu aldagai 191 00:10:12,550 --> 00:10:15,549 eta horiek ez dira aldagai aldakorra, eta horrek esan nahi dugu ez direla, hain zuzen ere, joan 192 00:10:15,549 --> 00:10:19,670 euren edukiak noizbait aldatzeko Testuinguru iraupena ere 193 00:10:19,670 --> 00:10:23,890 aldagai hori garela definitutako dago erabili ordez var hitzarekin utzi. 194 00:10:23,890 --> 00:10:27,400 Baina, berriro ere, besterik ezean, badakizu ezean Datu hori manipulatu behar duzula, 195 00:10:27,400 --> 00:10:30,510 saiatu utzi erabiltzeko performance hobekuntzak. 196 00:10:30,510 --> 00:10:33,740 >> Kasu honetan, beraz ezin dut Datu mota zehaztu 197 00:10:33,740 --> 00:10:37,650 to barruan izango da espero dugun etiketa izeneko aldagai berri hau. 198 00:10:37,650 --> 00:10:38,800 Honez kate bat izango da. 199 00:10:38,800 --> 00:10:43,030 Eta ari gara, ondoren kateatu joan bi kateak elkarrekin, katea kaixo, 200 00:10:43,030 --> 00:10:48,070 eta soka-ek aurkeztu aldakorra, edo hobeto esanda, etengabeko izen. 201 00:10:48,070 --> 00:10:50,660 >> Beraz, hau da, polita delako honetan zertxobait dugun bezala PHP 202 00:10:50,660 --> 00:10:52,250 Oso erraza kate lotuz dute. 203 00:10:52,250 --> 00:10:56,350 Ez dugu izan, ez automatikoki Edozein memoria kudeaketa moduko erabili 204 00:10:56,350 --> 00:11:00,580 tamaina handitzeko eta egin Edozein gauza dibertigarria han moduko. 205 00:11:00,580 --> 00:11:05,040 Honek lan benetan genuke espero bezala. 206 00:11:05,040 --> 00:11:09,370 >> Ondo da, horri buruzko edozein galdera? 207 00:11:09,370 --> 00:11:12,520 >> Orain beste arrazoia gaitasuna izan behar dugu 208 00:11:12,520 --> 00:11:15,490 zer definitu ahal izateko Datu aldagai mota daude 209 00:11:15,490 --> 00:11:18,170 da batzuetan ez garelako aldagaiak hasieratu nahi 210 00:11:18,170 --> 00:11:21,080 bertan datu batzuk definizio puntua. 211 00:11:21,080 --> 00:11:23,500 Beraz, kasu honetan, demagun inputting hasi nahi duten I 212 00:11:23,500 --> 00:11:25,040 kalifikazio batzuen kalifikazioa liburu batean. 213 00:11:25,040 --> 00:11:27,530 Beno dakit bat dagoela Hori izan nahi dut aldagai 214 00:11:27,530 --> 00:11:30,280 da mutable kalifikazio bat izango da. 215 00:11:30,280 --> 00:11:33,010 Eta, gainera, badakigu dugun Nahi zenbaki oso bat izango da. 216 00:11:33,010 --> 00:11:36,030 Baina agian ez dugu oraindik dute nota hori eskuragarri. 217 00:11:36,030 --> 00:11:39,570 >> Swift ere, hau egin behar duzu definitzeko datu-motak 218 00:11:39,570 --> 00:11:44,000 hori batekin lotutako aldagai edo konstante bat utzi 219 00:11:44,000 --> 00:11:47,840 Egia esan, ezin duzu lehenago aldagai hori erabili. 220 00:11:47,840 --> 00:11:51,170 Da biziki idatzitako delako, mota bat lotzeko duzu 221 00:11:51,170 --> 00:11:52,890 aldagai hauekin. 222 00:11:52,890 --> 00:11:56,120 >> Kasu honetan, beraz, ez dut behar bezala hasieratu balio batzuk lehenengoan, 223 00:11:56,120 --> 00:12:00,520 Orduz Swift kontatu behar dut zer Datu-mota nahi izan espero dut. 224 00:12:00,520 --> 00:12:02,650 Eta nik geratzen joan datu-mota hori bera 225 00:12:02,650 --> 00:12:05,780 Programa honen historian zehar. 226 00:12:05,780 --> 00:12:10,050 >> Orain bezain laster tentazioa egon liteke Kalifikazioa aldagai hau sortu dut 227 00:12:10,050 --> 00:12:13,530 eta betiere bat 100 osokoa, orain badut 228 00:12:13,530 --> 00:12:18,540 to kateatu saiatu nahi osokoa dela katea, 229 00:12:18,540 --> 00:12:21,610 tentazioa egon liteke oraindik erabili kate lotuz operadorea 230 00:12:21,610 --> 00:12:24,500 bezala egin dugu lerro batzuk lehenago. 231 00:12:24,500 --> 00:12:26,460 Baina, zoritxarrez, borondate hori benetan ez 232 00:12:26,460 --> 00:12:29,270 lan, zuk daudelako funtsean eszenikoen 233 00:12:29,270 --> 00:12:32,380 Bi mota ezberdinak operazio batean. 234 00:12:32,380 --> 00:12:36,856 >> Azken hau da, oso desberdinak PHP bezalako hizkuntza zein diren benetan 235 00:12:36,856 --> 00:12:38,480 Beren mota moduko batekin loosey goosey. 236 00:12:38,480 --> 00:12:40,030 Zu besterik nahi dute, bai, edozein dela ere, ez zait axola. 237 00:12:40,030 --> 00:12:42,710 Just eman dit mota bat, eta agian, eskuineko gauza egin dut. 238 00:12:42,710 --> 00:12:46,060 >> Kasu honetan, Swift da oso motei buruz zorrotza 239 00:12:46,060 --> 00:12:47,350 aurre ari zaren. 240 00:12:47,350 --> 00:12:50,700 Summation operadorea hau edo lotuz operadorea 241 00:12:50,700 --> 00:12:54,400 funtsean pare bat ditu Posible aukera desberdinak. 242 00:12:54,400 --> 00:12:56,970 Summation egin dezakezu osokoak, edo zurekin 243 00:12:56,970 --> 00:13:00,870 kate lotuz egin daiteke, eta agian beste gauza batzuk ere bai. 244 00:13:00,870 --> 00:13:05,550 Baina bada operadorea ez duela aitortu Zer den aldeetan da, 245 00:13:05,550 --> 00:13:10,452 edo horien konbinazioa baizik Bi mota, ez da, zer espero da, 246 00:13:10,452 --> 00:13:11,910 ondoren, porrot bat sor joan. 247 00:13:11,910 --> 00:13:16,690 >> Beraz, kasu honetan, zer esan nahi du Kate bat plus zenbaki oso bat izatea? 248 00:13:16,690 --> 00:13:18,880 Beno testuinguru batean honek, ziurrenik nahi dugu 249 00:13:18,880 --> 00:13:21,990 kate lotuz ekintza aurrera eramateko. 250 00:13:21,990 --> 00:13:26,420 Baina, jakina, ordenagailuaren ez dauka testuinguru moduko hori. 251 00:13:26,420 --> 00:13:29,950 Eta horrela eman behar dugu informazio gehiago 252 00:13:29,950 --> 00:13:32,390 Badakizu zer egiten utzi da egin nahi dugun. 253 00:13:32,390 --> 00:13:36,860 >> Beraz, beste era batera esanda, hain zuzen, Swift biziki idatziko da 254 00:13:36,860 --> 00:13:39,520 esan nahi du bat egin behar duzu lan osagarriak pixka 255 00:13:39,520 --> 00:13:42,100 funtzionatzeko da iritsi Hori nahi zenuke horrela. 256 00:13:42,100 --> 00:13:43,710 Baina emaitza gisa, seguruagoa da. 257 00:13:43,710 --> 00:13:46,290 Eta behin duzu hartu Kontu-mota horietan sartu, 258 00:13:46,290 --> 00:13:49,300 Gauzak besterik Egia hasteko Nahiko ondo lan egiteko. 259 00:13:49,300 --> 00:13:52,520 >> Beraz, kasu honetan, orduan genuke kate lotuz egin 260 00:13:52,520 --> 00:13:56,040 esplizituki galdaketa Kate bat osokoa 261 00:13:56,040 --> 00:13:58,490 bilduz honetan kapital S kate funtzioa, 262 00:13:58,490 --> 00:14:03,510 eta ondoren, kate lotuz erabiliz operadorea gure etiketa aldakorra aldatzeko, 263 00:14:03,510 --> 00:14:06,280 eta, ondoren, inprimatu. 264 00:14:06,280 --> 00:14:08,420 >> Orain arte, hain ona? 265 00:14:08,420 --> 00:14:12,020 Guztiak eskubidea, dezagun aurrera. 266 00:14:12,020 --> 00:14:16,300 >> Orain ez dago datu ugari daude Hori Swift erabili ahal izango dugu mota. 267 00:14:16,300 --> 00:14:21,620 Ohituta duzun bezala, mutable array bat sortu ahal izango dugu. 268 00:14:21,620 --> 00:14:26,140 Eta array ahal bakarra mota bakar bat eduki. 269 00:14:26,140 --> 00:14:30,360 >> Beraz, kasu honetan, ari gara, sortu joan Osoko zenbaki multzo aldakorra da, eta horrek 270 00:14:30,360 --> 00:14:34,800 kalifikazio hartuko bagenu, eta gai izango gara duten gordetzeko kortxetea honetan 271 00:14:34,800 --> 00:14:38,650 formatu ahala Nik ohitu da beste hizkuntza ugaritan ere. 272 00:14:38,650 --> 00:14:41,150 Baina hemen gauden Gauza pare bat definituz. 273 00:14:41,150 --> 00:14:45,350 kalifikazio mutable aldagai bat da utzi hitzarekin erabiltzen dugu. 274 00:14:45,350 --> 00:14:49,620 Beraz, horrek esan dugu gero alda dezakezu array honen edukia. 275 00:14:49,620 --> 00:14:53,420 Da mota Array Int ditu, eta hori esan dezakegu 276 00:14:53,420 --> 00:14:56,260 oinarritutako karratu parentesi horiek hemen. 277 00:14:56,260 --> 00:14:58,930 >> Orain gauza polit bat honi buruz dugun 278 00:14:58,930 --> 00:15:02,310 asko sarbidea izan informazio gehigarria 279 00:15:02,310 --> 00:15:07,110 array buruz besterik erabiliz dot idazkera sinple batzuk. 280 00:15:07,110 --> 00:15:10,500 Beraz, adibidez, grades.count guri eskaintzen 281 00:15:10,500 --> 00:15:14,820 Hori dela existitzen elementu kopurua array, eta gero ezin dugu sartzeko nahiko 282 00:15:14,820 --> 00:15:19,090 Erraz besterik dot idazkera hori erabilita. 283 00:15:19,090 --> 00:15:21,830 >> Gehiago gehitu nahi baduzu array hau elementuak, 284 00:15:21,830 --> 00:15:27,220 ezin duzu PHP estiloa non esplizituki besterik ez duzu definitzeko, 285 00:15:27,220 --> 00:15:30,910 indize jakin batean, balio batzuk txertatu nahi duzula. 286 00:15:30,910 --> 00:15:37,210 Horren ordez, erabili erantsi array mota, metodo 287 00:15:37,210 --> 00:15:40,920 elementu hori, 95 eransteko, zerrenda honetan. 288 00:15:40,920 --> 00:15:45,990 >> Beraz, orain array honetan, honako hauek ditu contents-- 100, 0, 90, 85. 289 00:15:45,990 --> 00:15:49,270 Eta orain erantsi diren ditugu 95 baita. 290 00:15:49,270 --> 00:15:51,830 >> Badira beste modu Gauzak erantsi dezakegu. 291 00:15:51,830 --> 00:15:55,030 Benetan erabili ahal izango duzu summation operadorea, 292 00:15:55,030 --> 00:15:59,200 bertan bezala interpretatuko da array append operazio bat. 293 00:15:59,200 --> 00:16:04,680 Eta zuk, gero, erantsi ahal beste array, zeinaren eduki diren 70 eta 80, 294 00:16:04,680 --> 00:16:05,560 array hori. 295 00:16:05,560 --> 00:16:08,250 Beraz, gaur egun dugun aldakorreko honen edukia 296 00:16:08,250 --> 00:16:17,220 100, 0, 90, 85, 95, 70, eta 80 grades--. 297 00:16:17,220 --> 00:16:21,850 Hau gutxi sintaktikoa polit bat besterik ez da azukrea Swift digu ematen. 298 00:16:21,850 --> 00:16:23,850 >> Beraz batzea nahi badugu kalifikazio, agian ez gara 299 00:16:23,850 --> 00:16:27,340 batetik bestera joateko nahi joan begizta honetan elementu bakoitza baino gehiago. 300 00:16:27,340 --> 00:16:32,150 Eta ez dugu, Swift ere, ideia Bat begizta for espero bezala. 301 00:16:32,150 --> 00:16:35,350 Baina bide hori adierazi dugu sorta bat, apur bat desberdina da. 302 00:16:35,350 --> 00:16:37,790 Beraz, kasu honetan, Laburbilduz dena, dizkizugu 303 00:16:37,790 --> 00:16:40,650 aldi baterako sortzen joan batuketa izeneko aldagai ordenan guretzat 304 00:16:40,650 --> 00:16:42,580 Aldaketa hau mantendu ahal izateko. 305 00:16:42,580 --> 00:16:44,430 >> Eta konturatu gure alde begizta eraikuntza hemen. 306 00:16:44,430 --> 00:16:46,820 0 indizeak For .. 00:16:51,480 308 00:16:51,480 --> 00:16:57,390 Beraz, eraikuntza hau, 0 .. 00:17:01,860 ari garela sortu esaten Osoko zenbaki sorta bat 0-tik gora 310 00:17:01,860 --> 00:17:05,750 baizik grades.count kenduta. 311 00:17:05,750 --> 00:17:09,577 Beraz, hau izango da 0, 1, 2, 3, 4, 5 up bat ezin zenbatu arte 312 00:17:09,577 --> 00:17:10,410 grades.count aurretik. 313 00:17:10,410 --> 00:17:14,160 >> Beraz, hau da, nola baino desberdina dugu normalean begiztak erabiltzen 314 00:17:14,160 --> 00:17:18,569 non indize batzuk izango litzateke duzu aldakorra, ezarri 0 berdinak hasiera batean, 315 00:17:18,569 --> 00:17:25,480 eta gero integratu batzuk arte balio elementu kopurua baino gutxiago 316 00:17:25,480 --> 00:17:27,140 Array horretan. 317 00:17:27,140 --> 00:17:29,820 >> Beraz, ez da aldaketa bat da hau da, benetan, 318 00:17:29,820 --> 00:17:35,010 horri esker, guretzat oso erraz areak mota ezberdinak ezarri. 319 00:17:35,010 --> 00:17:40,570 Sorta hau aldatzen baduzu hiru puntuak, 0 ... grade.count, 320 00:17:40,570 --> 00:17:45,120 hau sorta bat irudikatzen 0 biak barne grades.count den, 321 00:17:45,120 --> 00:17:49,260 kopuru hori dela ere esan nahi ondoren, tarte horretan sartzen. 322 00:17:49,260 --> 00:17:52,110 >> Baina hau ez da oso praktikoa Gauzak zehatza horietarako, 323 00:17:52,110 --> 00:17:54,590 denean egin behar dugu begizta baino gehiago iterazioak 324 00:17:54,590 --> 00:17:59,630 indizeak horiek zero indexatutako delako, beste hizkuntzetan ikusi dugun bezala 325 00:17:59,630 --> 00:18:02,360 baita. 326 00:18:02,360 --> 00:18:05,210 Honetako zalantzaren begizta for? 327 00:18:05,210 --> 00:18:10,660 >> Beraz, ez da definizio inplizitu da indizea aldagai horren, 328 00:18:10,660 --> 00:18:14,350 bere balioa 0 hasten da, eta begizta-iterazio bakoitzean jarraitzen 329 00:18:14,350 --> 00:18:17,950 1era eman areagotuko puntu bat arte Hori dela berdina grades.count, 330 00:18:17,950 --> 00:18:20,380 eta amaitzen da, begizta aborts. 331 00:18:20,380 --> 00:18:23,730 >> Iragarki gure kateekin dagoela Interpolazioa hemen, 332 00:18:23,730 --> 00:18:26,910 Egia esan, ez dugu erraz batzuk egin ditzake Horien manipulazio. 333 00:18:26,910 --> 00:18:31,230 Beraz indizea gehi 1 izango da benetan balio duten batzea egiteko 334 00:18:31,230 --> 00:18:34,780 indizea delako, in Kasu honetan, oso bat. 335 00:18:34,780 --> 00:18:37,810 Eta puntu horretan, izango da Ondoren katea bihurtuta 336 00:18:37,810 --> 00:18:42,230 eta kate hau sartu interpolatu hemen, eta inprimatutako espero ohi dugun bezala. . 337 00:18:42,230 --> 00:18:44,520 >> Eta gauza polita arrayetako buruz hemen da 338 00:18:44,520 --> 00:18:50,730 halaber, izan gai garela baloreak eskuratzea eta ezartzeko balioak 339 00:18:50,730 --> 00:18:54,080 kortxetea notazioa gisa erabiliz beste hizkuntza batzuetan ere ikusi dugu, baita. 340 00:18:54,080 --> 00:18:57,130 341 00:18:57,130 --> 00:19:01,030 >> Ondo da, beraz, hemendik aurrera, orain dugu konputatzeko gure gure kalifikazio guztien batuketa. 342 00:19:01,030 --> 00:19:02,780 Orain Sort hurrengoan urrats logikoa litzateke 343 00:19:02,780 --> 00:19:07,580 zatiketa ekintza aurrera eramateko aurkitzeko kalifikazio dutenen batezbestekoa atera. 344 00:19:07,580 --> 00:19:10,150 Baina zerbait garrantzitsua Hemen gertatzen ari da bertan 345 00:19:10,150 --> 00:19:15,020 da diru-kopuru hau da, beharbada, zenbaki osoa. 346 00:19:15,020 --> 00:19:18,020 Baina batzuk egin behar dugu zatiketa bikoitz moduko. 347 00:19:18,020 --> 00:19:20,600 Eta hau izango da oso garrantzitsua da 348 00:19:20,600 --> 00:19:24,140 Eragiketa hau egin nahi dugu, zer esaten ari garelako 349 00:19:24,140 --> 00:19:28,430 da benetan behar dugun zatiketa egiteko bi bikoitzak orrian. 350 00:19:28,430 --> 00:19:31,370 Eta berriro ere, Swift delako oso biziki idatziko da, 351 00:19:31,370 --> 00:19:36,760 Esplizituki guztiei ezarri behar dugu bikoizten elementuak ditugu aurretik benetan 352 00:19:36,760 --> 00:19:38,300 eragiketa lantzeko. 353 00:19:38,300 --> 00:19:40,550 >> Beraz, ordena gurekin zatiketa bikoitza egin, 354 00:19:40,550 --> 00:19:43,730 Ez da nahikoa besterik batentzat Elementu horietako bat bikoitza izan. 355 00:19:43,730 --> 00:19:46,400 Biak bat izan nahi du Swift ordena bikoitza 356 00:19:46,400 --> 00:19:50,860 Ziur hori izango da da, zer egin nahi dugun. 357 00:19:50,860 --> 00:19:54,360 Beraz, izango da, ondoren esplizituki typecast dugu batez ere kalkulatu ezin ditugu gehiketa 358 00:19:54,360 --> 00:19:58,970 eta bikoitzak to kalifikazio kondea, eta ondoren, eragiketa hori eta denda egiteko 359 00:19:58,970 --> 00:20:02,390 duten aldagai berri honetan sartu, edo, hobeto esanda, bataz izeneko konstante berri honetan, 360 00:20:02,390 --> 00:20:06,810 horrek zer mota, imajinatzen duzu izango? 361 00:20:06,810 --> 00:20:07,587 Bikoitza, bai. 362 00:20:07,587 --> 00:20:09,420 Beraz, kasu honetan, ez dugu ez dute zehaztu nahi 363 00:20:09,420 --> 00:20:13,450 Egilea inferi daitezkeenak delako Eragiketa zer datuen batezbesteko mota 364 00:20:13,450 --> 00:20:14,730 izango da. 365 00:20:14,730 --> 00:20:19,025 Eta Swift oro har, nahiko ona buruz moten inferitzeko gai izatea. 366 00:20:19,025 --> 00:20:22,116 367 00:20:22,116 --> 00:20:24,200 >> Ez hau ikusi nahi dituzun korrika egin, edo ezin, ibili naiz? 368 00:20:24,200 --> 00:20:25,640 Jarraitzea nahi dut. 369 00:20:25,640 --> 00:20:28,130 Honen Edozein galdera bat? 370 00:20:28,130 --> 00:20:28,630 Great. 371 00:20:28,630 --> 00:20:31,160 372 00:20:31,160 --> 00:20:35,010 >> Orain ari gara iritsi hasteko joan the stuff-- definitzeko funtzio onak, 373 00:20:35,010 --> 00:20:39,090 eta ez direla beste mota pare bat Swift berezia ez duzula 374 00:20:39,090 --> 00:20:41,620 beste hizkuntza batzuetan ere ikusi Orain arte, 375 00:20:41,620 --> 00:20:46,290 baina beste agertzen dira baliteke geroago aurkituko dituzu hizkuntzetan. 376 00:20:46,290 --> 00:20:48,210 Beraz, lehen nahi baduzu funtzio bat definitzea, 377 00:20:48,210 --> 00:20:52,170 zuk funky hitzarekin definitu funtzioa, eta, ondoren, funtzio izena, 378 00:20:52,170 --> 00:20:56,710 eta, ondoren, parentesi artean, argumentuak Funtzio hori onartu nahi duzula. 379 00:20:56,710 --> 00:21:00,280 Argumentuak, gainera, muztioa specify-- oro har 380 00:21:00,280 --> 00:21:05,010 halaber, datu-motak zehaztu behar dela , dira dute inferitu ezin direnean. 381 00:21:05,010 --> 00:21:07,500 Eta ikusiko dugu gutxi dagoela Pixka bat besterik Oharra. 382 00:21:07,500 --> 00:21:09,920 >> Beraz, kasu honetan bat egin behar dugu printGradeCount izeneko funtzioa. 383 00:21:09,920 --> 00:21:12,840 Onartzea goaz aldagai edo, kasu honetan, 384 00:21:12,840 --> 00:21:14,450 constant-- baten kalifikazio-liburua deitu. 385 00:21:14,450 --> 00:21:18,517 Eta hori da nahi izango ote zenbaki osoen array idazten. 386 00:21:18,517 --> 00:21:20,600 Orain ez dago zerbait hori oso garrantzitsua da hemen 387 00:21:20,600 --> 00:21:21,849 ulertu behar duzun dudala. 388 00:21:21,849 --> 00:21:27,560 Lehenetsi dela, argudio horiek da duten funtzio honetarako sarrera daude 389 00:21:27,560 --> 00:21:34,380 inplizitu let keyword batekin definitu, horrek esan nahi du ezin dudan aldatu honetan 390 00:21:34,380 --> 00:21:39,850 kalifikazio-liburua aldakorreko hemen. 391 00:21:39,850 --> 00:21:43,360 Eta hori ordenatu zentzua, Datu ari zaren pasatzen delako. 392 00:21:43,360 --> 00:21:45,860 Eta zuk, agian, ez dute nahi da to you azpian aldatuko dira. 393 00:21:45,860 --> 00:21:50,800 Posible da esplizituki aipatu hori aldakorra da jarriz 394 00:21:50,800 --> 00:21:52,070 var hitzarekin hemen. 395 00:21:52,070 --> 00:21:56,832 Baina hori gotcha hori duguna da Nabaritu pertsona iraganean egin dute 396 00:21:56,832 --> 00:21:59,790 dela joan dela suposatzen dutela aldagai bat izan denean, hain zuzen ere, 397 00:21:59,790 --> 00:22:02,640 konstante bat da. 398 00:22:02,640 --> 00:22:07,340 >> Ondo da, beraz, hemen, ondoren, kasu honetan, Ez gara edozein itzulera mota zehaztuz. 399 00:22:07,340 --> 00:22:09,460 Erakutsiko dugu nola egin une bat besterik ez dela. 400 00:22:09,460 --> 00:22:12,340 Baina hemen nabarituko dugula hausnartu besterik baldintza bada soil bat. 401 00:22:12,340 --> 00:22:14,560 Kalifikazio-liburuan badago hutsik, kasu honetan, zein 402 00:22:14,560 --> 00:22:19,310 besterik osokoa jabetza da array, ondoren, zerbait inprimatu dugu. 403 00:22:19,310 --> 00:22:23,100 Bestela, beste zerbait egin dugu. 404 00:22:23,100 --> 00:22:25,000 >> Nahiko erraza orain arte uste dut. 405 00:22:25,000 --> 00:22:27,960 Baina gelditu me edozein zalantza izanez gero. 406 00:22:27,960 --> 00:22:33,350 >> Orain funtzio hori, batez beste, ere hartzen argumentuak batzuk, edo argumentu bat baizik, 407 00:22:33,350 --> 00:22:37,507 bertan liburuan, eta oraingo honetan da mota bikoitz bat itzuli du. 408 00:22:37,507 --> 00:22:39,340 Informatika delako batez bestekoa, eta hori da 409 00:22:39,340 --> 00:22:45,010 benetan itzultzeko duten joan ordenagailu zenbakira deituz lerroan bestekoa. 410 00:22:45,010 --> 00:22:50,070 >> Kasu honetan, zehaztu dugu itzultzeko mota gezi baten ondoren. 411 00:22:50,070 --> 00:22:53,260 Eta hau sentitzen dezake bitxi mota lehen. 412 00:22:53,260 --> 00:22:55,610 Ohituta hazi haizen Bueltan bezala ezartzea 413 00:22:55,610 --> 00:22:57,720 funtzioaren izena aurretik idatzi. 414 00:22:57,720 --> 00:23:00,310 Baina honen uste baduzu matematika dagokionez, 415 00:23:00,310 --> 00:23:03,320 atsegin matematika duzu definitzen duten funtzioa, 416 00:23:03,320 --> 00:23:06,807 zenbait funtzio bat duzu Sarrerek, eta irteera bat sortzen da. 417 00:23:06,807 --> 00:23:08,890 Eta hori da hain zuzen honek suposatzen da imitatzen. 418 00:23:08,890 --> 00:23:12,460 Eta badira beste hizkuntza pare bat duten antzeko sintaxia izan baita, 419 00:23:12,460 --> 00:23:15,674 baina seguruenik ere ez dela Nik CS50 ikusi. 420 00:23:15,674 --> 00:23:17,090 Baina, oraindik ere, ez ote da nahastu. 421 00:23:17,090 --> 00:23:21,650 Gezi esan zer va Kasu honetan, ezin itzuli. 422 00:23:21,650 --> 00:23:23,650 Ados, beraz, nola goaz Batez besteko hori kalkulatzean? 423 00:23:23,650 --> 00:23:25,649 Beno, kalifikazio-liburua bada hutsik dago, bai gero gaude 424 00:23:25,649 --> 00:23:30,731 0 itzuliko da, eta horrek, agian joan zentzuzko modu batean hau tratatzeko. 425 00:23:30,731 --> 00:23:32,980 Ez dakit, horrek etortzen utzi atzera pixka bat ere. 426 00:23:32,980 --> 00:23:34,688 Zalantzarik gabe hori ez benetan zentzuzko modu bat izan 427 00:23:34,688 --> 00:23:38,310 Batez beste bada konputatu kalifikazio-liburuan huts bat daukagu. 428 00:23:38,310 --> 00:23:41,260 >> Ondoren, besterik ez dugu egingo gure summation egiteko. 429 00:23:41,260 --> 00:23:43,900 Ohartu, hemen dugu benetan ordezko baten bertsioa izan 430 00:23:43,900 --> 00:23:49,190 begizta, eta horri esker, batetik bestera joateko guretzat array batean elementu bakoitza bakar baino gehiago 431 00:23:49,190 --> 00:23:53,630 eta elementu bakoitzak jarri Bere aldakorra itzultzea. 432 00:23:53,630 --> 00:23:56,200 Kalifikazioa zehaztuz arabera kalifikazio-liburuan, esaten ari gara 433 00:23:56,200 --> 00:24:00,560 da ari garela inplizituki izeneko konstante berri bat sortu 434 00:24:00,560 --> 00:24:05,180 kalifikazioa hori irudikatzeko liburuan elementua berezia guztietan 435 00:24:05,180 --> 00:24:06,769 aldi bakoitzean begizta iterates for the. 436 00:24:06,769 --> 00:24:08,560 Beraz, lehen aldiz Honez exekutatu, nota izango 437 00:24:08,560 --> 00:24:09,800 liburuan lehenengo elementua izan. 438 00:24:09,800 --> 00:24:12,300 Bigarren aldiz egingo da etorri Bigarren elementua, beraz, eta abar 439 00:24:12,300 --> 00:24:15,970 kalifikazio-liburua dauka arte Agortu bera elementuen. 440 00:24:15,970 --> 00:24:20,390 Ondoren nahi duten laburbildu ahal izango diegu Gure summation aldakorra sartu kalifikazioa 441 00:24:20,390 --> 00:24:22,570 eta gure bataz itzultzeko Nik ikusi dugun bezala aurretik. 442 00:24:22,570 --> 00:24:25,670 443 00:24:25,670 --> 00:24:26,950 Ados, edozein galdera? 444 00:24:26,950 --> 00:24:27,699 Bai? 445 00:24:27,699 --> 00:24:28,990 Ikusleak: bi galdera ditut. 446 00:24:28,990 --> 00:24:33,586 Telefono zenbaki bat, hipotetikoki, ahal Bat honetan zenbaki oso exekutatu duzu? 447 00:24:33,586 --> 00:24:35,604 Ez dauka bat izan nahi du bikoitza, zuzena da hori? 448 00:24:35,604 --> 00:24:37,520 DAN AMRMENDARIZ: Ezin duzu Galdera hori errepikatzeko? 449 00:24:37,520 --> 00:24:39,587 IKUSLEEN: I egin zenbaki oso batez bestekoa eginez? 450 00:24:39,587 --> 00:24:41,670 DAN AMRMENDARIZ: Ezin duzu ez da zenbaki oso batez beste? 451 00:24:41,670 --> 00:24:45,015 Beraz itzultzeko zenbaki oso bat bataz ordez bikoitz bat? 452 00:24:45,015 --> 00:24:48,204 >> Ikusleak: itzuliko dizu eskubide hori orain azpitik izan. 453 00:24:48,204 --> 00:24:49,870 DAN AMRMENDARIZ: Hementxe, itzultzeko 0.0? 454 00:24:49,870 --> 00:24:51,790 Ikusleak: Bai, besterik gabe itzultzeko 0. 455 00:24:51,790 --> 00:24:56,590 Beraz, bai izango da 80 edo 85, baina ez 85,2. 456 00:24:56,590 --> 00:24:59,465 >> DAN AMRMENDARIZ: Beraz, kasu horretan, beraz, ez da pare bat modu ezberdinetan 457 00:24:59,465 --> 00:25:00,090 horri erantzuteko. 458 00:25:00,090 --> 00:25:02,760 Demagun horiek erantzun ahal izateko. 459 00:25:02,760 --> 00:25:06,740 Beraz, ez dut egin besterik ez bada itzulera honetan 0, 0 bat zenbaki oso bat da. 460 00:25:06,740 --> 00:25:09,730 Eta beraz, bat sortuko dute mota error kasu honetarako 461 00:25:09,730 --> 00:25:13,210 Da bikoitz bat espero delako baina, ondoren, zenbaki oso bat itzuli egin da. 462 00:25:13,210 --> 00:25:16,770 Osoko bat itzuli nahi badut, I can. 463 00:25:16,770 --> 00:25:20,450 Itzulera mota ezarri ahal izango dut int itzultzeko 0 hemen, 464 00:25:20,450 --> 00:25:22,047 eta ez zatiketa bikoitza egin. 465 00:25:22,047 --> 00:25:23,880 Baina orduan ez litzateke izango dugu Zatiketa egiten. 466 00:25:23,880 --> 00:25:27,080 Eta, beraz, ez dugu gero, ez litzateke lortuko du bataz litzateke dugun seguru espero. 467 00:25:27,080 --> 00:25:29,210 Baina bai alda dezakegu horrela motak. 468 00:25:29,210 --> 00:25:32,598 >> Ikusleak: Eta bigarrenik, Bat bikoitza dute gainean. 469 00:25:32,598 --> 00:25:35,502 Baina hor behean, duzunean ez itzultzeko Bikoitza 470 00:25:35,502 --> 00:25:38,280 hori dagoeneko automatikoki formatu bikoitza itzuli. 471 00:25:38,280 --> 00:25:42,278 Zergatik jarraitzen du zehaztu behar duzu gezi bikoitza batekin gainean? 472 00:25:42,278 --> 00:25:45,010 >> DAN AMRMENDARIZ: So kasu horretan, hau parte da 473 00:25:45,010 --> 00:25:50,580 ren the-- beraz, galdera errepikatu, Bueltan batetik inplizitua delako 474 00:25:50,580 --> 00:25:56,030 mota hemen, zer mota hau benetan da, Swift-ekin esplizituak izan behar dugu 475 00:25:56,030 --> 00:25:59,970 zer nahi dugun buruz itzultzeko egindako funtzio honen 476 00:25:59,970 --> 00:26:02,690 Idazten egiten da, beraz, egiaztapena, ziur egin ahal izango da 477 00:26:02,690 --> 00:26:05,850 zer benetan ari gara idazten duten Behean behera benetan duena darabil. 478 00:26:05,850 --> 00:26:10,225 Beraz moduko on txeke bat bezala zeuk Egoera multzo. 479 00:26:10,225 --> 00:26:11,050 Baina ez are-- 480 00:26:11,050 --> 00:26:12,560 >> Ikusleak: [INAUDIBLE] gezi? 481 00:26:12,560 --> 00:26:19,490 >> DAN AMRMENDARIZ: ez dira kasu inplizituki ahal dugun zehaztu ahal 482 00:26:19,490 --> 00:26:21,550 ezarri bueltan mota. 483 00:26:21,550 --> 00:26:23,940 Baina kasu honetan, ez dut Uste horretan lan egiteko. 484 00:26:23,940 --> 00:26:26,190 Ez dago beste sintaxia batzuk geroago ikusiko dugun. 485 00:26:26,190 --> 00:26:30,320 486 00:26:30,320 --> 00:26:35,280 >> Ondo da, beraz, iturri hau kodea pixka bat desberdina da 487 00:26:35,280 --> 00:26:41,839 hau parses argumentuak delako funtzioa deitzen ari gara. 488 00:26:41,839 --> 00:26:44,130 Utzi erakusteko nola funtzionatzen duen dugu aurretik, ibili 489 00:26:44,130 --> 00:26:48,050 Gauza interesgarri batzuk hori Swift gertatzen. 490 00:26:48,050 --> 00:26:51,870 >> Beraz, kasu honetan, exekutatu dut besterik ez bada hau kodea, konturatu egiten ari denaz 491 00:26:51,870 --> 00:26:54,900 is-- berriz, nolako error bitxi bat ematen dit. 492 00:26:54,900 --> 00:26:59,730 Pasatzeko pare bat behar dut Osoko zenbaki komando lerroko argumentu gisa. 493 00:26:59,730 --> 00:27:06,220 Beraz, ikus dezagun, 150 eta 80, eta sakatu Sartu jakiteko zer da benetan egiten. 494 00:27:06,220 --> 00:27:09,890 Bakoitzak Honez onartuz balio horiek zenbaki osoko bezala. 495 00:27:09,890 --> 00:27:12,040 Honez horiek inputting kalifikazio-liburua batean. 496 00:27:12,040 --> 00:27:14,470 Eta gero eszenikoen da bestekoaren kalkulua 497 00:27:14,470 --> 00:27:16,650 eta espero ohi dugun bezala duten irteera. 498 00:27:16,650 --> 00:27:19,950 >> Baina, jakina, ez da zerbait joan arbuiatzeko zerbait honekin on 499 00:27:19,950 --> 00:27:23,300 Zerbait osoko gisa. 500 00:27:23,300 --> 00:27:27,300 Geundenean tik baliteke gogoratzen gisa komando lerroko argumentuak aurre 501 00:27:27,300 --> 00:27:32,640 C eta beste hizkuntza batzuk, lehen ere Komando lerroko argumentu hori elementu 0-garren 502 00:27:32,640 --> 00:27:35,774 Zerrenda komandoaren izena da benetan exekutatu dugu. 503 00:27:35,774 --> 00:27:38,690 Beraz, kasu honetan, besterik ez naiz begizta dut komando lerroko argumentuak osoko. 504 00:27:38,690 --> 00:27:41,650 Baina ez dut inolako ameskeria moduko eginez gorako fakturazio saltatzeko bat lehenago. 505 00:27:41,650 --> 00:27:45,920 Besterik esplizituki naiz inplizituki naiz Mota horietako bertan egiaztapena 506 00:27:45,920 --> 00:27:49,900 osokoak dira I aurretik benetan konputazio hori egiteko. 507 00:27:49,900 --> 00:27:52,420 >> Eta hori da, funtsean, Zer ari da gertatzen. 508 00:27:52,420 --> 00:27:55,860 Ere Argumentu bakoitzarentzat Prozesu horrek argudioak, 509 00:27:55,860 --> 00:27:59,210 Txeke batzuk egiteko noa. 510 00:27:59,210 --> 00:28:01,970 Eta, kasu honetan, noa lehen bihurtzeko saiatu 511 00:28:01,970 --> 00:28:07,620 argumentu oso bat bilakatuz finkoa esplizitua bat egitean, 512 00:28:07,620 --> 00:28:12,310 , sarrera, kate bat delako eta ez, hain zuzen, zenbaki oso bat ere. 513 00:28:12,310 --> 00:28:18,140 >> Baina honek sintaxia bitxi baten antzeko zerbait da, utzi kalifikazioa berdinen Int (auzia). 514 00:28:18,140 --> 00:28:21,120 Zer da benetan gertatzen ari dena Hemen da oso 515 00:28:21,120 --> 00:28:24,390 Zure Swift erabiliz garrantzitsua. 516 00:28:24,390 --> 00:28:27,610 Hau da, zer da erabiliko aukerakoa mota bat deitu. 517 00:28:27,610 --> 00:28:34,790 >> Beraz, funtzio hau, Int (argudioa), ez soilik osoko bat, baina itzultzen itzultzen 518 00:28:34,790 --> 00:28:37,470 zer ari aukerakoa zenbaki oso bat deitzen. 519 00:28:37,470 --> 00:28:41,200 Eta, beraz, hau da Ordena mota baten gainean mota bat. 520 00:28:41,200 --> 00:28:45,900 Ordenatzeko imajinatu duzu Gustatu Honez pakete bat bezala itzuli. 521 00:28:45,900 --> 00:28:47,750 Eta noiz zabalduko duzula pakete, bai 522 00:28:47,750 --> 00:28:53,930 zenbaki oso bat, eta horrek ondorio da egiaztatu edo erabat bertan ez da ezer guztiak ditu. 523 00:28:53,930 --> 00:28:58,140 Eta hau da erroreen zainketa gisa erabilgarria mekanismoa, zeren kasu honetan 524 00:28:58,140 --> 00:29:02,080 jakin ahal izango dugu, hau izan zen motak bihurtzeko arrakasta? 525 00:29:02,080 --> 00:29:05,810 Hala balitz, orduan da hain zuzen ere, barruan zenbaki oso bat izan behar da. 526 00:29:05,810 --> 00:29:08,750 Bestela nik batzuk izan joan balio zero, deitu dugu bertan 527 00:29:08,750 --> 00:29:10,920 zenbaki oso no ordezkari guztietan dago. 528 00:29:10,920 --> 00:29:13,270 Benetan da ez da ezer ordezkari. 529 00:29:13,270 --> 00:29:18,130 >> Eta beraz, eraikuntza balitz honetan aukera ematen duten pakete Unwrap digu, 530 00:29:18,130 --> 00:29:19,850 hautazkoa loteslea. 531 00:29:19,850 --> 00:29:25,560 Eta hori Unwrap gai gara pakete eta zenbaki oso bat aurkituko barruan, 532 00:29:25,560 --> 00:29:27,720 orduan zer esaten ari gara Hemen da gero izango dugun 533 00:29:27,720 --> 00:29:33,090 ahalbidetzen balio horretara sartu ezarri konstante kalifikazioa deitzen. 534 00:29:33,090 --> 00:29:36,590 Eta adierazpen bada zati hau, goi adierazpen bada zatia 535 00:29:36,590 --> 00:29:40,390 , exekutatu egingo duten delako unwrap arrakastatsua izan zen. 536 00:29:40,390 --> 00:29:43,290 >> Besterik ez da gertatzen hori bada Oker bat izan zen agian 537 00:29:43,290 --> 00:29:47,040 esplizitua motak bihurtzeko honetan kate batetik zenbaki oso bat, agian, 538 00:29:47,040 --> 00:29:49,160 balio adibidez ABC da. 539 00:29:49,160 --> 00:29:52,120 Eta hori da, egia esan, ez joan zenbaki oso bat bihurtzeko. 540 00:29:52,120 --> 00:29:55,520 Ondoren nil itzuliko da, eta hori ez da zenbaki osoa. 541 00:29:55,520 --> 00:29:57,570 Eta adierazpen bada hau bai gero huts egin. 542 00:29:57,570 --> 00:30:01,930 kalifikazioa izango ez delako existitzen zenbaki oso ez du edukirik da. 543 00:30:01,930 --> 00:30:06,391 Eta beste bloke horren ordez exekutatu izango da. 544 00:30:06,391 --> 00:30:06,890 Bai? 545 00:30:06,890 --> 00:30:09,652 >> Ikusleak: Nil N-I-L da? 546 00:30:09,652 --> 00:30:11,110 DAN AMRMENDARIZ: nil N-I-L da, bai. 547 00:30:11,110 --> 00:30:14,970 548 00:30:14,970 --> 00:30:20,310 >> Beraz, hau da, agian, bat Swift buruzko gauza gogorrena, 549 00:30:20,310 --> 00:30:23,690 batez ere Oraindik duzun IOS aplikazio bat belar 550 00:30:23,690 --> 00:30:27,442 eta benetan saiatzen ari zaren garapen batzuk ez egitea. 551 00:30:27,442 --> 00:30:29,400 Honez izango garrasika joan aukerakoa inguru duzu. 552 00:30:29,400 --> 00:30:33,050 Honez izango duzu eskatuz joan galdera ikurrak, harridura puntu. 553 00:30:33,050 --> 00:30:37,100 Baina behin out-- baduzu irudikatu denbora pixka bat eskaintzeko kalkulatzen den 554 00:30:37,100 --> 00:30:41,990 zer ari den gertatzen aukerakoa motak, gorde zeure burua ikusiko duzu buruko mina asko 555 00:30:41,990 --> 00:30:46,040 saiatzen ari zaren bezala Swift aplikazio bat idatzi. 556 00:30:46,040 --> 00:30:47,660 >> Egia esan, ezaugarri oso indartsu bat. 557 00:30:47,660 --> 00:30:49,826 Eta besterik ez dituzu behar da nire hitza hartu oraingoz. 558 00:30:49,826 --> 00:30:52,620 Baina ikusiko dugu eraikuntza honetan eta beste batzuk nahi da 559 00:30:52,620 --> 00:30:56,740 Beste iturburu kodearen batzuetan erakutsi dugu pixka bat besterik ez da. 560 00:30:56,740 --> 00:31:00,440 >> Ba al dago hemen edozein hasierako galdera? 561 00:31:00,440 --> 00:31:03,790 562 00:31:03,790 --> 00:31:08,690 Beraz eramateko garrantzitsu bat da aukerakoa mota metatype moduko bat da. 563 00:31:08,690 --> 00:31:12,500 Edo balioa du, eta egiten badu, orduan 564 00:31:12,500 --> 00:31:18,110 ukanen dute balio duten elkartuak horrekin batera, edo daukan balio inolako, 565 00:31:18,110 --> 00:31:19,620 eta zero arabera diguten moduan. 566 00:31:19,620 --> 00:31:24,210 567 00:31:24,210 --> 00:31:28,870 Hau gainerako da agian espero bezala. 568 00:31:28,870 --> 00:31:32,900 >> Hargatik arrapala du Zailtasun berriro. 569 00:31:32,900 --> 00:31:37,070 Eta oraingoan, dezagun batzuk begirada bat hori benetan existitzen beste datu motak. 570 00:31:37,070 --> 00:31:41,290 Horietako bat hiztegiak da, hau da, Oso Python hiztegiak antzekoa. 571 00:31:41,290 --> 00:31:48,270 Zertxobait hash taula bat antzekoa da C. Da funtsean gakoak mapaketa azaltzen 572 00:31:48,270 --> 00:31:49,820 non giltzak kateak izan daiteke. 573 00:31:49,820 --> 00:31:52,670 Eta noiz ireki gako hauetako begiratuz, gako hauetako balioa izango du. 574 00:31:52,670 --> 00:31:56,020 Beraz, ez da array bat nahiko, baina ordez, estuago lotutako 575 00:31:56,020 --> 00:31:58,810 hash mapa bat edo hash taula batean. 576 00:31:58,810 --> 00:32:02,420 >> Ikus dezagun nola hau da, ustezko utzi dugu aurretik lan benetan 577 00:32:02,420 --> 00:32:05,210 Iturburu-kodea berak sartu. 578 00:32:05,210 --> 00:32:07,680 Exekutatu dut besterik ez bada hau, ezer benetan gertatzen. 579 00:32:07,680 --> 00:32:12,430 Me da kontatzeko hori espero dut Honako mota parametro batzuk. 580 00:32:12,430 --> 00:32:16,050 Beraz, nik ematen dut arazoa ezarri izen batzuk, 581 00:32:16,050 --> 00:32:18,490 beraz pset0, agian, 100 lortu nuen. 582 00:32:18,490 --> 00:32:20,790 Eta pset1, lortu dut 5 bat. 583 00:32:20,790 --> 00:32:24,630 Eta gero, azterketa, I egin du, oso ondo, eta lortu 30. 584 00:32:24,630 --> 00:32:27,180 Eta trabatzen, espazio bat hit dut hemen. 585 00:32:27,180 --> 00:32:30,940 >> Sartu hit I, ikusi ahal izango duzu konputazio batzuk bete behar ditu. 586 00:32:30,940 --> 00:32:33,740 Kalifikazio-liburua hiru da esaten da kalifikazio, pset1, pset0, azterketa. 587 00:32:33,740 --> 00:32:36,120 Eta liburuan gordetzen ditu bataz partida honetan. 588 00:32:36,120 --> 00:32:38,370 Beraz, berriro ere, lanean ari gara kalifikazio-liburua ideia honekin, 589 00:32:38,370 --> 00:32:44,650 baina ari gara errepikatzean jarraituko du Gure funtzioa konplexutasuna. 590 00:32:44,650 --> 00:32:47,650 >> Beraz agerpena, besterik ez gara funtzio bat sortzen joan direla 591 00:32:47,650 --> 00:32:49,390 da erabilera inprimatzeko erantzule. 592 00:32:49,390 --> 00:32:51,920 Eta han irteera hau da Funtzio Horrek besterik 593 00:32:51,920 --> 00:32:53,710 indarrez aplikazioa utzi. 594 00:32:53,710 --> 00:32:56,530 Hau ez da zerbait egingo iOS app ere erabili behar dituzu. 595 00:32:56,530 --> 00:32:59,750 Hau da, bakarrik, kasu honetan, komando lerroko argumentu batekin. 596 00:32:59,750 --> 00:33:01,990 Hurrengo Xcode aldera mugitzen hasi beharko dugu. 597 00:33:01,990 --> 00:33:07,760 Baina hau ez da agindu bat partida lerro estilo programa Swift ere. 598 00:33:07,760 --> 00:33:11,490 >> Ikus dezagun begirada bat batzuk gauza interesgarri hemen. 599 00:33:11,490 --> 00:33:15,150 Ikus, pare bat bakarrik utzi Gauza interesgarri agian aipatzearren 600 00:33:15,150 --> 00:33:19,930 da nire funtzioa ere kalifikazio kopurua inprimatzeko, 601 00:33:19,930 --> 00:33:26,090 Zerrenda hori izan dut gogoratzen dezakezu items-- pset1, pset0, eta azterketa. 602 00:33:26,090 --> 00:33:29,130 Benetan azkar ahal duzun eta erraz egin 603 00:33:29,130 --> 00:33:34,490 liburuan, hau da, bat hartuz hiztegi bertan gakoak eta balioak. 604 00:33:34,490 --> 00:33:38,730 Gakoa aurkitzen guztietan barrena da dot gakoak metodoaren hemen, 605 00:33:38,730 --> 00:33:43,180 eta gero joinWithSeparator hau erabiltzeko, eta gero gako guztiak hartuko 606 00:33:43,180 --> 00:33:48,590 ditugu idatzitako zuen, pset1-- edo Barkatu, pset0, pset1, eta exam-- 607 00:33:48,590 --> 00:33:53,030 eta kateatu horiek elkarrekin Koma bat eta espazio bat erabiliz 608 00:33:53,030 --> 00:33:55,400 kate luzea sortzeko. 609 00:33:55,400 --> 00:34:00,190 Batzeko eragiketa hau besterik ez da phenomenally testuinguru desberdinak ere erabilgarria. 610 00:34:00,190 --> 00:34:03,450 Eta beraz joinWithSeparator hau da. 611 00:34:03,450 --> 00:34:06,939 >> Eta hori gauza bat da hori da Swift 1etik Swift 2 aldatu. 612 00:34:06,939 --> 00:34:08,730 Han izan ohi Python estiloa bazaude 613 00:34:08,730 --> 00:34:13,219 Python-- Python bat ezagutzen style batu metodoa kateak. 614 00:34:13,219 --> 00:34:15,699 Baina hori ez da jada Swift 2 kasu. 615 00:34:15,699 --> 00:34:19,400 Hau erabili nahi izanez gero bete nahi al duzu stuff sorta batekin kateatu 616 00:34:19,400 --> 00:34:23,380 elkarrekin kate batekin. 617 00:34:23,380 --> 00:34:27,889 >> Beraz, agian, ondoren, gure bataz eztabaida aurretik, 618 00:34:27,889 --> 00:34:32,659 zentzu pixka bat gehiago egiten du batez besteko funtzioa ezartzeko gurekin 619 00:34:32,659 --> 00:34:36,610 aukerakoa bikoitz bat baizik izan nahi du bikoitza esplizitua bat baino. 620 00:34:36,610 --> 00:34:39,239 Izan delako garela baldintza ezohiko non, 621 00:34:39,239 --> 00:34:41,550 zer kalifikazio-liburua benetan bada ditu bere baitan balioak no? 622 00:34:41,550 --> 00:34:44,280 Zer bataz bueltan egin beharko lukete? 623 00:34:44,280 --> 00:34:46,350 >> Beno, agian C duzun Zerbait egingo luke 624 00:34:46,350 --> 00:34:50,040 Eskainitako Sentinel balioa, like like 0.0, edo, agian, zenbaki negatiboak, 625 00:34:50,040 --> 00:34:53,690 edo zerbait besterik Izan ere, ordezkari Ez zela error baldintza batzuk 626 00:34:53,690 --> 00:34:57,910 eta agian ez dute benetan gaitasuna batez besteko hori kalkulatzeko. 627 00:34:57,910 --> 00:35:05,590 Beno zehaztuz edertasuna aukerakoa mota hori egin ahal izango litzateke. 628 00:35:05,590 --> 00:35:09,540 Eta orain, hitz horiek guztiak esaten dut, baina hau benetan ez du aukerako erabili. 629 00:35:09,540 --> 00:35:12,970 Baina ikusiko dugu besterik direla minutu non batez besteko ezarri ahal izango ditugu 630 00:35:12,970 --> 00:35:17,230 Datu mota aukerakoa bat da, beraz, izango da egia esan, datu batzuk, gero itzultzen bada 631 00:35:17,230 --> 00:35:18,470 Datu hori itzultzeko aukera izango dugu. 632 00:35:18,470 --> 00:35:20,570 Bestela itzuliko gara nil, hori esanez 633 00:35:20,570 --> 00:35:22,200 no konputazio esanguratsuak ditu. 634 00:35:22,200 --> 00:35:25,650 635 00:35:25,650 --> 00:35:28,570 >> Dezagun aurrera eta beste zerbait. 636 00:35:28,570 --> 00:35:35,910 Beraz, hemendik aurrera, dugu begira komando lerroan adibide horiek guztiak. 637 00:35:35,910 --> 00:35:39,470 Baina benetan zer ari zaren izango aurre Xcode da. 638 00:35:39,470 --> 00:35:43,720 Eta buruz gauza polit bat Xcode da, eta zehazki, Swift-en, 639 00:35:43,720 --> 00:35:47,450 da hau dugula Playground bat izeneko gauza. 640 00:35:47,450 --> 00:35:51,470 Eta parkea da Ez guztiak iOS app bikainean. 641 00:35:51,470 --> 00:35:54,751 Baina esperimentu aukera ematen du Oso modu erraz batean Swift batera. 642 00:35:54,751 --> 00:35:56,000 Zure kode guztia idatz dezakezu. 643 00:35:56,000 --> 00:35:58,140 Honez nicely sintaxia hemen nabarmenduta. 644 00:35:58,140 --> 00:36:01,600 Bein fitxategi berri bat sortzen duzunean, eskatu egingo da parkea sortu nahi baduzu. 645 00:36:01,600 --> 00:36:08,720 Baina Playground buruz gauza polita dela zure leihoaren eskuinaldean, 646 00:36:08,720 --> 00:36:12,020 du benetan erakusteko duzu Zure kodea irteera hau. 647 00:36:12,020 --> 00:36:16,110 Beraz, behera joan badut, zer ikusi ahal izango dugu Kode lerro hainbat aginduaren irteera 648 00:36:16,110 --> 00:36:17,200 benetan gertatzen den bezala. 649 00:36:17,200 --> 00:36:19,850 650 00:36:19,850 --> 00:36:26,790 >> Beraz, kasu honetan, goaz aldatu norabideetan pixka bat besterik ez 651 00:36:26,790 --> 00:36:30,960 eta hori da benetan zertaz hitz egin Maila handiko bide hau garrantzitsua 652 00:36:30,960 --> 00:36:34,020 Swift du, eta horren funtzionatzen bajen ideia hori da. 653 00:36:34,020 --> 00:36:36,960 Eta seguruenik duzu ikusi Ikusteko Javascript-a apur bat. 654 00:36:36,960 --> 00:36:40,770 Duzuenontzat horretarako CS50 daude, bajen 655 00:36:40,770 --> 00:36:47,240 oso ezagunak dira, egiteko modu oso ona mailako hizkuntza modernoetan gauzak. 656 00:36:47,240 --> 00:36:50,270 Baina, era berean, mota horretako zaila da Zure burua biltzeko lehen aldiz inguruan. 657 00:36:50,270 --> 00:36:52,269 Beraz, bada bila honetan duzu Lehen aldiz, OK. 658 00:36:52,269 --> 00:36:56,740 Just jatorrizko kodean begiratu eta ikusi da irudikatu dezakezu etxean bada. 659 00:36:56,740 --> 00:37:01,050 >> Beraz, kasu honetan, demagun horren dugu adierazlerik asko sortu nahi 660 00:37:01,050 --> 00:37:04,134 balio finko batzuk. 661 00:37:04,134 --> 00:37:05,800 Beraz, kasu honetan, funtzio bat sortu ahal izango dut. 662 00:37:05,800 --> 00:37:09,270 Boterea deitu noa 2. helburua bizitza zeinen mihi 663 00:37:09,270 --> 00:37:15,770 sarrera batzuk eta bikoitza hartu da, eta itzultzeko balio duten. 664 00:37:15,770 --> 00:37:21,210 Iragarki hemen naizela Datu mota bat onartuz. 665 00:37:21,210 --> 00:37:23,137 Honez izeneko x aldagai bat izango da. 666 00:37:23,137 --> 00:37:23,970 Mota bikoitz ditu. 667 00:37:23,970 --> 00:37:26,190 Eta ez dut bikoitza bat itzuli behar da hemen. 668 00:37:26,190 --> 00:37:29,100 Eta besterik ez dut egin behar oso, Egia, nahiko 669 00:37:29,100 --> 00:37:32,650 balio hau bikoiztu modu inozoa. 670 00:37:32,650 --> 00:37:35,600 Eta zuk zergatik honetan erakutsi dut segundo bat besterik ez da erabilgarria. 671 00:37:35,600 --> 00:37:40,418 >> Ohartu, hemen sorta hau dugu berriro. 1 zerbait, dot for 672 00:37:40,418 --> 00:37:44,130 dot dot, 2, eta horrek esan nahi du, begizta hau birritan ihes egingo. 673 00:37:44,130 --> 00:37:46,480 Baina hau Aldagaia bat adierazten du. 674 00:37:46,480 --> 00:37:49,650 Ez naiz benetan joan dela esan nahi du aldagai hori edonon erabiliz 675 00:37:49,650 --> 00:37:51,070 begizta honen barruan. 676 00:37:51,070 --> 00:37:55,380 Lerro hau nahi dut kodearen birritan exekutatu, 677 00:37:55,380 --> 00:37:58,980 jakin beharrik gabe Sorta duten balioa. 678 00:37:58,980 --> 00:38:02,570 >> Beraz, kasu honetan emaitza dut exekutatzen aldiz x birritan, funtsean 679 00:38:02,570 --> 00:38:06,560 esan nahi du, balio honek squaring naiz. 680 00:38:06,560 --> 00:38:10,230 Eta hau gertatzen den lan espero ohi dugun bezala. 681 00:38:10,230 --> 00:38:16,410 Power of 2, balioa bat pasatzen 2,0 4 irteera bat ematen digu. 682 00:38:16,410 --> 00:38:18,810 3.2 10.24 lanak. 683 00:38:18,810 --> 00:38:22,660 >> Orain antzeko bat egin ahal izango dugu 3 boterea gauza. 684 00:38:22,660 --> 00:38:25,330 Baina orain gama bakarrik aldatzeko. 685 00:38:25,330 --> 00:38:28,840 1 in Aldagaia For 3 bidez, biderkatu 3 aldiz, 686 00:38:28,840 --> 00:38:29,830 eta gauza bera egin. 687 00:38:29,830 --> 00:38:32,240 >> Beraz, hau, apur bat okerrago sentitzen dezake. 688 00:38:32,240 --> 00:38:34,270 Baina ez da garrantzitsua izan Gauza hemen bertan 689 00:38:34,270 --> 00:38:37,770 da horiek aztertzen ari direla bi funtzio, ez da 690 00:38:37,770 --> 00:38:43,600 Gauza bat bakarra hori da desberdina, bertan barrutia balio hau da. 691 00:38:43,600 --> 00:38:46,910 Dena bi horiei buruz beste funtzioak, 3 boterea eta 2 potentzia, 692 00:38:46,910 --> 00:38:50,440 dira, hain zuzen ere, zeren berdin- modu berean lan egiten dute. 693 00:38:50,440 --> 00:38:53,460 >> Beraz, puntu honetan, apur bat alarma kanpai joan behar off. 694 00:38:53,460 --> 00:38:56,200 , Zorionez, zer esaten ari zaren Dakizuenez, hau pixka bat sentitzen 695 00:38:56,200 --> 00:38:59,250 Ahalegin bikoizketa bezala. 696 00:38:59,250 --> 00:39:02,950 Agian ez dago modu bat da nuke izan hau guztia enkapsulatu gai 697 00:39:02,950 --> 00:39:06,630 eta funtzio bat ematen edo funtzio bat sortzen duten 698 00:39:06,630 --> 00:39:11,550 du zehazki zer gabeko nahi dut berriro idatzi egindako esplizituki beharrik. 699 00:39:11,550 --> 00:39:15,732 Eta hau zer boterea da itxiera baten egiteko aukera ematen digu. 700 00:39:15,732 --> 00:39:16,940 Beraz, dezagun begirada bat. 701 00:39:16,940 --> 00:39:18,700 Eta pare bat pasatzeko dut honetako minutura, hau delako 702 00:39:18,700 --> 00:39:20,310 polita da Swift garrantzitsua. 703 00:39:20,310 --> 00:39:22,900 Hau ikusten dugu denbora guztian. 704 00:39:22,900 --> 00:39:24,550 Funtzio bat definitzen goaz. 705 00:39:24,550 --> 00:39:26,380 Honez powerOf deitu behar da. 706 00:39:26,380 --> 00:39:29,470 Honez bat onartzeko joan parametro-mota int y izeneko. 707 00:39:29,470 --> 00:39:32,220 Baina bueltan mota begirada bat hartu. 708 00:39:32,220 --> 00:39:38,730 Itzultzeko mota da, in parentesi, bikoitza gezi bikoitza. 709 00:39:38,730 --> 00:39:43,370 Horrek esan nahi du funtzio hori, Funtzio powerOf honetan, 710 00:39:43,370 --> 00:39:46,550 funtzio bat itzuli egin da. 711 00:39:46,550 --> 00:39:50,845 Hori bikoitza onartuz eta bikoitza bat itzuli. 712 00:39:50,845 --> 00:39:53,720 Beraz, mota soinua ero, baina dezagun joan behera pixka bat 713 00:39:53,720 --> 00:39:55,060 eta begiratu zer gertatzen den ikusteko. 714 00:39:55,060 --> 00:39:57,910 Funtzio powerOf honen barruan gaude. 715 00:39:57,910 --> 00:40:00,760 Funtzio berri bat sortzen ari gara exponentiator deitzen, 716 00:40:00,760 --> 00:40:02,900 baina ez du axola zer da. 717 00:40:02,900 --> 00:40:06,410 >> Iragarki hori dauka sarrerako x balioa. 718 00:40:06,410 --> 00:40:09,910 Eta bikoitzean dago hartuz eta bikoitza bat itzuli. 719 00:40:09,910 --> 00:40:16,320 Eta hori bera da dugun Ikusi berria, 2 balioa izan ezik 720 00:40:16,320 --> 00:40:20,060 edo 3 balioa, hori goiko sorta horretan aritzeko, 721 00:40:20,060 --> 00:40:23,210 izan ordez batera y balioa hau, eta horrek 722 00:40:23,210 --> 00:40:27,230 Hasierako parametroa zen Gure powerOf funtzioa. 723 00:40:27,230 --> 00:40:31,700 Eta puntu honetan, ez dugu itzultzeko exponentiator. 724 00:40:31,700 --> 00:40:33,345 Funtzioa itzultzen ari gara. 725 00:40:33,345 --> 00:40:36,300 726 00:40:36,300 --> 00:40:39,550 >> Mota da apur bat kontuan Herrigintza bezalakoa da. 727 00:40:39,550 --> 00:40:44,360 Baina demagun orain zer gertatzen den denean funtzio hau deitu dut powerOf 728 00:40:44,360 --> 00:40:47,610 eta bertan sartzen 2 bezalako balio batzuk pasatzeko. 729 00:40:47,610 --> 00:40:50,020 Zer esan nahi duten Orain balio daukat 730 00:40:50,020 --> 00:40:55,130 2 y for, horrek esan nahi du, balio hori exponentiator funtzio honetan y 731 00:40:55,130 --> 00:40:56,410 2 balio hori izango da. 732 00:40:56,410 --> 00:41:01,290 Baina hau dut itzuli exponentiator funtzioa. 733 00:41:01,290 --> 00:41:05,900 >> Beraz, konturatu Swift zer esan nuen dute kasu honetan sortu. 734 00:41:05,900 --> 00:41:10,550 utzi plazan dago definizio bat, da, Binakako onartzen duen funtzioa 735 00:41:10,550 --> 00:41:12,610 eta itzultzen bikoitza. 736 00:41:12,610 --> 00:41:16,590 Funtzio bat sortu dut plazak, zerbait 737 00:41:16,590 --> 00:41:19,782 Mekanismo hau erabiliz hementxe. 738 00:41:19,782 --> 00:41:22,490 Eta benetan zer gertatzen ari da Funtzio honek itzuli egingo duela 739 00:41:22,490 --> 00:41:26,390 exponentiator, baina balio hau y horren barruan bilduta dago. 740 00:41:26,390 --> 00:41:31,080 Eta beraz, orain denbora guztietan erabili dut honetan aldagai edo konstante hau deitzen 741 00:41:31,080 --> 00:41:35,180 plazan, joan egiten da funtzio baten gisa portatzen. 742 00:41:35,180 --> 00:41:39,960 Eta beraz, I, gero, deitu daiteke aldagai hori bezalako funtzio bat deitu nuke, 743 00:41:39,960 --> 00:41:43,830 eta bertan sartu kopuru bat gainditu, Kasu honetan 3 bezala. 744 00:41:43,830 --> 00:41:45,910 Eta gero plazan egingo dut balio hau. 745 00:41:45,910 --> 00:41:53,340 Beraz, 3 egingo karratu gero bihurtu 9 gisa dugu hemen ikusi ahal izango dira. 746 00:41:53,340 --> 00:41:56,530 >> Benetan crazy, baina honek orain aukera ematen dit 747 00:41:56,530 --> 00:41:59,040 beste powerOf funtzio sortzeko. 748 00:41:59,040 --> 00:42:03,680 Esan dezaket bezala, OK, ondo hasi nahi dut funtzio berri bat sortu nahi da, powerOf (3), 749 00:42:03,680 --> 00:42:06,290 eta denda batean sartu dela izeneko kubo etengabeko. 750 00:42:06,290 --> 00:42:10,220 Eta orain kubo dago bat izango da aparteko funtzioa izango duten gero 751 00:42:10,220 --> 00:42:14,800 sarrera eta kubo gisa balio batzuk hartzen dituzten balio bezala, beheko lerroa ikus dezakegu 752 00:42:14,800 --> 00:42:16,420 hemen. 753 00:42:16,420 --> 00:42:18,590 Guztira: 2 kubo da 8 eragin doa. 754 00:42:18,590 --> 00:42:21,330 755 00:42:21,330 --> 00:42:22,680 >> Zorionez nahiko garbia stuff. 756 00:42:22,680 --> 00:42:25,920 Inoiz ez duzu ikusi ahal izan da. 757 00:42:25,920 --> 00:42:29,990 Nahi bajen begiratu animatzen dut eta ikertzeko hau pixka bat gehiago. 758 00:42:29,990 --> 00:42:33,570 Honez gauza benetan boteretsu asko ikusi ditugu Ikusteko Javascript-a eta beste zenbait hizkuntzatan. 759 00:42:33,570 --> 00:42:37,160 Benetan funtsezkoa APIak ulertzeko baita 760 00:42:37,160 --> 00:42:38,620 egingo dugun iristeko bigarren batean. 761 00:42:38,620 --> 00:42:39,456 Bai? 762 00:42:39,456 --> 00:42:43,740 >> Ikusleak: Noiz egin nahi duzu powerOf (2), parentesi, eta, ondoren, 763 00:42:43,740 --> 00:42:48,764 parentesi beste, input-- beste Funtsean plazan ordezkatuz duzu. 764 00:42:48,764 --> 00:42:50,930 DAN AMRMENDARIZ: Beraz, itxura azken lerro hemen. 765 00:42:50,930 --> 00:42:55,930 Benetan da guztiz posible egin iradoki bezala kateatzea hori. 766 00:42:55,930 --> 00:43:00,990 Beraz powerOf (5) esan ari garela 5 exponentiator bat izatea hemen. 767 00:43:00,990 --> 00:43:04,160 Beraz, hau da, funtsean izango da Gauza bera 4 bosgarren boterera, 768 00:43:04,160 --> 00:43:07,200 dugu exponentiating bat sortu duelako Bosgarren botere funtzionatzeko, 769 00:43:07,200 --> 00:43:09,920 eta ari sartu pasatzen dugu Hori funtziona 4 balioa. 770 00:43:09,920 --> 00:43:12,619 Eta balio hori lortuko dugu espero dugu 1024. 771 00:43:12,619 --> 00:43:14,785 Ikusleak: Eta ez da bat izendatzeko, errazagoa egiten du 772 00:43:14,785 --> 00:43:16,570 irakurtzeko, plazaren edozein dela ere. 773 00:43:16,570 --> 00:43:17,903 >> DAN AMRMENDARIZ: Eskuin, zehazki. 774 00:43:17,903 --> 00:43:21,120 Beraz, ez dut jarri aurretik, besterik ez da konstante bat hemen orain sartu 775 00:43:21,120 --> 00:43:23,808 Egin dela izen hori erabili erraza. 776 00:43:23,808 --> 00:43:24,308 Bai? 777 00:43:24,308 --> 00:43:26,942 >> Ikusleak: Testuinguru honetan powerOf, parte da 778 00:43:26,942 --> 00:43:30,774 programazio hizkuntzaren Bidean duzu ez bezala 779 00:43:30,774 --> 00:43:33,952 powerOf uste [INAUDIBLE] in? 780 00:43:33,952 --> 00:43:35,660 DAN AMRMENDARIZ: So Kasu honetan, powerOf 781 00:43:35,660 --> 00:43:39,280 Besterik gabe, izena da funtzio hori sortu hemen definitu dut. 782 00:43:39,280 --> 00:43:41,801 Beraz, ez da berez dagozkion hizkuntza bera, 783 00:43:41,801 --> 00:43:43,550 baina horren ordez, besterik ez da duela funtzio bat 784 00:43:43,550 --> 00:43:45,628 izen dudala eman delako izen hori. 785 00:43:45,628 --> 00:43:48,770 786 00:43:48,770 --> 00:43:51,920 Beste edozein galdera? 787 00:43:51,920 --> 00:43:52,800 Ados. 788 00:43:52,800 --> 00:43:54,750 >> Azken hau da, handia. 789 00:43:54,750 --> 00:43:58,170 Baina ez duzu bat ikusteko joan itxiera funtzio asko dagoela 790 00:43:58,170 --> 00:44:03,440 horrela dira bertan definituko duzu, barruan funtzio bat, funtzio bat da. 791 00:44:03,440 --> 00:44:04,320 Eta gauza bera egin dezakezu. 792 00:44:04,320 --> 00:44:06,430 Baina mota da, ez Benetan beharrezkoa da, ezta? 793 00:44:06,430 --> 00:44:09,189 Zergatik ez nuen definitzeko honetan Like exponentiator izeneko funtzio 794 00:44:09,189 --> 00:44:10,480 eta ondoren, berehala itzuliko da. 795 00:44:10,480 --> 00:44:15,220 Zergatik ezin berehala besterik ez dut Funtzio hau itzultzeko? 796 00:44:15,220 --> 00:44:18,890 >> Eta hain zuzen ere, hau da, hain zuzen izeneko kontzeptu bat atzean ideia 797 00:44:18,890 --> 00:44:22,410 funtzio anonimoak, non funtzio anonimoak ez benetan 798 00:44:22,410 --> 00:44:25,270 dutelako izen bat eduki ez dute zertan bat izatea. 799 00:44:25,270 --> 00:44:28,700 Eta, beraz, kasu honetan, 7B ere, hain zuzen ere, aurki ditzakegu. 800 00:44:28,700 --> 00:44:31,470 Kode bera gertatzen da, zehazki gauza bera egiten du, 801 00:44:31,470 --> 00:44:35,570 baina orain zertxobait aldatu dugu, beraz, Hori powerOf funtzio hau berehala 802 00:44:35,570 --> 00:44:37,750 funtzio bat itzultzen du. 803 00:44:37,750 --> 00:44:44,150 Oharra bueltan ondoren, Han giltza ikusteko dago. 804 00:44:44,150 --> 00:44:46,410 Sarrera hau bikoitza da espero da. 805 00:44:46,410 --> 00:44:48,560 Irteera hori bikoitza espero da. 806 00:44:48,560 --> 00:44:52,175 Eta gero ere hitzarekin Kodea berez bereizten ditu. 807 00:44:52,175 --> 00:44:53,550 Beraz, funtzio anonimo bat da. 808 00:44:53,550 --> 00:44:57,030 Ez du benetan izenik, berriz, egiten exponentiator izeneko aurretik zen. 809 00:44:57,030 --> 00:45:00,229 Baina, ikusi dugun bezala, besterik gabe, benetan ez zuen aipatzen exponentiator 810 00:45:00,229 --> 00:45:01,270 Funtzio hori kanpo. 811 00:45:01,270 --> 00:45:02,470 Beraz, ez du axola. 812 00:45:02,470 --> 00:45:06,300 Beraz, funtzio anonimoa izango da deiturikoak izenik delako, 813 00:45:06,300 --> 00:45:09,107 baina oraindik erabiltzen ari Kode honen testuinguruan. 814 00:45:09,107 --> 00:45:13,690 815 00:45:13,690 --> 00:45:16,079 >> Hurrengo pare direnak naiz zorionez jarraituko du 816 00:45:16,079 --> 00:45:17,370 zure burua pixka bat jotzen. 817 00:45:17,370 --> 00:45:20,410 Hau are gehiago errazteko ahal izango ditugu. 818 00:45:20,410 --> 00:45:24,490 Astutely zen bezala delako azpimarratu zuen lehenago, 819 00:45:24,490 --> 00:45:29,100 agian benetan ezagutzen dugu, arabera kodea inferring zer 820 00:45:29,100 --> 00:45:31,750 Kode hori, irteera behar izan da, beraz. 821 00:45:31,750 --> 00:45:38,180 Eta hain zuzen ere, funtzio anonimoa honetan, Izan ere, ezin dugu datu mota ondorioztatu. 822 00:45:38,180 --> 00:45:41,650 >> Beraz, hau da, ez dugu gehiago den zehaztu behar 823 00:45:41,650 --> 00:45:44,850 hori izanik datu-motak Sarrera eta irteera funtzioa honetatik 824 00:45:44,850 --> 00:45:45,890 arrazoi pare bat da. 825 00:45:45,890 --> 00:45:51,390 Lehenik eta behin, definitu dugu, gora begira ixten funtzioa prototipoa, 826 00:45:51,390 --> 00:45:55,770 zer motako datu anonimoak honen funtzionamenduari buruzko sarrera eta irteera. 827 00:45:55,770 --> 00:45:57,900 Eta beste batetik, guk Kodea infer 828 00:45:57,900 --> 00:46:01,930 Hemen behera dagoela onartzen dugu Sarrera horretan mota bikoitza da 829 00:46:01,930 --> 00:46:03,670 eta bikoitza bat itzuli. 830 00:46:03,670 --> 00:46:07,890 >> Iragarki hemen ez daukagu ​​esplizituki argumentuak izenak definitu 831 00:46:07,890 --> 00:46:11,220 Funtzio hori onartuz. 832 00:46:11,220 --> 00:46:16,180 Eta horrela nahi dugu erreferentzia ikus ditzakegu $ 0 $ 1 erabiltzen dutenen parametroak, 833 00:46:16,180 --> 00:46:20,140 abar eta abar, arabera erabilitako parametro horren kopurua 834 00:46:20,140 --> 00:46:20,850 funtzio honetan. 835 00:46:20,850 --> 00:46:23,370 836 00:46:23,370 --> 00:46:29,740 >> Hau dela zoazen zerbait da asko giltza open hau da ikusteko 837 00:46:29,740 --> 00:46:32,797 definizio bat, eta jarraian $ 0, eta, ondoren, eragiketa batzuk, 838 00:46:32,797 --> 00:46:34,130 eta gero giltza bat itxia. 839 00:46:34,130 --> 00:46:38,630 Hori funtzio anonimoa da eragiketa hau burutzen. 840 00:46:38,630 --> 00:46:42,940 Parametro hori non ditu mota ondorioztatzen da egin. 841 00:46:42,940 --> 00:46:44,860 Lehenengo parametroa duten $ 0 da. 842 00:46:44,860 --> 00:46:49,010 Eta operazio batzuk 0 $ gertatzen. 843 00:46:49,010 --> 00:46:52,100 >> IKUSLEEN: dolarraren ikurra Parametrorik funtsean esan nahi du, 844 00:46:52,100 --> 00:46:53,429 eta 0 lehenengoa esan nahi? 845 00:46:53,429 --> 00:46:54,720 DAN Armendariz: Hori da zuzena. 846 00:46:54,720 --> 00:46:59,100 Beraz, dolarraren ikurra esanahi du, parametroa, eta 0 lehenengoa esan nahi du. 847 00:46:59,100 --> 00:47:02,760 Baina bereziki, lan egiten hasi Kasu honetan, non ez dut izeneko 848 00:47:02,760 --> 00:47:07,940 Nire funtzio anonimoa argudioak. 849 00:47:07,940 --> 00:47:11,119 >> IKUSLEEN: Perl edo zerbait dolarraren ikur hori, dolarrak 0 hor? 850 00:47:11,119 --> 00:47:12,702 DAN Armendariz: Ba al du bertan, sentitzen dut? 851 00:47:12,702 --> 00:47:15,360 IKUSLEEN: Perl dute dolarraren honetan 0, dolarrak 1-- 852 00:47:15,360 --> 00:47:17,318 DAN Armendariz: Ez naiz too Perl ezagutzen, 853 00:47:17,318 --> 00:47:21,340 baina PHP zer definitzen aldagai oinarritutako dolarraren seinaleetan. 854 00:47:21,340 --> 00:47:26,120 Zenbait hizkuntzatan eta gehiago izan daitezke honen antzeko ezaugarriak dituzte. 855 00:47:26,120 --> 00:47:28,240 Izan ere, Swift dialektika bat hau bezalako ezaugarri asko 856 00:47:28,240 --> 00:47:29,489 beste hizkuntza asko. 857 00:47:29,489 --> 00:47:32,380 Python ukituak ikusi dugu bertan. 858 00:47:32,380 --> 00:47:35,800 Motaren definizioa hau badirudi OCaml datoz. 859 00:47:35,800 --> 00:47:38,932 Eta sorta oso bat besterik ez dugu Hizkuntza ezberdinen asko tik gauza. 860 00:47:38,932 --> 00:47:40,640 Hori da polita bat Swift buruz gauza 861 00:47:40,640 --> 00:47:43,390 da onena asko hartzen duela hizkuntza sorta bat ideia 862 00:47:43,390 --> 00:47:47,229 eta shoehorns denak elkarrekin Hizkuntza super bat sartu. 863 00:47:47,229 --> 00:47:49,520 Izan ere, aukera ematen dit duzu bada Zure kontuan Herrigintza jarraitzeko, 864 00:47:49,520 --> 00:47:51,000 beraz, izan dugu hau guztia egiten. 865 00:47:51,000 --> 00:47:56,690 Agian errazteko dugu hau, apur bat Pixka jabetu eta, noski, 866 00:47:56,690 --> 00:48:02,120 Swift exponentiating dauka funtzioa erabiltzen. 867 00:48:02,120 --> 00:48:04,660 Darwin, inporta dut bada bertan besterik liburutegian dela 868 00:48:04,660 --> 00:48:09,680 izeneko funtzio pow honen ezaugarriek, orain Nire funtzioa botere I errazteko 869 00:48:09,680 --> 00:48:11,830 honako hau izango da. 870 00:48:11,830 --> 00:48:15,860 Da itzuli joan funtzio anonimoa honetan. 871 00:48:15,860 --> 00:48:17,950 >> Baina nola simple hau da, orain begiratu. 872 00:48:17,950 --> 00:48:22,780 Hau funtzio anonimoa da hau da, datu-mota batzuk onartuz, 873 00:48:22,780 --> 00:48:26,600 eta da, bat izango da Argumentu zehazki, 874 00:48:26,600 --> 00:48:29,320 $ 0 duten mota bikoitza da hemen agertzen den. 875 00:48:29,320 --> 00:48:32,680 Da bikoitza mota bat itzuli du. 876 00:48:32,680 --> 00:48:35,760 Baina bueltan instrukzioa orain funtsari. 877 00:48:35,760 --> 00:48:39,990 >> Eta estilo zehatz hau da, da, oso, oso Swift nagusi, 878 00:48:39,990 --> 00:48:40,790 leku guztietan zehar. 879 00:48:40,790 --> 00:48:43,190 Hau ikusten ari gara Swift denbora guztian. 880 00:48:43,190 --> 00:48:46,150 Beraz, hau guztia erakusten dut nahi zuk sintaxia hau delako. 881 00:48:46,150 --> 00:48:49,070 Hau oso ohikoa ikusi, eta horrek esan nahi du 882 00:48:49,070 --> 00:48:51,420 funtzio anonimoa da hori burutzen ari da 883 00:48:51,420 --> 00:48:54,640 argudio horiek operazio batzuk. 884 00:48:54,640 --> 00:48:56,940 Eta han bueltan inplizitu bat da. 885 00:48:56,940 --> 00:49:01,850 Beraz, erabat gauza bera da Gurekin hori esateko, hementxe. 886 00:49:01,850 --> 00:49:05,730 887 00:49:05,730 --> 00:49:08,150 >> Kizkur Hori dela eta parentesi funtzio bat da, 888 00:49:08,150 --> 00:49:10,480 hau egiteko ari gara Lehen argumentua orrian. 889 00:49:10,480 --> 00:49:12,170 Hori itzultzeko goaz. 890 00:49:12,170 --> 00:49:14,815 Baina kanpoko itzulera hau da funtzio osoa itzultzen, 891 00:49:14,815 --> 00:49:19,855 funtzio anonimo hori osotasunean Oraintxe sortu dugula. 892 00:49:19,855 --> 00:49:21,689 Beste edozein galdera? 893 00:49:21,689 --> 00:49:23,980 Ondo da, ez badut ezagutzen horretarako prest dira mutilak, 894 00:49:23,980 --> 00:49:27,455 baina are eroago gaitezke Swift batera. 895 00:49:27,455 --> 00:49:28,560 Prest al zaude? 896 00:49:28,560 --> 00:49:29,930 Ados, hau handia da. 897 00:49:29,930 --> 00:49:35,310 >> Orain benetan gaitasuna dugu ra, Swift ere, nola modular delako 898 00:49:35,310 --> 00:49:39,650 eta protokoloa nola oinarrituta dago, to gureak freaking operadore definitzeko. 899 00:49:39,650 --> 00:49:44,060 Kasu honetan bezala, ez izan genuen Ondo exponentiation-- for operadorea, 900 00:49:44,060 --> 00:49:47,990 Zerbait eskumenak gauzatzeko. 901 00:49:47,990 --> 00:49:53,632 Baina ezin dut, Swift ere, definitu berri batean du hori, hain zuzen ere hori operadorea. 902 00:49:53,632 --> 00:49:55,590 Beraz, kasu honetan, ez da sintaxia mordo bat hemen. 903 00:49:55,590 --> 00:49:59,980 Eta begiratzen uzten dut Etxean begiratzen honetan duzu. 904 00:49:59,980 --> 00:50:06,890 Baina artizki hau definitzeko ari gara operadorea, **, eta hauek ere ahalbidetuko digu, 905 00:50:06,890 --> 00:50:09,840 zer dela definituz funtzio ** benetan 906 00:50:09,840 --> 00:50:15,010 duela, ezker eskuko bat onartzeko Bigarren mailako eta eskuin hegalean bat, 907 00:50:15,010 --> 00:50:21,190 eta, ondoren, horren adierazgarri itzuli ezkerreko eskua Eskuinean alboko. 908 00:50:21,190 --> 00:50:24,850 >> Eta, beraz, gaur egun bat-bateko I Bat guztiak Zenbakitzaile berri bat sortu dute. 909 00:50:24,850 --> 00:50:29,490 Beraz, 2 ** 3 bitartekoak 2 hirugarren potentzia da. 910 00:50:29,490 --> 00:50:34,420 [Kontuan Herrigintza SOUND] Hau arabera bezala izango duzu egin behar du bere burua, 911 00:50:34,420 --> 00:50:37,960 Ados, torlojua C. noa Swift modu guztiak. 912 00:50:37,960 --> 00:50:38,740 Hau handia da. 913 00:50:38,740 --> 00:50:40,140 Hau da, nahiko fantastikoak. 914 00:50:40,140 --> 00:50:42,240 >> Honen adibide handi bat da, nahiz eta. 915 00:50:42,240 --> 00:50:45,570 Baina inoiz ez dut behin kanpo Adibide honetan benetan 916 00:50:45,570 --> 00:50:46,800 Nire operadorea propioa definitu. 917 00:50:46,800 --> 00:50:49,710 Baina, oraindik ere, erakusten a Swift boterea asko 918 00:50:49,710 --> 00:50:54,050 eta hori zergatik da benetan Benetan oso cool. 919 00:50:54,050 --> 00:50:55,832 Ados, bai? 920 00:50:55,832 --> 00:50:57,790 Ikusleak: Oraindik baduzu Zeure operadorea definitzeko, 921 00:50:57,790 --> 00:51:02,940 ez egin nahi gabe, nola jakin duzu saiatu eta operadore batek hori sortu 922 00:51:02,940 --> 00:51:06,040 C nonbait ere, atsegin nonbait ezkutatuta Swift ere, 923 00:51:06,040 --> 00:51:12,210 bat ilun bat bezala duzula agian, ez dute ikusi aurretik. 924 00:51:12,210 --> 00:51:15,050 >> DAN Armendariz: Beraz, saiatzen zaren Zure operadore propioa definitzeko, 925 00:51:15,050 --> 00:51:20,970 Han definitzeko arriskua dago operadore emaileak gainean. 926 00:51:20,970 --> 00:51:24,870 Hori xehetasun maila bat dela doa Ez dut uste denbora gehiago joan behar dugu. 927 00:51:24,870 --> 00:51:27,620 Baina hori arrisku bat da. 928 00:51:27,620 --> 00:51:31,320 Eta hori oso arrazoi hain zuzen ere, Ez nuen kurtsore ikurra, zein erabili 929 00:51:31,320 --> 00:51:36,210 denean egindako power idazten ari gara, ohi dugu erabili 4 kurtsore little 5 edo zerbait 930 00:51:36,210 --> 00:51:40,560 duten bezala, besterik ez denean gaude Lagunak edo dena Gchatting. 931 00:51:40,560 --> 00:51:43,660 Baina kasu horretan, egia esan, Talka bat eragin zukeen. 932 00:51:43,660 --> 00:51:46,450 Eta horrela izan dut saihestu besterik ez delako Kasu honetan Ezagutzen nuen 933 00:51:46,450 --> 00:51:50,430 Hori dela talka eragingo luke. 934 00:51:50,430 --> 00:51:52,270 >> Ados. 935 00:51:52,270 --> 00:51:55,080 Orain, zoritxarrez, for Azken zazpi minutu, 936 00:51:55,080 --> 00:51:57,410 Herrigintza mantendu behar dut Zure adimenak pixka bat. 937 00:51:57,410 --> 00:52:00,230 Beraz, aukera ematen erakusteko me beste gauza batzuk ere bai. 938 00:52:00,230 --> 00:52:03,710 >> Agerian dizugu ideia hau funtzio anonimo horiek izatea, 939 00:52:03,710 --> 00:52:07,040 bajen horiek aukera ematen dizu motatako gainditu funtzioen inguruan. 940 00:52:07,040 --> 00:52:08,100 Horietako itzul dezakezu. 941 00:52:08,100 --> 00:52:09,490 Hauek manipulatu ahal izango dituzu. 942 00:52:09,490 --> 00:52:11,790 Zoro mota guztiak egin ahal izango duzu. 943 00:52:11,790 --> 00:52:14,850 >> Baina hori beste gauza bat Gertatzen lagungarri izateko 944 00:52:14,850 --> 00:52:19,740 da gaitasuna, alderantziz, funtzio horiek itzuli 945 00:52:19,740 --> 00:52:25,146 funtzio batean, funtzio bat gainditu beste funtzio parametro gisa. 946 00:52:25,146 --> 00:52:30,430 Zuk be bai agian pentsatzen zergatik Lurrean litzateke horrelako zerbait egin nahi dut? 947 00:52:30,430 --> 00:52:33,660 >> Beno, esan dezagun nahi dut operadorea hau hartu dudala 948 00:52:33,660 --> 00:52:40,260 eta sortu nahi zuen lan hain zaila aplikatu zenbakiak ezberdinak sorta bat da 949 00:52:40,260 --> 00:52:41,770 array batean. 950 00:52:41,770 --> 00:52:46,700 Beraz, kasu honetan array bat izan nuen 1, 4, 7, 2, 5, 10, 56 zenbaki osoen. 951 00:52:46,700 --> 00:52:48,080 Eta horiek guztiak bikoiztu nahi dut. 952 00:52:48,080 --> 00:52:50,430 Bide hori, normalean genuke ez da besterik idatzi 953 00:52:50,430 --> 00:52:53,440 begizta for sinple bat horiek guztiak iterates 954 00:52:53,440 --> 00:52:57,140 eta nolabaiteko egiteko Haien gainean eragiketa plazan, 955 00:52:57,140 --> 00:53:02,700 Balore berri horiek inputting berri batean aldakorra, edo hobeto esanda, array berri bat hemen. 956 00:53:02,700 --> 00:53:07,370 Eta ekoizpen balioaren Emaitza orduan da arrayak horiek guztiak, 957 00:53:07,370 --> 00:53:10,200 edo, hobeto esanda, horiek guztiak elementu orain karratu. 958 00:53:10,200 --> 00:53:12,680 >> Eta gauza bera egin genezake egiten cubing gauza, 959 00:53:12,680 --> 00:53:15,360 baina apur bat alarma kanpai Joan egin behar off 960 00:53:15,360 --> 00:53:17,360 Hori, agian, ez da esaten duena modu batzuk genuke 961 00:53:17,360 --> 00:53:19,860 izan hau errazteko pixka bat duela. 962 00:53:19,860 --> 00:53:21,130 Eta egia esan, ez da. 963 00:53:21,130 --> 00:53:25,320 Zer sortu ahal izango bagenu horrek ematen duen funtzio bat 964 00:53:25,320 --> 00:53:28,350 , onartu harraparia, funtzio gisa? 965 00:53:28,350 --> 00:53:30,350 Beraz, kasu honetan, hartu bat argudio horiek begiratu. 966 00:53:30,350 --> 00:53:33,220 Bikoizten zerrenda bat onartu behar izan dugu. 967 00:53:33,220 --> 00:53:35,030 Eta gero, goazen funtzio bat onartzeko 968 00:53:35,030 --> 00:53:40,990 f izeneko aldagai batean va Binakako bat hartu eta itzuli bikoitza bat. 969 00:53:40,990 --> 00:53:43,320 Eta irteera osoa funtzio osoa honen 970 00:53:43,320 --> 00:53:47,310 ko deritzo joan bikoitza izeneko array bat itzuli. 971 00:53:47,310 --> 00:53:52,380 >> Zer da hau litzateke orduan uzten niri ez da zerrenda horretan zehar batetik bestera 972 00:53:52,380 --> 00:53:56,350 eta gauza bera egin du, baina orain funtzioa aplikatzen duten bakoitzean 973 00:53:56,350 --> 00:53:58,970 Zerrenda horretan banakako baloreetako. 974 00:53:58,970 --> 00:54:00,750 Beraz, ez dut jakin zer f da. 975 00:54:00,750 --> 00:54:02,010 Ez ditu dit axola. 976 00:54:02,010 --> 00:54:06,530 Baina hartzen bikoitzean, beti ere, Gainean eragiketa batzuk egiten, 977 00:54:06,530 --> 00:54:08,640 eta orduan itzultzen a Bikoitza, ondoren nuke 978 00:54:08,640 --> 00:54:13,415 Funtzio hori mapatzeko zehar gai Zerrendako elementu bakar behin. 979 00:54:13,415 --> 00:54:16,270 980 00:54:16,270 --> 00:54:20,930 >> Eta programazio-mota hori da Ordena funtzio handiagorik deitzen, 981 00:54:20,930 --> 00:54:24,440 non ari funtzio pasatzen dugu parametro bezala inguruan 982 00:54:24,440 --> 00:54:26,430 eta funtzio dituen gauzak egiteko. 983 00:54:26,430 --> 00:54:29,640 Ordena da horiek guztiak hartuta bezala CS50 ikasi dugu ideia 984 00:54:29,640 --> 00:54:31,390 eta horien moduko hartu ren hurrengo mailara. 985 00:54:31,390 --> 00:54:34,140 Eta hau CS51 style gauza guztietan dago. 986 00:54:34,140 --> 00:54:37,080 Eta hain sakonki dugu joan gehiago horrelako klaseetan. 987 00:54:37,080 --> 00:54:38,930 >> Baina hori ere Hemen garrantzitsua dugulako 988 00:54:38,930 --> 00:54:42,010 Ikusten funtzio asko direla Swift erabilitako 989 00:54:42,010 --> 00:54:45,590 hori funtsean ez Joko hau, non daukagun 990 00:54:45,590 --> 00:54:48,300 zenbaki batzuk, zenbakiak multzo batzuk. 991 00:54:48,300 --> 00:54:50,850 Hori gainditu behar izan dugu Gure mapper sartu array. 992 00:54:50,850 --> 00:54:55,770 Eta guk ere joan funtzio batzuk, pasatzen diren 993 00:54:55,770 --> 00:54:57,950 dugu dagoeneko definitu hemen. 994 00:54:57,950 --> 00:54:59,690 Honez plazan izango da. 995 00:54:59,690 --> 00:55:02,220 Eta gero goaz Plazara zenbaki horiek guztiak 996 00:55:02,220 --> 00:55:04,710 eta gordetzeko emaitza hau sartu hemen. 997 00:55:04,710 --> 00:55:07,280 998 00:55:07,280 --> 00:55:11,000 >> Beraz, kasu honetan definitu dugu gure ko izeneko funtzioa. 999 00:55:11,000 --> 00:55:15,370 Baina gauza zehatz hau da, hain zuzen ere, Swift barneratzen. 1000 00:55:15,370 --> 00:55:18,960 Badira barietate funtzio mapa izeneko. 1001 00:55:18,960 --> 00:55:21,520 Ez da, mapa, funtzio bat, ez da bat murrizteko funtzioa, 1002 00:55:21,520 --> 00:55:25,630 eta han iragazkia eginkizun bat da, funtsean aplikatu funtzio 1003 00:55:25,630 --> 00:55:30,782 batean elementu bakar behin zerrenda horiek aldatzeko nolabait. 1004 00:55:30,782 --> 00:55:34,510 >> IKUSLEEN: transformatzen ari zarenetik formatu batera, datuak 1005 00:55:34,510 --> 00:55:36,134 funtzio baten bidez 1006 00:55:36,134 --> 00:55:37,050 DAN Armendariz: Eskuin. 1007 00:55:37,050 --> 00:55:39,420 Bai, beraz, funtzioa onartuz ari gara 1008 00:55:39,420 --> 00:55:41,790 da nolabait datuak eraldatzen. 1009 00:55:41,790 --> 00:55:44,700 Kasu honetan, bai ginen egiten squaring, edo hura cubing ari ginen, 1010 00:55:44,700 --> 00:55:50,060 edo benetan, egin genezake Gainean operazioa ez. 1011 00:55:50,060 --> 00:55:54,150 >> Baina dizute erakutsi ondoren, nola honetan da praktikan itxura. 1012 00:55:54,150 --> 00:55:56,681 Eta berriro ere, bat exekutatzen ari naiz denbora pixka. beraz, ez naiz 1013 00:55:56,681 --> 00:55:59,430 gorako guztiak joan ahal izango da iturburu-kodea hemen xehetasunez. 1014 00:55:59,430 --> 00:56:00,721 Baina zuk hori egin animatzen dut. 1015 00:56:00,721 --> 00:56:03,850 Egiten bidal dugu, ahalik eta azkarren posible eztabaida honen ondoren. 1016 00:56:03,850 --> 00:56:07,610 >> Baina begirada bat hartu baduzu honetan, suposatuko zenbakien zerrenda bat dugula, 1017 00:56:07,610 --> 00:56:10,260 zenbakiak sorta bat honetan Zenbakiak izeneko aldagai. 1018 00:56:10,260 --> 00:56:16,670 Ondoren, hau egin nahi dugu iragazkia zenbaki horiek eragiketa. 1019 00:56:16,670 --> 00:56:19,730 Beraz iragazkia garaiago Funtzio hori 1020 00:56:19,730 --> 00:56:24,660 array bat eta funtzio bat ere onartzen du. 1021 00:56:24,660 --> 00:56:28,760 Eta hori elementu guztietan array, funtzio hori betetzen du. 1022 00:56:28,760 --> 00:56:31,990 >> Funtzioak hori bada Egia, elementu hori mantentzen ditu. 1023 00:56:31,990 --> 00:56:36,100 Funtzio hori faltsua itzultzen bada, kanpoan botatzen elementua. 1024 00:56:36,100 --> 00:56:40,480 Eta gero zerrenda bat itzultzen du hori gero osatuta guztiak 1025 00:56:40,480 --> 00:56:44,360 duten iragazi elementu horiek. 1026 00:56:44,360 --> 00:56:47,150 >> Beraz, beste hitzetan, hau da Ideia bera da, kalifikazio-liburua. 1027 00:56:47,150 --> 00:56:50,800 Baliteke kalifikazio barietate daukagu izeneko balio honek zenbakiak sartu. 1028 00:56:50,800 --> 00:56:55,590 100, eta 70, eta izan daiteke 40, abar eta abar. 1029 00:56:55,590 --> 00:56:59,110 Zer iragazkia da hau ez da oharra hori azukre sintaktikoa dela 1030 00:56:59,110 --> 00:57:01,310 funtzio anonimoa da. 1031 00:57:01,310 --> 00:57:05,980 Hau esanez funtzio anonimoa da duten parametroak onartuz naiz 1032 00:57:05,980 --> 00:57:09,690 izango da, baldin bada 70 baino handiagoa da, 1033 00:57:09,690 --> 00:57:15,837 ondoren, hau egia itzuliko da, hori esan nahi elementua dela iragazkia honetan gordeko dira. 1034 00:57:15,837 --> 00:57:17,920 Beraz, izan gaitezen pixka bat honi buruz zehatzagoak. 1035 00:57:17,920 --> 00:57:25,760 Zenbakiak sorta hau badut eta osatzen 100, 70, eta 40an bertan, 1036 00:57:25,760 --> 00:57:29,730 Iragazki hau egin dut Eragiketa horietako bakoitzak. 1037 00:57:29,730 --> 00:57:33,270 Beraz, lehen 100 balioa hau da. 1038 00:57:33,270 --> 00:57:36,770 100 baino handiagoa edo berdina 70 to egia da, eta horrek 1039 00:57:36,770 --> 00:57:41,950 esan nahi du 100 hori ere mantendu array honen kopia berri honetan. 1040 00:57:41,950 --> 00:57:44,290 70 halaber pasatzen. 1041 00:57:44,290 --> 00:57:46,020 Baina 40, ez. 1042 00:57:46,020 --> 00:57:54,290 Beraz, zer da passingCount etxeratzen elementu 100 eta sorta da 70-- 1043 00:57:54,290 --> 00:57:57,410 100, koma, 70. 1044 00:57:57,410 --> 00:57:59,870 Horiek izan ziren bi bakarrak horretan mantendu ziren elementuak. 1045 00:57:59,870 --> 00:58:03,740 Eta orain arrazoia azkar joan bidez dut Ordena goi-mota horiek asko 1046 00:58:03,740 --> 00:58:08,680 Gauzak dira, hau da, ohikoa delako Gauza hori Swift ikusiko duzu nahiko 1047 00:58:08,680 --> 00:58:16,810 Maiz, eragiketa batzuk burutzen ari da Funtzio sintaxia anonimo hau erabiliz. 1048 00:58:16,810 --> 00:58:18,450 >> Badira gauza batzuk ere egin. 1049 00:58:18,450 --> 00:58:24,730 Konmutadoreak benetan Swift ere indartsu daude, Esan besterik ero, ero indartsu atsegin dut. 1050 00:58:24,730 --> 00:58:28,250 Switch erabili ahal izango duzu, eta benetan aplikatu ahal izango dituzu horiek 1051 00:58:28,250 --> 00:58:33,160 eremuak, hau da, mota ero, eta ez fancy horrelako gauzak. 1052 00:58:33,160 --> 00:58:37,540 >> Baina azken minutu horietan, Aurrera albo batera utzi nahiko urrun nahi dut 1053 00:58:37,540 --> 00:58:46,940 eta nola adibide zehatz bat erakutsiko dizu dugu iOS app ere sor dezake Swift erabiliz. 1054 00:58:46,940 --> 00:58:49,040 Beraz, egiten ari zarenean honek, hartu beharko duzu 1055 00:58:49,040 --> 00:58:51,990 a Apple on dugun begiratu dokumentazioa, dute 1056 00:58:51,990 --> 00:58:56,084 tutoretzak benetan onak asko izan Zure lehen aplikazioa sortu da. 1057 00:58:56,084 --> 00:58:58,250 Eta zuk egin animatzen dut eramango dutelako 1058 00:58:58,250 --> 00:59:04,110 zehazki zer urrats guztietan zehar klikatu on iOS aplikazio bat sortzeko. 1059 00:59:04,110 --> 00:59:07,290 >> Baina hemen iOS app hau dugu. 1060 00:59:07,290 --> 00:59:10,960 Eta aplikazioa nahiko erraz bat benetan da. 1061 00:59:10,960 --> 00:59:13,840 Hau exekutatu bada, let me erakutsi duzu zer itxura. 1062 00:59:13,840 --> 00:59:19,480 Funtsean, guztiek egiten da Interneten JSON fitxategi batetik tira 1063 00:59:19,480 --> 00:59:22,300 Dudan zerbitzari batean gordetzen. 1064 00:59:22,300 --> 00:59:26,310 Eta JSON fitxategi hori ahalbidetzen duten irudiak definitzen 1065 00:59:26,310 --> 00:59:31,680 me ondoren, zikloa, bidez nire Aplikazio, nire web zerbitzari irudiak. 1066 00:59:31,680 --> 00:59:32,880 >> Hortaz, hona hemen getNextImage daukat. 1067 00:59:32,880 --> 00:59:37,100 Irudia kargatzen da Internetetik, eta, ondoren erakusten du pantailan. 1068 00:59:37,100 --> 00:59:38,200 >> Beraz, nahiko erraza da. 1069 00:59:38,200 --> 00:59:41,550 Baina helburua da hemen erakusten zuk gauzak nola konbinatu ahal izango dugu 1070 00:59:41,550 --> 00:59:47,820 CS50 Azken aste batzuk bertatik Benetako iOS aplikazio batean. 1071 00:59:47,820 --> 00:59:53,140 Beste era batera esanda, agian bat ere hori egin nahi izango duzu gauzak 1072 00:59:53,140 --> 00:59:56,340 iOS aplikazio bat izatea dela Internetetik datuak tira daiteke 1073 00:59:56,340 --> 00:59:59,070 eta informazio batzuk erakutsi erabiltzaileak. 1074 00:59:59,070 --> 01:00:03,130 Hau da erabat puntua iturburu kode hau hemen. 1075 01:00:03,130 --> 01:00:07,890 >> Beraz, ez da asko buruz esan behar da Benetako iOS garapena nola egin. 1076 01:00:07,890 --> 01:00:12,860 Ez dago ero sintaxia asko da ez ditugula nahiko oraindik ikusi 1077 01:00:12,860 --> 01:00:15,580 Klase bat bezala, zer klase bat benetan da. 1078 01:00:15,580 --> 01:00:19,470 Neurri handi batean, ezin dugu ahaztu Hori oraingoz. 1079 01:00:19,470 --> 01:00:23,250 >> Baina konturatu jasotako ditugun honek hainbat gauza barruan 1080 01:00:23,250 --> 01:00:27,720 hori dagoeneko dugu atsegin ikusi izen bereziak dituzte funtzioak. 1081 01:00:27,720 --> 01:00:32,650 Noiz eta horiek ematen dugu izen zuzena funtzioak 1082 01:00:32,650 --> 01:00:36,530 direla iOS espero da, hain zuzen ere hau sentitzen pixka bat magikoa. 1083 01:00:36,530 --> 01:00:40,300 Baina denean bat sortu IOS aplikazio, han 1084 01:00:40,300 --> 01:00:47,590 Funtzio izen zehatzak direla Telefonoaren berak deitzen 1085 01:00:47,590 --> 01:00:52,440 aplikazioa saiatuko kargatzen ari den bitartean Prozesu hori benetan sortu nahi 1086 01:00:52,440 --> 01:00:54,787 zure aplikazioa exekutatzen. 1087 01:00:54,787 --> 01:00:58,120 Beraz, berriro ere, ez dago gauza asko egin dudala hemen baino distira ordenan guretzat dute 1088 01:00:58,120 --> 01:01:00,570 zehazki, honi buruz hitz egiteko. 1089 01:01:00,570 --> 01:01:06,050 Baina zuk, agian, begiratu animatzen dut Beste iOS mintegia, baina, era berean, zenbait 1090 01:01:06,050 --> 01:01:09,290 tutoretzak online bertan egiten of deskribatzeko lana askoz hobeto 1091 01:01:09,290 --> 01:01:11,030 Informazio espezifikoa. 1092 01:01:11,030 --> 01:01:15,760 >> Baina gauza pare bat ikusi ahal izango dugu Kodea hemendik interesgarriak dira. 1093 01:01:15,760 --> 01:01:17,950 Iragarki dugula, adierazpenak dira. 1094 01:01:17,950 --> 01:01:20,400 Bide batez, oso garrantzitsua adierazpenak bada gauzarik 1095 01:01:20,400 --> 01:01:24,860 dela inguruan parentesi Espresio boolearra aukerakoa. 1096 01:01:24,860 --> 01:01:30,800 Baina kizkur giltza ez dira aukerako, ez du axola nola gutxi edo kode lerro asko 1097 01:01:30,800 --> 01:01:32,360 adierazpen bat izanez gero aukera izango duzu. 1098 01:01:32,360 --> 01:01:38,670 Ezin duzu eduki baten adierazpenak Swift ere giltza kizkur gabe. 1099 01:01:38,670 --> 01:01:41,000 >> Eta hau da, bai, silly moduko. 1100 01:01:41,000 --> 01:01:43,910 Baina ez dagoela arrazoi historiko da. 1101 01:01:43,910 --> 01:01:46,180 Honez ustezko gorde zeure burua from. 1102 01:01:46,180 --> 01:01:49,899 Hau atsegin adibidez, ezin duzu horren inguruan kizkur giltza kentzeko 1103 01:01:49,899 --> 01:01:50,440 adierazpen bada. 1104 01:01:50,440 --> 01:01:52,730 Horiek, hain zuzen ere beharrezkoak dira. 1105 01:01:52,730 --> 01:01:54,480 Beraz, animatu nahi dut honetan begirada bat hartu. 1106 01:01:54,480 --> 01:01:56,230 Baina, ez da inor gehiago eraiki nahi dut 1107 01:01:56,230 --> 01:02:02,640 Swift buruz erakusteko duten da berria Swift 2.0 aldean 1108 01:02:02,640 --> 01:02:08,460 Swift-ren bertsio zaharrago den, bertan honako hau da. 1109 01:02:08,460 --> 01:02:11,620 Ikus dezagun non hemen jarri nuen hura utzi? 1110 01:02:11,620 --> 01:02:16,630 >> Beraz, funtzio honetan deitzen fetchJSON, funtzio honetan 1111 01:02:16,630 --> 01:02:23,450 da JSON dela dio arduraduna URL bat da, eta besterik ez da gertatzen from artxibatzen 1112 01:02:23,450 --> 01:02:26,310 Nire CS50 IDE exekutatzen ari da. 1113 01:02:26,310 --> 01:02:28,580 Hasi besterik ez dut Apache, jarri nire JSON fitxategia ez, 1114 01:02:28,580 --> 01:02:32,110 eta ahal den orduan tira naiz erabiliz Internetetik datuak 1115 01:02:32,110 --> 01:02:36,430 Funtzio honek eta URL honetan, hau da, telefonoz emandako. 1116 01:02:36,430 --> 01:02:40,490 Honez batek emandako liburutegia erabiltzen duten duzunean 1117 01:02:40,490 --> 01:02:43,140 Zenbait iOS app garapena egiten ari zarenean. 1118 01:02:43,140 --> 01:02:49,690 >> Iragarki hemen ez dela ezohiko hau sintaktikoak eraikuntza guardia deitzen. 1119 01:02:49,690 --> 01:02:53,530 Eta benetan hori guztia da Swift egiaztatzeko modu bat da 1120 01:02:53,530 --> 01:02:56,870 Gauza batzuk izan izan duzu aurretik ezagutu 1121 01:02:56,870 --> 01:03:00,000 Funtzio gainerako jarraitzeko. 1122 01:03:00,000 --> 01:03:04,260 Beraz, izan dut erabiliz aukerakoa mota hau, 1123 01:03:04,260 --> 01:03:10,530 By URL nezakeen aurkitu dute NSURL Funtzio hau exekutatzen 1124 01:03:10,530 --> 01:03:16,640 eta URL bat sartu dela gordetzeko etengabe, eta, ondoren, egiaztatzen 1125 01:03:16,640 --> 01:03:20,820 URL hutsa izan zen edo ez ikusteko, delako zen aukerakoa mota bat itzuli du. 1126 01:03:20,820 --> 01:03:25,660 Eta zero balitz, orduan I litzateke inprimatu, akatsik eta itzuli. 1127 01:03:25,660 --> 01:03:29,970 >> Baina horren ordez, zer guardia aukera ematen dizu ez digu oso gauza da, 1128 01:03:29,970 --> 01:03:34,550 baina ziurtatu dela Egia esan, kasu horretan URL 1129 01:03:34,550 --> 01:03:38,020 behar bezala NSURL ezarri. 1130 01:03:38,020 --> 01:03:41,810 Eta hala nahi badu, orduan hau baino edukiontziak, eta hura 1131 01:03:41,810 --> 01:03:46,110 to jarraitzeko aukera emango dizu url izana behar bezala definitu. 1132 01:03:46,110 --> 01:03:48,830 Baina hala bada, hori URL ez da behar bezala definitu, 1133 01:03:48,830 --> 01:03:52,550 Funtzio honek errorea itzultzen edo beste ustekabeko gauza batzuk 1134 01:03:52,550 --> 01:03:58,030 benetan gertatzen, guardia eraikuntza hau aukera ematen digu error irteera horretara 1135 01:03:58,030 --> 01:04:00,390 eta itzultzeko berehala. 1136 01:04:00,390 --> 01:04:00,890 Bai? 1137 01:04:00,890 --> 01:04:04,839 >> IKUSLEEN: da mota bezala, ondoren, beste bat balitz? 1138 01:04:04,839 --> 01:04:07,130 DAN Armendariz: Mota da baten ondoren, ez bada, bai atsegin, 1139 01:04:07,130 --> 01:04:14,200 url hori da, gero izan ezik honen azpian dena definitu. 1140 01:04:14,200 --> 01:04:20,420 Guardia hau pasatzen da, ondoren, bada egingo datuekin benetan betetako 1141 01:04:20,420 --> 01:04:29,500 eta gainerako baliagarriak iturri zure funtzioa ere kodea. 1142 01:04:29,500 --> 01:04:33,790 Beraz zarela joan susmoa dut hasteko guardia hau ikusteko, baita. 1143 01:04:33,790 --> 01:04:36,670 Eta hori mindful. 1144 01:04:36,670 --> 01:04:46,270 >> Beraz, besterik gabe, beste pare bat begira Gauzak, eskubide hori hemen zer da, 1145 01:04:46,270 --> 01:04:53,377 uste duzu, besterik oinarritutako zer on aurretik buruz hitz egin genuen? 1146 01:04:53,377 --> 01:04:56,650 >> Ikusleak: Think egingo zerrendako exekutatu? 1147 01:04:56,650 --> 01:04:59,100 >> DAN Armendariz: Beraz hurbil. 1148 01:04:59,100 --> 01:05:02,360 Hau dela definituz ari garen funtzioa da. 1149 01:05:02,360 --> 01:05:07,240 Eta funtzio hori idatz ari gara funtzio hau hemen argumentu gisa. 1150 01:05:07,240 --> 01:05:09,120 >> Ikusleak: ez [INAUDIBLE] bada zero. 1151 01:05:09,120 --> 01:05:11,470 Beraz, zerrendako da, ezta? 1152 01:05:11,470 --> 01:05:15,450 >> DAN Armendariz: error ez da zero bada, beraz, is-- beraz korrituko dut. 1153 01:05:15,450 --> 01:05:18,060 Beno, ikus dezagun, ezin dut benetan eskubidea hemen korrituko da. 1154 01:05:18,060 --> 01:05:23,161 error hori izatearen froga baita funtzio anonimoa hau gainditu. 1155 01:05:23,161 --> 01:05:24,410 Hau funtzio anonimoa da. 1156 01:05:24,410 --> 01:05:25,480 Izenik ez dauka. 1157 01:05:25,480 --> 01:05:29,850 Baina onartzen dugu, hiru horiek argumentuak, datuak, erantzun, eta akats. 1158 01:05:29,850 --> 01:05:33,590 Eta hori da hutsunea itzultzeko, beraz, joan, Ez da ezer itzuli egingo da. 1159 01:05:33,590 --> 01:05:37,910 Eta honen edukiak dago funtzio hori. 1160 01:05:37,910 --> 01:05:41,961 Eta, ondoren, barruan sartzeko aukera izango dugu Argudio horiek bakoitzaren funtzioa. 1161 01:05:41,961 --> 01:05:45,650 1162 01:05:45,650 --> 01:05:48,679 >> Beraz zurrunbilo bat da Hizkuntzaren bira. 1163 01:05:48,679 --> 01:05:50,470 Baina espero dut honekin, zorionez hartu duzu 1164 01:05:50,470 --> 01:05:54,490 tutoretzak batzuk begirada bat iOS Swift garapen zehatzak, 1165 01:05:54,490 --> 01:05:57,481 go, batez ere baduzu nahi Apple sustatzailearen web orri batean 1166 01:05:57,481 --> 01:05:59,980 benetan onak asko izan dira tutoretzak to you get hasi. 1167 01:05:59,980 --> 01:06:05,010 Baina, zorionez, besterik hitz egiteko ordu honetan bera sintaxia buruz eman du 1168 01:06:05,010 --> 01:06:08,760 nahikoa duzu hori hasteko. 1169 01:06:08,760 --> 01:06:12,950 >> Iturburu hori guztia emango dizugu Mintegi, web gunean kodea 1170 01:06:12,950 --> 01:06:17,800 Ahalik eta, era berean, diapositibak eta azkarren beraz, horiek guztiak erreferentzia bat behar duzu. 1171 01:06:17,800 --> 01:06:20,530 Baina zure proiektuekin zorte ona. 1172 01:06:20,530 --> 01:06:23,640 Eta eskerrik asko guztioi asko etortzeagatik. 1173 01:06:23,640 --> 01:06:26,990 >> [Txaloak] 1174 01:06:26,990 --> 01:06:28,026