1 00:00:00,000 --> 00:00:11,270 2 00:00:11,270 --> 00:00:14,340 >> DANIEL Armendariz: Hello mindenkinek, Üdvözöljük iOS app fejlesztése 3 00:00:14,340 --> 00:00:15,020 A gyors. 4 00:00:15,020 --> 00:00:15,870 Én vagyok Dan Armendariz. 5 00:00:15,870 --> 00:00:18,920 Én precepter számítógépes a tudomány itt az iskolában 6 00:00:18,920 --> 00:00:21,200 Mérnöki és Alkalmazott Tudományok. 7 00:00:21,200 --> 00:00:24,310 És gyors valójában milyen Egy igazán szép nyelv. 8 00:00:24,310 --> 00:00:27,190 És van néhány terved mára. 9 00:00:27,190 --> 00:00:31,430 Így az elkövetkező óra múlva megyünk nézni iOS app fejlesztés önmagában 10 00:00:31,430 --> 00:00:36,640 Xcode környezetben, és ténylegesen megteremti néhány Nagyon egyszerű, nagyon egyszerű alkalmazás. 11 00:00:36,640 --> 00:00:40,070 És nézte az utat, amit valóban megteszi azokat az alkalmazásokat, 12 00:00:40,070 --> 00:00:42,887 és őket építeni, és ténylegesen tedd őket egy iOS eszközt. 13 00:00:42,887 --> 00:00:44,970 Néhány dolog, hogy nem fogunk nézni 14 00:00:44,970 --> 00:00:47,540 majd a dolgok, mint valójában, egy alkalmazás 15 00:00:47,540 --> 00:00:48,940 és üzembe azt a app store. 16 00:00:48,940 --> 00:00:52,930 Van egy csomó oktató, hogy az online segít, hogy oldala. 17 00:00:52,930 --> 00:00:56,230 De azért is, mert az része CS50, kapsz 18 00:00:56,230 --> 00:00:59,780 hogy csatlakozzon az Apple fejlesztési csapat, CS50 app fejlesztő csapat. 19 00:00:59,780 --> 00:01:02,790 Ha még nem tette meg még, és Ön kapcsolatban CS50, 20 00:01:02,790 --> 00:01:04,810 Én nem ajánlom, hogy csinálni, mert, hogy 21 00:01:04,810 --> 00:01:08,820 az, hogy hogyan vagytok képesek létrehozni Egyes programok Xcode, 22 00:01:08,820 --> 00:01:11,890 építeni őket, és ténylegesen közülük néhány az iOS eszközök 23 00:01:11,890 --> 00:01:14,087 Ha valóban van a fizikai iOS készüléket. 24 00:01:14,087 --> 00:01:16,670 Ha nincs fizikai iOS eszköz, amely több, mint szép. 25 00:01:16,670 --> 00:01:19,810 Akkor valóban fejleszteni iOS. 26 00:01:19,810 --> 00:01:22,390 És Xcode egy szimulátor, amely lehetővé teszi, 27 00:01:22,390 --> 00:01:26,570 hogy az alkalmazást fellépés a számítógépen. 28 00:01:26,570 --> 00:01:30,440 De ez a fajta egy ügyes dolog hogy valóban játszani, és kölcsönhatásba 29 00:01:30,440 --> 00:01:34,235 az alkalmazás A tényleges eszköz. 30 00:01:34,235 --> 00:01:37,360 Szóval van egy pár követelmények valójában csinálni mindezt fejlődését. 31 00:01:37,360 --> 00:01:39,151 Ezek közül az egyik az, hogy a van, hogy a Mac. 32 00:01:39,151 --> 00:01:44,770 Meg kell futnia 10.9.4 vagy újabb annak érdekében, hogy a fejlesztéshez a gyors. 33 00:01:44,770 --> 00:01:47,770 >> Használhatja egy korábbi verzió fejlesztésére 34 00:01:47,770 --> 00:01:50,810 Objective C iOS és Mac. 35 00:01:50,810 --> 00:01:53,990 De ajánlom, és sok a példák, hogy mi lesz a ma, 36 00:01:53,990 --> 00:01:55,700 használja 10.10 Yosemite. 37 00:01:55,700 --> 00:02:00,910 Tehát ha még nem frissített, ez egy jó ürügy arra, hogy erre. 38 00:02:00,910 --> 00:02:05,480 Most Xcode 6.1 a legújabb verziója Az integrált fejlesztői környezet 39 00:02:05,480 --> 00:02:08,979 az Apple biztosít ingyen, hogy tudod letölteni le az App Store. 40 00:02:08,979 --> 00:02:11,220 És azt ajánlom, hogy annak is a legújabb verzió. 41 00:02:11,220 --> 00:02:14,700 >> Ha történetesen fut egy korábbi változatát, Xcode 5 és alatt csak 42 00:02:14,700 --> 00:02:16,741 Egyszerűen nem támogatják a gyors nélkül. 43 00:02:16,741 --> 00:02:19,490 És a béta verziók hat, amely is megjelent a nyár, 44 00:02:19,490 --> 00:02:21,770 támogatják a gyors, de van volt egy hatalmas száma 45 00:02:21,770 --> 00:02:25,220 A változások a nyelv, elég úgyhogy a kódot, hogy te 46 00:02:25,220 --> 00:02:28,320 nézzük át, és hogy lehet találni az interneten 47 00:02:28,320 --> 00:02:33,294 valójában nem fordul le rendesen Ezen korábbi verziói Xcode. 48 00:02:33,294 --> 00:02:35,460 Tehát még egyszer, ha nem még egy fejlesztő fiók, 49 00:02:35,460 --> 00:02:38,560 Azt ajánlom, menjen developer.apple.com. 50 00:02:38,560 --> 00:02:42,240 Regisztrálj, hozzon létre egy fejlesztői figyelembe, és csatlakozzon a CS50 app fejlesztő csapat. 51 00:02:42,240 --> 00:02:45,530 Amely biztosítja, hogy Önnek a lehetőséget fordításakor alkalmazások 52 00:02:45,530 --> 00:02:47,840 és tedd őket a készülékén. 53 00:02:47,840 --> 00:02:49,222 OK, így kezdjük. 54 00:02:49,222 --> 00:02:50,930 A legelső dolog, fogunk tenni a 55 00:02:50,930 --> 00:02:55,140 hogy valójában egy nagyon egyszerű projekt Xcode 56 00:02:55,140 --> 00:02:59,530 amely lehetővé teszi, hogy be a kérelmet. 57 00:02:59,530 --> 00:03:03,170 >> Tehát ha még nem rendelkezik Xcode nyitott, megy előre, és nyissa meg 58 00:03:03,170 --> 00:03:04,270 és hozzon létre egy új projektet. 59 00:03:04,270 --> 00:03:06,570 Egy különleges splash screen megnyílik, és kapsz 60 00:03:06,570 --> 00:03:08,800 néhány opció, hogy mi el, hogy mit akar csinálni. 61 00:03:08,800 --> 00:03:12,170 Csak annyit, hogy szeretne létrehozni Egy új projekt, egy új alkalmazás. 62 00:03:12,170 --> 00:03:15,650 Ez az ablak jelenik meg, feltételezve, amit használ Xcode 6.1. 63 00:03:15,650 --> 00:03:17,650 Most, és a időtartamát a szeminárium, 64 00:03:17,650 --> 00:03:19,990 fogunk használni egyetlen nézetben alkalmazások, csak 65 00:03:19,990 --> 00:03:22,590 egyfajta alapvető alkalmazása hogy ha elkezdünk. 66 00:03:22,590 --> 00:03:25,200 És akkor ágaznak a saját onnan. 67 00:03:25,200 --> 00:03:27,660 >> Kattintson a Tovább gombra ezen a ponton. 68 00:03:27,660 --> 00:03:30,796 Most itt van egy pár dolog hogy érdemes belépni. 69 00:03:30,796 --> 00:03:32,670 A termék neve a nevét a projekt. 70 00:03:32,670 --> 00:03:34,859 Ebben az esetben én csak fogom hívni Seminar1 71 00:03:34,859 --> 00:03:36,150 mert ez az első példa. 72 00:03:36,150 --> 00:03:38,290 A szervezet neve, a Ebben az esetben csak a nevem. 73 00:03:38,290 --> 00:03:41,760 Akkor természetesen változtatni hogy a saját nevét, vagy a CS50. 74 00:03:41,760 --> 00:03:46,160 Szervezet azonosító, ha történetesen van egy website csak úgy 75 00:03:46,160 --> 00:03:49,940 A domain név visszafordítani, com.yourname. 76 00:03:49,940 --> 00:03:54,200 majd a nevét a termék automatikusan meg kell jelennie 77 00:03:54,200 --> 00:03:55,820 után, hogy mivel a csomag azonosító. 78 00:03:55,820 --> 00:03:59,200 >> Nyilvánvaló, hogy a nyelv, hogy mi vagyunk lesz használva a mai gyors. 79 00:03:59,200 --> 00:04:02,590 Tudod, persze, használja Objective C ezért, de ma lesz gyors. 80 00:04:02,590 --> 00:04:04,920 És mi most azt mondják, univerzális eszköz, ezért 81 00:04:04,920 --> 00:04:06,900 hogy működik mind iPad és iPhone. 82 00:04:06,900 --> 00:04:10,040 És akkor hagyjuk core adatok ellenőrizetlen tartani 83 00:04:10,040 --> 00:04:12,830 A projekt viszonylag egyszerű egyelőre. 84 00:04:12,830 --> 00:04:14,430 Szóval menjünk előre, és kattintson a Tovább gombra. 85 00:04:14,430 --> 00:04:16,471 És ez meg fog kérdezni ahol szeretnék megmenteni. 86 00:04:16,471 --> 00:04:19,250 Én csak mentse el a desktop most. 87 00:04:19,250 --> 00:04:22,267 >> Rendben, így most ez az, ami történne, ha valóban nyitott Xcode. 88 00:04:22,267 --> 00:04:24,100 És észre, hogy a legelső dolog, amit látni 89 00:04:24,100 --> 00:04:28,770 ez felkiáltójel, hogy azt mondja, nincs aláírási identitást találtak. 90 00:04:28,770 --> 00:04:31,520 Én szándékosan tette ezt a számítógépen, és én vagyok 91 00:04:31,520 --> 00:04:34,220 remélve, hogy megyek képesek valóban javítani, 92 00:04:34,220 --> 00:04:37,860 mert azt akarom, hogy milyen ez a ténylegesen dolgozni a saját gépünkön. 93 00:04:37,860 --> 00:04:40,400 >> Menj, és kattintson fix kérdés. 94 00:04:40,400 --> 00:04:45,400 Rá fog kérdezni, ha van egy meglévő Apple fejlesztői fiók. 95 00:04:45,400 --> 00:04:48,330 Ez az, ahol csatlakozott a CS50 app fejlesztő csapat 96 00:04:48,330 --> 00:04:51,240 Fontos, így nem csak egy app fiók, 97 00:04:51,240 --> 00:04:53,690 de akkor is van a képességgel, hogy írja alá a apps 98 00:04:53,690 --> 00:04:56,420 és tedd a iOS készüléket. 99 00:04:56,420 --> 00:04:58,957 Ez nem-- kattintva fix kérdést nem szükséges 100 00:04:58,957 --> 00:05:01,040 ha csak most fog építeni és fejleszteni a helyi, 101 00:05:01,040 --> 00:05:03,520 teljes egészében a iOS szimulátorban. 102 00:05:03,520 --> 00:05:05,820 >> De most megyek fejleszteni, és tedd 103 00:05:05,820 --> 00:05:08,160 én iPad, melyik lesz képes sugározni is. 104 00:05:08,160 --> 00:05:10,770 Szóval én nem szeretnék, hogy ténylegesen adni ezt. 105 00:05:10,770 --> 00:05:13,670 És ez meg fog kérni nekem a apple ID. 106 00:05:13,670 --> 00:05:15,700 Így lesz ez az. 107 00:05:15,700 --> 00:05:18,940 És azt kell letölteni én jelszót, ami itt van. 108 00:05:18,940 --> 00:05:27,760 Szóval adj egyetlen másodperc alatt meg úgy, és másold e, és illessze ide. 109 00:05:27,760 --> 00:05:28,580 >> Hozzáadás gombra. 110 00:05:28,580 --> 00:05:31,095 Meg fog kérdezni, Melyik csapat akarok csatlakozni. 111 00:05:31,095 --> 00:05:33,240 Azt fogom tenni School of Engineering. 112 00:05:33,240 --> 00:05:35,680 Kattintson Csatlakozzon. 113 00:05:35,680 --> 00:05:37,780 Hoppá, ez a rossz. 114 00:05:37,780 --> 00:05:40,730 Csináljuk ezt. 115 00:05:40,730 --> 00:05:42,060 Remélhetőleg ez fog működni. 116 00:05:42,060 --> 00:05:44,220 Hogy az egyik még mindig nem működik. 117 00:05:44,220 --> 00:05:46,610 Kifutunk jókat itt. 118 00:05:46,610 --> 00:05:48,260 OK, ez az egyik kell dolgozni. 119 00:05:48,260 --> 00:05:50,816 Most zárja be ezt. 120 00:05:50,816 --> 00:05:54,450 Most ismét egy iskola engineering, kattintson választani. 121 00:05:54,450 --> 00:06:00,190 >> És most remélhetőleg után Pár másodperc can-- OK, 122 00:06:00,190 --> 00:06:02,550 Majd visszavonja, és kérésre. 123 00:06:02,550 --> 00:06:05,410 Oh ember, ez fog működni. 124 00:06:05,410 --> 00:06:08,890 OK, megpróbálom a másikat. 125 00:06:08,890 --> 00:06:11,167 Csináljuk ezt itt. 126 00:06:11,167 --> 00:06:17,020 127 00:06:17,020 --> 00:06:19,310 Élő demók nem sikerül nekem. 128 00:06:19,310 --> 00:06:22,540 Lehet, hogy visszatér, hogy csak épület teljes egészében helyben, 129 00:06:22,540 --> 00:06:25,050 de ez lenne a megfelelő ebben az esetben. 130 00:06:25,050 --> 00:06:28,560 >> Tehát itt, míg ez valójában dolgozó, mit fogunk csinálni csak 131 00:06:28,560 --> 00:06:31,190 Egy nagyon egyszerű Hello World alkalmazás. 132 00:06:31,190 --> 00:06:32,340 Tehát ez Xcode. 133 00:06:32,340 --> 00:06:37,300 És ha még nem látta még, hogy lehet egy kicsit félelmetes elején. 134 00:06:37,300 --> 00:06:41,430 Van egy csomó táblák, van egy Sok doodads a különböző területeken. 135 00:06:41,430 --> 00:06:44,300 De csak észre, hogy van Tényleg több fő összetevői 136 00:06:44,300 --> 00:06:46,580 hogy ez a fejlesztői környezet. 137 00:06:46,580 --> 00:06:51,090 Bal oldalon van az összes fájl hogy az az alkalmazandó a programot 138 00:06:51,090 --> 00:06:52,997 vagy az adott projekt. 139 00:06:52,997 --> 00:06:55,080 Mi lesz kattintással körül néhány közülük, és mi 140 00:06:55,080 --> 00:06:57,660 rámutatnak a leginkább fontos is az idők során. 141 00:06:57,660 --> 00:06:59,650 A jobb szélen, mi Van egy sor attribútumok. 142 00:06:59,650 --> 00:07:02,920 És mindezen tulajdonságokat, ott Különböző táblákkal, az attribútumokat. 143 00:07:02,920 --> 00:07:06,770 A táblák függően változik összefüggésben a fő tartalom, amely 144 00:07:06,770 --> 00:07:08,290 előfordul, hogy a közepén. 145 00:07:08,290 --> 00:07:11,740 Most a középső valóban azt mutatják, Ön a különböző dolgokat, például 146 00:07:11,740 --> 00:07:13,290 a kód is. 147 00:07:13,290 --> 00:07:17,070 Vagy lehet, hogy valóban have-- ha rákattint a storyboard, amely 148 00:07:17,070 --> 00:07:21,270 van, az úton, csak egy grafikus ábrázolását a felhasználói 149 00:07:21,270 --> 00:07:25,350 interfész a application-- majd az attribútumokat tartalmazó ablaktábla 150 00:07:25,350 --> 00:07:27,334 A nagyon messze jobb valóban változtatni. 151 00:07:27,334 --> 00:07:29,750 Most van egy pár más amit én szeretnék mutatni. 152 00:07:29,750 --> 00:07:33,360 Akkor valami felfedezni körül a környezetben a saját. 153 00:07:33,360 --> 00:07:35,730 De az egyik dolog, hogy már nagyon hasznosnak 154 00:07:35,730 --> 00:07:38,470 van ez a gomb itt, a jobb felső sarkában az ablak. 155 00:07:38,470 --> 00:07:41,230 Van ez a gomb, úgy néz ki, mint a túlsó 156 00:07:41,230 --> 00:07:46,090 hagyta azt a bekezdés majd két kört, és egyfajta 157 00:07:46,090 --> 00:07:49,540 Két nyíl távol egymástól. 158 00:07:49,540 --> 00:07:52,640 Ha váltani a szabvány szerkesztő, amely 159 00:07:52,640 --> 00:07:55,560 a bal szélen egy, az egyik ami az alapértelmezett beállítás, 160 00:07:55,560 --> 00:08:01,040 és a két kör átfedő Minden más, amit valójában kap 161 00:08:01,040 --> 00:08:02,210 egy dupla paneles nézet. 162 00:08:02,210 --> 00:08:04,240 >> És ez valójában lesz hasznos számunkra 163 00:08:04,240 --> 00:08:07,330 mikor kell kapcsolni tételek a kezelőfelületen, és a kódot. 164 00:08:07,330 --> 00:08:09,330 És fogunk beszélni többet hogy csak egy pillanatra. 165 00:08:09,330 --> 00:08:12,050 De észre, hogy ha kap még több táblára, mint ez, 166 00:08:12,050 --> 00:08:15,830 egyszerűsítheti a nézetet, csak Egy kicsit kattintva vissza 167 00:08:15,830 --> 00:08:20,680 Ön egyetlen szerkesztő. 168 00:08:20,680 --> 00:08:21,580 Eddig jó. 169 00:08:21,580 --> 00:08:24,560 Tehát alapvetően mi van a kódot A bal tulajdonít a jobb oldalon, 170 00:08:24,560 --> 00:08:28,260 és bármi is legyen dolgozunk itt a város központjában található. 171 00:08:28,260 --> 00:08:30,390 >> Tehát itt már rákattintott A fő storyboard. 172 00:08:30,390 --> 00:08:33,350 És a storyboard, Ismét egy módja, Xcode 173 00:08:33,350 --> 00:08:38,110 hogy ténylegesen hozd létre a interfész segítségével csak fogd és vidd 174 00:08:38,110 --> 00:08:39,130 technikákat. 175 00:08:39,130 --> 00:08:41,190 És így mi nagyon első kérelmet ennek 176 00:08:41,190 --> 00:08:42,720 Pontosan mit fogunk csinálni. 177 00:08:42,720 --> 00:08:45,950 Fogunk menj le a nagyon messze jobb alsó részén 178 00:08:45,950 --> 00:08:49,900 A képernyő, amely tartalmaz a különböző felhasználói elemek 179 00:08:49,900 --> 00:08:53,270 hogy akkor majd kattintson és húzza hogy hozza létre a felhasználói felület. 180 00:08:53,270 --> 00:08:55,550 >> Most mindezen elemeket nevezzük megtekintés 181 00:08:55,550 --> 00:08:57,370 mert a kínálat valamilyen nézetet. 182 00:08:57,370 --> 00:09:00,190 Van egy kép nézetben, Például, hogy valóban azt mutatják, 183 00:09:00,190 --> 00:09:01,740 Egy képet a felhasználói felület. 184 00:09:01,740 --> 00:09:04,310 Van egy asztal érdekében valóban azt mutatják, egy asztal. 185 00:09:04,310 --> 00:09:05,190 Így tovább és így tovább. 186 00:09:05,190 --> 00:09:08,250 Van egy sokféle nézetek, hogy akkor válasszon itt. 187 00:09:08,250 --> 00:09:11,100 Tehát csak most megyünk hogy keressen egy címkét. 188 00:09:11,100 --> 00:09:13,550 Tudod csak lapozhat az összes listák ott van. 189 00:09:13,550 --> 00:09:15,460 De ott van a keresési bár legalján 190 00:09:15,460 --> 00:09:19,460 hogy megkönnyíti azonosítani specifikus nézetek, hogy tulajdonképpen 191 00:09:19,460 --> 00:09:22,020 szeretnénk, hogy húzza be a felhasználói felület. 192 00:09:22,020 --> 00:09:23,560 >> Megtaláltam a címkét. 193 00:09:23,560 --> 00:09:28,430 Megyek húzza ide, közvetlenül ra a minta-alkalmazás. 194 00:09:28,430 --> 00:09:30,130 Pont ott középen jól néz ki. 195 00:09:30,130 --> 00:09:33,180 És fogok írja: "Hello World!" 196 00:09:33,180 --> 00:09:33,810 Enter leütése. 197 00:09:33,810 --> 00:09:34,877 Most van egy címkét. 198 00:09:34,877 --> 00:09:36,960 Nem úgy néz ki, mintha központú nagyon helyesen. 199 00:09:36,960 --> 00:09:38,500 Így tudok próbálja meg újra középre. 200 00:09:38,500 --> 00:09:42,100 Szerencsére hogy felkínálja vezeti, hogy a dolgok sokkal könnyebb. 201 00:09:42,100 --> 00:09:44,130 Én megpróbálom lefordítani. 202 00:09:44,130 --> 00:09:46,570 Remélhetőleg valóban működik itt. 203 00:09:46,570 --> 00:09:52,870 És ha nem, akkor egy pillanat alatt akkor valójában jelenik meg a iPad. 204 00:09:52,870 --> 00:09:54,360 Pontosan itt. 205 00:09:54,360 --> 00:09:55,060 Ott van. 206 00:09:55,060 --> 00:09:56,590 >> OK, így ez az. 207 00:09:56,590 --> 00:09:57,160 Végeztünk. 208 00:09:57,160 --> 00:09:58,868 Hoztuk létre mi nagyon első kérelmet. 209 00:09:58,868 --> 00:10:01,330 Most nyilván ez nem csinál semmit. 210 00:10:01,330 --> 00:10:02,280 Ez csak egy címke. 211 00:10:02,280 --> 00:10:07,350 Nincs összefüggés A felhasználói felület és a kód. 212 00:10:07,350 --> 00:10:10,130 Tehát, ha valóban akart hogy létrehozza ezt a kapcsolatot, 213 00:10:10,130 --> 00:10:14,790 ha valóban akarta, hogy legyen egyfajta közötti kommunikáció a elemek 214 00:10:14,790 --> 00:10:17,540 hogy létezik a képernyőn, és a kódot, hogy 215 00:10:17,540 --> 00:10:19,810 lehetővé teszi számunkra, hogy ellenőrizzék azokat az elemeket, majd 216 00:10:19,810 --> 00:10:23,570 mi valójában szükség nézd meg a kód is. 217 00:10:23,570 --> 00:10:27,000 >> Tehát ez az, amit a neve ViewController.swift. 218 00:10:27,000 --> 00:10:30,080 És, különösen a Az első néhány programok, 219 00:10:30,080 --> 00:10:33,120 ez lesz valami a nagy részét a kódot, amit enter-- 220 00:10:33,120 --> 00:10:35,980 lesz ebben a dokumentumban találhatók. 221 00:10:35,980 --> 00:10:38,390 Van egy csomó dolog ez itt eddig, igaz? 222 00:10:38,390 --> 00:10:42,660 Van import UI kit osztály, felülbírálja, [? funk,?] mindezen különböző dolgokat. 223 00:10:42,660 --> 00:10:45,820 És ez nem teljesen világos, hogy mi van az, hogy mindez azt jelenti. 224 00:10:45,820 --> 00:10:48,570 Szóval vessünk egy lépést hátrálni a Xcode egy kicsit 225 00:10:48,570 --> 00:10:52,420 és nézd meg a nyelv maga, gyors. 226 00:10:52,420 --> 00:10:56,370 >> Tehát a gyors, ez volt a tervezés és fejlesztés 227 00:10:56,370 --> 00:10:58,645 Apple körülbelül négy év Tudomásom. 228 00:10:58,645 --> 00:11:01,270 És van néhány funkció róla, hogy tényleg szép. 229 00:11:01,270 --> 00:11:03,910 Először is, ez összeállított nyelv, akárcsak C. 230 00:11:03,910 --> 00:11:06,120 Tehát előbb meg kell fordítsd le, és futtassa, 231 00:11:06,120 --> 00:11:09,580 Mielőtt ténylegesen lefuttatjuk, hogy az eredmények. 232 00:11:09,580 --> 00:11:14,250 De van, ellentétben C, interaktív kérni, hogy akkor futtathatod 233 00:11:14,250 --> 00:11:16,680 és írja tetszőleges parancsokat. 234 00:11:16,680 --> 00:11:20,280 És nagyon hasonlít egy JavaScript konzol, amely lehet, hogy ismeri már, 235 00:11:20,280 --> 00:11:24,506 ez valójában értékeli azokat parancsokat, és az Ön számára a kimenetet. 236 00:11:24,506 --> 00:11:26,380 És ők már akkor is tett hogy a következő szintre 237 00:11:26,380 --> 00:11:29,100 és hogy már létre valamit nevű játszóterek Xcode 238 00:11:29,100 --> 00:11:31,720 amelyek lehetővé teszik, hogy vizuálisan dolgozni kódot. 239 00:11:31,720 --> 00:11:34,910 És mi valóban látni néhány példát Az, hogy csak egy kicsit. 240 00:11:34,910 --> 00:11:41,680 Ez alapján a C. C megalapozza ez, mert minden a fordítóprogramok 241 00:11:41,680 --> 00:11:46,820 hozzon létre kódot ki a C és a létre az objektumot kódot belőle. 242 00:11:46,820 --> 00:11:49,240 De ez tényleg részvények viszonylag kevés szintaxis. 243 00:11:49,240 --> 00:11:50,721 Úgy fog kinézni, meglehetősen eltérő. 244 00:11:50,721 --> 00:11:51,970 Lesznek bizonyos hasonlóságok. 245 00:11:51,970 --> 00:11:54,140 De lesznek néhány különbség 246 00:11:54,140 --> 00:11:57,200 képest, mondjuk, JavaScript vagy PHP. 247 00:11:57,200 --> 00:11:59,070 És mi pont ezeket a out csak egy pillanatra. 248 00:11:59,070 --> 00:12:01,420 >> Most az egyik legnagyobb dolog, mintegy gyors ez szép 249 00:12:01,420 --> 00:12:05,650 az, hogy, különösen összehasonlítva a C, ez azt jelentette, hogy biztonságos legyen. 250 00:12:05,650 --> 00:12:08,100 Minden, ami alatt azt értjük, hogy Legyen nagyon erősen típusos ben. 251 00:12:08,100 --> 00:12:10,780 Valójában ez szinte bosszantó az első, amikor először 252 00:12:10,780 --> 00:12:15,610 kezdeni dolgozni gyors, hogy milyen sokkal érvényesíti típusú mindenhol. 253 00:12:15,610 --> 00:12:17,860 Bármi, ami egy húr kell maradnia a húr. 254 00:12:17,860 --> 00:12:22,100 Ez nagyon nehéz rendezni a convert ez vagy kényszeríteni azt valamilyen más formában. 255 00:12:22,100 --> 00:12:23,800 >> És újra, mi megmutatjuk példa erre. 256 00:12:23,800 --> 00:12:26,830 De végül rájönnek, hogy Ez alatt azt értjük, hogy megvédjen téged, 257 00:12:26,830 --> 00:12:32,010 és akkor értem a kódot, a zuhanna valami szörnyű módon, amikor 258 00:12:32,010 --> 00:12:34,330 Van valami össze nem illő típus. 259 00:12:34,330 --> 00:12:36,040 És ismét dolgozni vele. 260 00:12:36,040 --> 00:12:40,210 Mert ez lesz frusztráló első ahogy megpróbálja kitalálni, hogy miért éppen 261 00:12:40,210 --> 00:12:43,070 kapsz ez a szokatlan hiba foglalkozó típusok. 262 00:12:43,070 --> 00:12:45,350 De érdemes lesz belőle a végén. 263 00:12:45,350 --> 00:12:47,267 >> Ez nem foglalkozik az automatikus memória kezelése, 264 00:12:47,267 --> 00:12:49,100 így már nem igaz kell kezelni a dolgokat 265 00:12:49,100 --> 00:12:51,400 mint a malloc és free és minden Az efféle dolgokat. 266 00:12:51,400 --> 00:12:53,066 És ez is tervezték általánosságokat. 267 00:12:53,066 --> 00:12:58,360 Tehát miközben tudjuk használni az Xcode a hozzon létre iOS alkalmazások és Mac alkalmazásokat, 268 00:12:58,360 --> 00:13:00,380 mi is csak használja azt mint egy programozási nyelv. 269 00:13:00,380 --> 00:13:03,660 És így tudjuk használni sort A PHP helyett vagy helyett 270 00:13:03,660 --> 00:13:07,800 A Python hogy ténylegesen gyorsan feldolgozni és folyamata 271 00:13:07,800 --> 00:13:09,800 Egyes adatok, hogy mi van a számítógéphez. 272 00:13:09,800 --> 00:13:13,290 >> Ez egy széles számos modern funkciók, Opcionális, mutability, 273 00:13:13,290 --> 00:13:17,900 generikumok, bezárások, és egy csomó ezt cucc akkor lehet, hogy nem ismeri. 274 00:13:17,900 --> 00:13:22,810 És ez csak afféle szerencsétlen része a nyelvnek, hogy ezek közül néhány 275 00:13:22,810 --> 00:13:26,700 egyfajta futurisztikus, modern elemek tartalmazza belül a elemek 276 00:13:26,700 --> 00:13:34,520 olyan mélyen beivódott, hogy én valóban lesz meg kell tanítani, CS50.5 egy kicsit. 277 00:13:34,520 --> 00:13:37,305 >> Meg kell tanulnunk egy kicsit néhány funkciót annak érdekében, 278 00:13:37,305 --> 00:13:40,180 hogy valóban megértsék, mi folyik , és így nézd kódot 279 00:13:40,180 --> 00:13:42,450 és nem érzem teljesen elveszett. 280 00:13:42,450 --> 00:13:44,820 És látni fogod, mire gondolok az, hogy mindössze egy perc alatt. 281 00:13:44,820 --> 00:13:47,830 OK, így let's-- elég ez a egyfajta elméleti fejtegetés. 282 00:13:47,830 --> 00:13:52,450 Nézzük valóban nézd meg már az első gyors programot. 283 00:13:52,450 --> 00:13:53,590 Ez egy sor kód. 284 00:13:53,590 --> 00:13:57,690 14. sor itt, hogy íratja l n helló CS50. 285 00:13:57,690 --> 00:14:01,160 >> Szóval van egy pár dolog, ami nagyon különböző erről képest 286 00:14:01,160 --> 00:14:04,140 a dolog, amit lehet, használt származó C, például. 287 00:14:04,140 --> 00:14:08,390 Ezek közül az egyik, hogy nincs intmain, nincs tartalmazzák a rész, 288 00:14:08,390 --> 00:14:10,790 ott sem ez az extra cucc. 289 00:14:10,790 --> 00:14:13,790 A többek között, mint a normál I / O, mint a könyvtárak 290 00:14:13,790 --> 00:14:16,580 hogy ténylegesen biztosítani a alap szolgáltatás a nyelvet, 291 00:14:16,580 --> 00:14:19,180 automatikusan bekerülnek az része SWIFT standard könyvtár 292 00:14:19,180 --> 00:14:20,680 és hogy a program automatikusan importálja. 293 00:14:20,680 --> 00:14:23,740 Nem kell csinálni hogy a behozatali kézzel. 294 00:14:23,740 --> 00:14:27,360 >> Intmain nem létezik, mert A fő belépési pont a kódot 295 00:14:27,360 --> 00:14:29,470 ténylegesen a a kód elején. 296 00:14:29,470 --> 00:14:32,000 Tehát minden olyan kódot, kezdve az elején 297 00:14:32,000 --> 00:14:34,940 ténylegesen végre kell hajtani az elején. 298 00:14:34,940 --> 00:14:36,520 Szóval ez tényleg nagyban leegyszerűsíti. 299 00:14:36,520 --> 00:14:38,470 Figyeljük meg azt is, hogy nincs pontosvessző. 300 00:14:38,470 --> 00:14:41,040 Nincs pontosvessző ezen a nyelven. 301 00:14:41,040 --> 00:14:43,261 Ön tesz nyilatkozatot az egyes vonal 302 00:14:43,261 --> 00:14:45,510 majd a következő sorban képviseli a másik nyilatkozatot. 303 00:14:45,510 --> 00:14:47,420 Ha azt akarjuk, hogy mulitiple nyilatkozatok online 304 00:14:47,420 --> 00:14:49,086 akkor már külön is pontosvessző. 305 00:14:49,086 --> 00:14:50,940 De a legtöbb, A jó stílus, mi vagyunk 306 00:14:50,940 --> 00:14:56,530 soha nem fog látni pontosvessző számára alkalmazásában elválasztó nyilatkozatok 307 00:14:56,530 --> 00:14:58,420 A gyors. 308 00:14:58,420 --> 00:14:59,820 Szóval hogyan ez tényleg működik? 309 00:14:59,820 --> 00:15:04,080 Nos, nagyon hasonlít a C vagyunk valóban meg kell fordítani ezt. 310 00:15:04,080 --> 00:15:10,640 És így nem tehetünk, hogy segítségével gyors c, majd 1.swift. 311 00:15:10,640 --> 00:15:13,850 Majd miután pár perc Ez lefordítja 312 00:15:13,850 --> 00:15:16,340 és akkor tudok futni elemet egy. 313 00:15:16,340 --> 00:15:19,691 És mint azt mondjuk, "Helló CS50." 314 00:15:19,691 --> 00:15:20,690 Félelmetes, így megyünk. 315 00:15:20,690 --> 00:15:22,273 Ott lesz az első hello world programot. 316 00:15:22,273 --> 00:15:24,790 Térjünk át a két számot. 317 00:15:24,790 --> 00:15:30,450 >> Most this-- ez megváltozott kissé, mert míg általában akkor 318 00:15:30,450 --> 00:15:34,720 do-- valójában mindig kell neked összeállítani egy gyors alkalmazásával, mielőtt 319 00:15:34,720 --> 00:15:37,180 a ténylegesen megtett it-- egy A nagy jellegét 320 00:15:37,180 --> 00:15:40,230 hogy utaltam előtt az volt, hogy gyors is lehet használni a sort 321 00:15:40,230 --> 00:15:43,390 Az ál-értelmező üzemmódban van valójában, mint tolmács. 322 00:15:43,390 --> 00:15:46,690 De ez mit fog csinálni ott van van, sőt, a gyors alkalmazásával 323 00:15:46,690 --> 00:15:47,520 hogy lehet futtatni. 324 00:15:47,520 --> 00:15:51,050 >> Így például, ha csak típus gyors itt, mi fog történni 325 00:15:51,050 --> 00:15:52,330 az, hogy kapsz egy prompt. 326 00:15:52,330 --> 00:15:59,040 És beírhatja a gyors kódot, nyomtassa hello, és futtatni. 327 00:15:59,040 --> 00:16:01,867 És ez valóban print-- Nos, ez nem a nyomtató ebben az esetben 328 00:16:01,867 --> 00:16:04,450 mert kiírt központú ki, ami nem látható itt. 329 00:16:04,450 --> 00:16:06,660 De igazából nem tud működni. 330 00:16:06,660 --> 00:16:09,580 És így ebben az esetben, én csak fogja használni ezt a szkriptet. 331 00:16:09,580 --> 00:16:11,259 És én valóban ezt a kódot is. 332 00:16:11,259 --> 00:16:13,800 Tehát az is, hogy én valóban futtatni ez lesz kicsit más, 333 00:16:13,800 --> 00:16:15,710 De látni fogod azt, hogy csak egy pillanatra. 334 00:16:15,710 --> 00:16:18,890 Most, ebben az esetben mit fogunk tennie, hogy először meghatározza a változó. 335 00:16:18,890 --> 00:16:22,160 Tehát ez hogyan határozzuk meg a változó gyors, 336 00:16:22,160 --> 00:16:25,900 van használjuk a let kulcsszót, majd a változó nevét, 337 00:16:25,900 --> 00:16:29,280 majd adunk néhány inicializálása adatok adott. 338 00:16:29,280 --> 00:16:34,660 Tehát ebben az esetben mi meghatározása állandó nevű nevet, 339 00:16:34,660 --> 00:16:37,775 és fogunk használni, hogy a A végeredményként adódó nyomtatási sorban 340 00:16:37,775 --> 00:16:39,590 legalján, helló nevét. 341 00:16:39,590 --> 00:16:43,260 >> Most észre, hogy ahelyett% s, tudjuk párosítani a neve ennek a 342 00:16:43,260 --> 00:16:49,960 változó / (), és képes legyen összefűzi a tartalma 343 00:16:49,960 --> 00:16:51,790 kifejezést ebbe a húr. 344 00:16:51,790 --> 00:16:56,510 Most eltérően C, string egy tényleges valós típusú gyors. 345 00:16:56,510 --> 00:16:59,240 És ez így ül mellett ints és mellett 346 00:16:59,240 --> 00:17:02,220 páros nagyon könnyen és természetesen képest 347 00:17:02,220 --> 00:17:05,450 hogy néhány, a másik nyelveken, amit láttam. 348 00:17:05,450 --> 00:17:07,980 Szóval ez ténylegesen működik mint amit elvár. 349 00:17:07,980 --> 00:17:10,540 >> Tudok futni 2.swift. 350 00:17:10,540 --> 00:17:14,390 És azt látjuk, hogy a nevem valóban illesztett a, "Hello Dan." 351 00:17:14,390 --> 00:17:16,050 OK, félelmetes. 352 00:17:16,050 --> 00:17:17,485 Áttérve a hármas szám. 353 00:17:17,485 --> 00:17:19,359 Most egy kicsit A kegyes hazugság, hogy én 354 00:17:19,359 --> 00:17:23,369 azt mondta, úgy, hogy kijelentjük változók volt, hogy a let kulcsszó. 355 00:17:23,369 --> 00:17:27,640 Ahányszor csak lehetséges tudsz tenni kívánja használni hagyja, mert hogy ez mit 356 00:17:27,640 --> 00:17:29,280 ez határozza meg állandó. 357 00:17:29,280 --> 00:17:33,010 És, hogy elmondja gyors, amit tud optimalizálni a sebességet, az alkalmazás 358 00:17:33,010 --> 00:17:36,230 mert tudja, hogy ez változó nem fog megváltozni. 359 00:17:36,230 --> 00:17:38,760 >> Tehát értékelje alaposan ha fogsz használni 360 00:17:38,760 --> 00:17:41,382 változó a céljából megváltoztassák. 361 00:17:41,382 --> 00:17:43,340 És ha meg akarsz hozzon létre egy változót csak 362 00:17:43,340 --> 00:17:47,010 hogy tartsa néhány adatot, és ez az valójában nem fog megváltozni. 363 00:17:47,010 --> 00:17:50,150 Tehát ez a koncepció állandóság, Valójában nem fog megváltozni, 364 00:17:50,150 --> 00:17:53,740 egy fontos még akkor is, messze, mint meghatározó változók. 365 00:17:53,740 --> 00:17:56,870 Tehát itt definiált a nevet, hagyja neve, és ebben az esetben 366 00:17:56,870 --> 00:18:02,120 ez egy állandó, azaz a típus húr, és ez egyenlő Dan. 367 00:18:02,120 --> 00:18:05,580 >> Tehát míg a technika változat, infers-- és "ez" 368 00:18:05,580 --> 00:18:08,220 Úgy értem swift-- gyors ebből arra következtet, hogy milyen típusú adatok 369 00:18:08,220 --> 00:18:10,850 hogy már belépett a változó. 370 00:18:10,850 --> 00:18:12,930 Ebben az esetben, mi lehet explicit. 371 00:18:12,930 --> 00:18:17,590 Szóval akkor a neve ennek a változó nevét, majd a vastagbélben. 372 00:18:17,590 --> 00:18:21,350 És a kettőspont után mi is adja meg, milyen adatokat. 373 00:18:21,350 --> 00:18:24,694 Így már nem ez int nevét vagy karakterlánc nevét, vagy valami ilyesmi. 374 00:18:24,694 --> 00:18:26,860 De ahelyett, hogy hagyja a címkét, mi vagyunk meghatározása-e vagy sem 375 00:18:26,860 --> 00:18:29,090 ez állandó vagy változó, neve követ, 376 00:18:29,090 --> 00:18:31,870 majd a típus adott esetben. 377 00:18:31,870 --> 00:18:34,730 >> Tehát ebben az esetben mi meghatározása ez a név egy húr. 378 00:18:34,730 --> 00:18:35,790 Azt mondjuk Dan. 379 00:18:35,790 --> 00:18:39,270 És most már egy másik változó, Ebben az esetben hívják címkét. 380 00:18:39,270 --> 00:18:42,090 De észre, hogy ez előtaggal a var kulcsszó. 381 00:18:42,090 --> 00:18:44,430 A var kulcsszó segítségével hogy ez a változó 382 00:18:44,430 --> 00:18:48,720 megváltoztatható egy későbbi pontján ideje, valahol a kódban 383 00:18:48,720 --> 00:18:52,480 tudjuk valóban változtatni, és ez nem ad nekünk adott hibát. 384 00:18:52,480 --> 00:18:56,760 >> Meg tudjuk csinálni szabvány concatenating üzemeltetője itt a plusz jelre 385 00:18:56,760 --> 00:19:00,130 hogy valójában hozzá a nevét ezt a fonalat. 386 00:19:00,130 --> 00:19:02,921 És akkor ki is nyomtathatja, mint láttuk, csak egy pillanattal ezelőtt. 387 00:19:02,921 --> 00:19:04,920 Most mondjuk, hogy szeretnénk létrehozni egy változót 388 00:19:04,920 --> 00:19:06,586 de nem akarod inicializálni, hogy még. 389 00:19:06,586 --> 00:19:08,590 Ön még nem akarja tegyen adatok. 390 00:19:08,590 --> 00:19:11,760 Hát meg kell mondani gyors, milyen típusú adatok 391 00:19:11,760 --> 00:19:16,430 lesz, mielőtt aktuálisan meghatározzák, hogy megfelelő. 392 00:19:16,430 --> 00:19:20,360 >> Tehát ebben az esetben, amikor már definiált változó nevű minőségű kell lennünk 393 00:19:20,360 --> 00:19:24,450 egyértelműen beszél a típusát, mert ez nem következik csak keres 394 00:19:24,450 --> 00:19:27,300 A inicializált adat Az Ön által megadott hozzá. 395 00:19:27,300 --> 00:19:30,050 Ez ad nekünk egy hiba, ha csak típus var fokozat, például, 396 00:19:30,050 --> 00:19:31,830 mert nincs típus ezért. 397 00:19:31,830 --> 00:19:33,353 Tehát grade = 100. 398 00:19:33,353 --> 00:19:35,790 Annak érdekében, hogy a 100 egy egész szám, azt illik nagyon szépen bele. 399 00:19:35,790 --> 00:19:36,998 Ez továbbra is működni fog. 400 00:19:36,998 --> 00:19:40,350 401 00:19:40,350 --> 00:19:43,022 Láthatjuk, hogyan akkor összefűzheti ezt. 402 00:19:43,022 --> 00:19:44,730 Most lehet, hogy kísértés, ha valóban 403 00:19:44,730 --> 00:19:48,610 akarta összefűzni évfolyam másik karakterláncot, 404 00:19:48,610 --> 00:19:52,560 egy másik szöveget, hogy akkor csak használni, hogy ugyanazt összefűző operátor. 405 00:19:52,560 --> 00:19:54,630 És ami általában igaz. 406 00:19:54,630 --> 00:20:00,540 De a gyors nem teszi lehetővé, hogy implicit módosításához típusú adatokat. 407 00:20:00,540 --> 00:20:03,440 Tehát ebben az esetben, ez a vonal, 25, sikertelen lesz 408 00:20:03,440 --> 00:20:06,650 mert grade egy integer és nem karaktersorozat. 409 00:20:06,650 --> 00:20:08,760 És így van egy mismatch be a típust. 410 00:20:08,760 --> 00:20:11,780 Szóval van, hogy explicit, ha meg akarja változtatni ezeket az adatokat, 411 00:20:11,780 --> 00:20:14,080 ha azt szeretné, hogy kényszerítsen erre adatok egy más típusú 412 00:20:14,080 --> 00:20:17,250 és azt mondják, OK, azt akarom, hogy ez a fokozat, amely egy egész szám, 413 00:20:17,250 --> 00:20:19,050 és átalakítani, hogy egy húr. 414 00:20:19,050 --> 00:20:23,970 >> Teszek egy tőke s karakterlánc összes típusú, észre fogod venni, aktiváljuk, 415 00:20:23,970 --> 00:20:26,280 Int, Double, String, így tovább és így tovább. 416 00:20:26,280 --> 00:20:28,930 Mindegyik tőkésített csak azért, hogy a dolgok könnyebb. 417 00:20:28,930 --> 00:20:32,240 És azt fogjuk mondani kihasználni Karakterlánc át bele minőségű. 418 00:20:32,240 --> 00:20:35,020 És ez létre fog hozni egy karakterlánc ki, hogy egész. 419 00:20:35,020 --> 00:20:37,970 És akkor mi is összefűzi A két nagyon szépen. 420 00:20:37,970 --> 00:20:40,500 Bármilyen kérdése van ez a cucc eddig? 421 00:20:40,500 --> 00:20:43,770 Rendben, nézzük eke egészen a négyes számú. 422 00:20:43,770 --> 00:20:47,870 >> Most beszéljünk néhány fejlettebb struktúrákat, mint a tömbök és hurkok. 423 00:20:47,870 --> 00:20:54,920 És ellentétben C, tömbök gyors nem képviseli mutatók. 424 00:20:54,920 --> 00:20:58,730 Eligazítást gyors, bár létezik, az úgynevezett 425 00:20:58,730 --> 00:21:02,840 mint a nem biztonságos mutatók, vagy néhány hasonló típusú, mint ez, 426 00:21:02,840 --> 00:21:04,950 ők nincsenek kitéve a szokásos. 427 00:21:04,950 --> 00:21:07,300 Így nagyon nehéz lesz Önnek manipulálni 428 00:21:07,300 --> 00:21:10,020 A memóriát közvetlenül a számítógép. 429 00:21:10,020 --> 00:21:11,670 >> Tehát tömbök csak egy típusú adatokat. 430 00:21:11,670 --> 00:21:16,830 És ők hivatkozott segítségével ezt a fajta Az alapfelszereltség szögletes zárójel jelölés 431 00:21:16,830 --> 00:21:18,280 hogy már látott. 432 00:21:18,280 --> 00:21:21,130 De ha tényleg akar határozzák meg a típus egy változó 433 00:21:21,130 --> 00:21:24,330 tömbként néhány adott típusú, akkor 434 00:21:24,330 --> 00:21:27,150 tedd azt írja, szögletes zárójelben. 435 00:21:27,150 --> 00:21:30,260 Szóval mit mondok itt az, hogy Hozok létre nevű változót 436 00:21:30,260 --> 00:21:33,930 fokozat int típusú tömb. 437 00:21:33,930 --> 00:21:37,380 És én beállítás, ami azonos bizonyos inicializált adat, ami ebben az esetben 438 00:21:37,380 --> 00:21:42,960 100, 0, 90, 85, ami csak egy gyűjtemény tetszőleges fokozat van. 439 00:21:42,960 --> 00:21:46,480 Most ebben az esetben csak tudtam, emlékszem, távolítsa el a típus, 440 00:21:46,480 --> 00:21:49,580 és képes lenne arra következtetni, hogy alapján az inicializált adat. 441 00:21:49,580 --> 00:21:51,990 De ha én el ezt, és Kellett beállítani, hogy később, 442 00:21:51,990 --> 00:21:56,840 akkor azt kell róla hogy én a típus van. 443 00:21:56,840 --> 00:21:58,750 Rendben, menjünk együtt. 444 00:21:58,750 --> 00:22:03,010 Tehát can-- tömbök ad meg nekünk a különböző 445 00:22:03,010 --> 00:22:07,130 A módszerek segítségével, hogy pont jelölése A Most valószínűleg ismeri. 446 00:22:07,130 --> 00:22:10,360 Így grades.count, például, azt mondja, pontosan száma 447 00:22:10,360 --> 00:22:13,680 elemek, amelyek Az ezen az array. 448 00:22:13,680 --> 00:22:17,260 >> Ha azt szeretnénk, hogy adjunk additional-- most észre, hogy ez egy var 449 00:22:17,260 --> 00:22:20,140 és nem-- ez egy változó és nem állandó, amely 450 00:22:20,140 --> 00:22:24,410 azt jelenti, hogy meg tudom változtatni a tartalmát Ennek a tömbnek, tudok hozzá objektumokat is. 451 00:22:24,410 --> 00:22:28,870 De nem tudok csak mondani fokozat majd szögletes zárójelben 452 00:22:28,870 --> 00:22:33,280 négy, mert ez lesz a határokat hiba ebben az esetben. 453 00:22:33,280 --> 00:22:36,190 Ha azt szeretnénk, hogy valóban változtatni A mérete tömb, 454 00:22:36,190 --> 00:22:41,140 Azt kell használni a pont append módszer adjunk valamit a legvégén is. 455 00:22:41,140 --> 00:22:46,900 Tudom, azonban a változás az egyes indexek. 456 00:22:46,900 --> 00:22:48,920 >> Így tudtam használni fokozat majd szögletes zárójelek 457 00:22:48,920 --> 00:22:52,480 nulla kezelni ezt az első index és így tovább, mint amit általában elvárható. 458 00:22:52,480 --> 00:22:56,530 És én is tegyék ugyanezt, hogy ténylegesen megkapják az adatokat, hogy is. 459 00:22:56,530 --> 00:23:00,420 Most van még valami divatos módszer Az ezt, fokozat, plusz az egyenlők 460 00:23:00,420 --> 00:23:02,525 majd egy másik index, amely append-- 461 00:23:02,525 --> 00:23:04,400 vagy sem egy másik index-- de egy másik lista, amely 462 00:23:04,400 --> 00:23:07,340 hozzáfűzi, hogy a listát a hátsó fokozat. 463 00:23:07,340 --> 00:23:09,780 És a fokozatok tartalmazhat aztán ennyi. 464 00:23:09,780 --> 00:23:13,850 De ez a fajta egy extra dolog, hogy én csak megmutatja a móka kedvéért. 465 00:23:13,850 --> 00:23:14,910 >> Most van egy hurok. 466 00:23:14,910 --> 00:23:18,970 És ez a kezdete, ahol a dolgok kezdenek változtatni egy kicsit. 467 00:23:18,970 --> 00:23:22,920 Figyeljük meg, hogy ez a for ciklus eltér a hurkok C. 468 00:23:22,920 --> 00:23:26,470 Most fogom megjegyezni, hogy A hurkok SWIFT 469 00:23:26,470 --> 00:23:30,650 kell tenni, hogy néz ki a hurkot C, de van egy csomó hasznos konstrukciók 470 00:23:30,650 --> 00:23:37,840 hogy lényegében nincs szükség hogy a var i értéke 0 pontosvessző i 471 00:23:37,840 --> 00:23:40,340 kisebb, mint bizonyos hossz, így tovább, és így tovább, ugye? 472 00:23:40,340 --> 00:23:42,940 És ez a konstrukció nem csak egy közülük. 473 00:23:42,940 --> 00:23:49,030 >> Az index, index új változó, ebben az esetben, a tartományban. 474 00:23:49,030 --> 00:23:52,730 És mit mondok, hogy van közötti tartományban 0 egészen annak 475 00:23:52,730 --> 00:23:55,870 de nem beleértve grades.count. 476 00:23:55,870 --> 00:23:58,470 Tehát ez a pont pont kevesebb, mint jel a 477 00:23:58,470 --> 00:24:05,040 egy sor értékek nullától kezdve egészen a grades.count mínusz 1. 478 00:24:05,040 --> 00:24:07,070 Van egy külön üzemeltető, hogy létezik, 479 00:24:07,070 --> 00:24:13,320 amely dot dot dot, amely azt jelenti, hogy akarom tartományban nulla 480 00:24:13,320 --> 00:24:16,310 kategóriákba számít inclusive. 481 00:24:16,310 --> 00:24:19,130 >> De ebben az esetben, mivel ezek a tömbök nulla index, akkor természetesen 482 00:24:19,130 --> 00:24:23,290 nem akar menni a maximális évfolyamok száma. 483 00:24:23,290 --> 00:24:26,390 Tudom összefoglalni a fokozat, ahogy lehet, számíthat, és kimeneti összes ezt a cuccot. 484 00:24:26,390 --> 00:24:29,620 OK, a továbblépés. 485 00:24:29,620 --> 00:24:32,270 Most beszéljünk funkciókat. 486 00:24:32,270 --> 00:24:35,465 Annak érdekében, hogy meghatározza a függvény használja a funk kulcsszó. 487 00:24:35,465 --> 00:24:38,090 És ismét, a Swift meg kell legyen nagyon óvatos azokkal a típusokkal. 488 00:24:38,090 --> 00:24:41,530 Az Ön által az ez paraméterek meghatározásával, például, 489 00:24:41,530 --> 00:24:45,440 A paraméter nevét és majd Colin, az adatok típusa 490 00:24:45,440 --> 00:24:47,690 hogy vársz, hogy paraméter elfogadni. 491 00:24:47,690 --> 00:24:50,700 >> Tehát ebben az esetben van egy nevezett funkció nyomtatási minőségű száma. 492 00:24:50,700 --> 00:24:54,630 Elfogadja, változó nevű Gradebook, vagy inkább nevezett paraméter Gradebook. 493 00:24:54,630 --> 00:24:59,267 És várjuk, hogy Gradebook hogy egy sor egész számok. 494 00:24:59,267 --> 00:25:01,350 Ha ez Gradebook üres, fogunk nyomtatni egy dolog. 495 00:25:01,350 --> 00:25:06,090 Különben kiírja a számát évfolyamok, hogy ez valójában. 496 00:25:06,090 --> 00:25:09,470 >> Most, ha azt akarjuk, hogy visszatérjen Néhány értéket, majd az út 497 00:25:09,470 --> 00:25:14,595 hogy módosítsa ezt a definíciót hogy ténylegesen használni ezt a nyilat kulcsszó, 498 00:25:14,595 --> 00:25:16,870 vagy hogy ezt a nyilat jelölő. 499 00:25:16,870 --> 00:25:19,440 Tehát itt fogunk definiálni olyan függvény átlag. 500 00:25:19,440 --> 00:25:21,940 Megyünk, hogy elfogadja a fenti számok. 501 00:25:21,940 --> 00:25:25,430 És megyünk vissza a kettős, amely remélhetőleg 502 00:25:25,430 --> 00:25:31,270 átlaga ebben a tömbben. 503 00:25:31,270 --> 00:25:34,570 És annak érdekében, hogy ezt megtegye, annak érdekében, hogy ténylegesen kiszámolják ez az átlag, 504 00:25:34,570 --> 00:25:38,651 mi lesz egy összeget, és mi akaratát Természetesen Összefoglalva minden tárgy 505 00:25:38,651 --> 00:25:39,400 ezen belül tömb. 506 00:25:39,400 --> 00:25:41,480 >> Figyeljük meg, hogy van egy új stílusa a hurok itt. 507 00:25:41,480 --> 00:25:45,450 Nem kell, hogy egyértelműen beszél iterálás minden elemét, 508 00:25:45,450 --> 00:25:48,280 de mi inkább azt mondják, a évfolyam és Gradebook, jelentése 509 00:25:48,280 --> 00:25:50,930 hogy minden egyes elem, hogy már ebben, 510 00:25:50,930 --> 00:25:53,482 biztosítani, hogy pont ez a nevű változó minőségű. 511 00:25:53,482 --> 00:25:54,940 És akarok valamit csinálni. 512 00:25:54,940 --> 00:26:00,350 Így fogok összefoglalni az összes adat és valóban visszatér a kettős részlege. 513 00:26:00,350 --> 00:26:04,436 >> Most észre megint itt van a fogalmát egészosztás a Swift. 514 00:26:04,436 --> 00:26:06,810 Ha azt szeretnénk, hogy megduplázza divízió mert azt szeretnénk tizedessel, 515 00:26:06,810 --> 00:26:09,460 akkor meg kell lennie explicit, Nem csak arról szól, egyik oldalon, 516 00:26:09,460 --> 00:26:14,030 mert nem engedem, kényszerített adatok mindkét oldalon ebben, 517 00:26:14,030 --> 00:26:17,030 akkor ténylegesen természetesen mindkét oldalán a páros 518 00:26:17,030 --> 00:26:19,440 hogy te nagyon explicit ügyelve 519 00:26:19,440 --> 00:26:23,370 hogy csinálsz dupla részlege. 520 00:26:23,370 --> 00:26:26,150 >> Menjünk tovább. 521 00:26:26,150 --> 00:26:31,150 Szóval, ha tényleg akar accept-- így ebben a konkrét példában, 522 00:26:31,150 --> 00:26:34,260 ez még mindig egy parancs vonal alapú alkalmazás. 523 00:26:34,260 --> 00:26:37,920 És még csak most kezdünk látni néhány A korlátozások a fiatal nyelven 524 00:26:37,920 --> 00:26:41,850 hogy bár tudjuk eléréséhez érvek segítségével 525 00:26:41,850 --> 00:26:44,940 ez a process.arguments, ez még mindig nem feltétlenül a legtisztább 526 00:26:44,940 --> 00:26:46,200 dolog, amit valaha láttunk. 527 00:26:46,200 --> 00:26:49,142 De alapvetően azt javasoljuk, a fajta nézd meg ezt a kódot 528 00:26:49,142 --> 00:26:51,100 és próbálja meg kitalálni, pontosan mi is folyik itt. 529 00:26:51,100 --> 00:26:55,030 >> Lényegében mi történik az, hogy Mi vigyázunk a fenti érvek 530 00:26:55,030 --> 00:26:57,610 és arra kényszerítsék őket egészek, majd mi vagyunk 531 00:26:57,610 --> 00:27:03,620 fogja használni, hogy olyan módon, hogy nyomtassa out átlaga minden kedves fokozat. 532 00:27:03,620 --> 00:27:06,150 533 00:27:06,150 --> 00:27:07,350 Lépjünk tovább. 534 00:27:07,350 --> 00:27:11,190 Most van egy másik típusú data-- Egy másik adat helyett a típus tömbök 535 00:27:11,190 --> 00:27:14,940 nevű szótárak, amelyek nagyon hasonló hash táblák vagy hash térképek 536 00:27:14,940 --> 00:27:18,560 és hasonlóak is, hogy PHP asszociatív tömböket. 537 00:27:18,560 --> 00:27:20,770 Így az elképzelésük A kulcsokat és értékeket. 538 00:27:20,770 --> 00:27:23,780 >> És ők is definiálható a ez a szögletes zárójel jelölést, 539 00:27:23,780 --> 00:27:26,750 de a különbség az, hogy szótárak 540 00:27:26,750 --> 00:27:29,370 belsejében a szögletes zárójel, kettőspont. 541 00:27:29,370 --> 00:27:33,850 És a vastagbél elválasztja az adatokat írja, hogy a kulcs és az érték. 542 00:27:33,850 --> 00:27:38,540 Tehát ebben az esetben, fogok létrehozni szótárt elfogadni bizonyos típusokat. 543 00:27:38,540 --> 00:27:44,200 És ez lesz string típusú: int, 544 00:27:44,200 --> 00:27:46,940 ami azt jelenti, hogy minden, a kulcsok lesznek vonósok, 545 00:27:46,940 --> 00:27:53,080 és az összes az értékeket az ezen kulcsok lesznek egészek. 546 00:27:53,080 --> 00:27:55,780 >> Ez azt jelenti, hogy én is majd hivatkozni a konkrét adatok 547 00:27:55,780 --> 00:28:00,490 Azt akarom, hogy használja ezeket a gombokat, hanem mint a numerikus indexek, mint én 548 00:28:00,490 --> 00:28:04,350 lenne egy normál tömb. 549 00:28:04,350 --> 00:28:06,470 Most lássuk, van Az egyik fontos dolog 550 00:28:06,470 --> 00:28:10,790 hogy én is szeretném megemlíteni, mintegy az adott kódrészletet. 551 00:28:10,790 --> 00:28:12,910 És ez az, hogy van más típusú adatok, 552 00:28:12,910 --> 00:28:15,580 vagy inkább itt van ez a gondolata adatok, amelyek 553 00:28:15,580 --> 00:28:18,340 tartalmazott Swift nevű Opcionális. 554 00:28:18,340 --> 00:28:21,270 >> És mi Opcionális azt jelenti, hogy elismeri azt a tényt, 555 00:28:21,270 --> 00:28:27,500 hogy néha nem fogod hogy az adatokat, hogy tulajdonképpen számíthat. 556 00:28:27,500 --> 00:28:31,400 És akkor mi van értek ezen ez-- nézzük vessünk egy pillantást erre kódrészletét 557 00:28:31,400 --> 00:28:38,910 amely végigmegy a Kibocsátó összes érvek, hogy adtak át ezt a kódot 558 00:28:38,910 --> 00:28:43,460 és megpróbálja átalakítani őket, megpróbálja hogy szét a különböző húrok, 559 00:28:43,460 --> 00:28:47,310 mert elfogadja a nagyon adott típusú érvelés. 560 00:28:47,310 --> 00:28:51,530 És akkor fog próbálni, hogy kényszerítsen a húrok, hogy a számoknak 561 00:28:51,530 --> 00:28:55,460 a egészek, amelyek fokozat, hogy tudok majd kiszámítani. 562 00:28:55,460 --> 00:28:58,230 >> Tehát alapvetően fogok használja ezt a split függvény, hogy 563 00:28:58,230 --> 00:29:00,080 belül létezik Swift standard könyvtár. 564 00:29:00,080 --> 00:29:03,720 Megyek át bele a húr, hogy szeretnék megosztani. 565 00:29:03,720 --> 00:29:06,980 És akkor használja ezt fajta funky szintaxist, amely 566 00:29:06,980 --> 00:29:09,670 Nem tudom, ha mi is megtudhatod eljutni, de talán annyi, hogy 567 00:29:09,670 --> 00:29:14,320 valóban pontosan meghatároznák karakter, amit kívánt osztott meg. 568 00:29:14,320 --> 00:29:16,030 Mit is jelent ez valójában kinézni? 569 00:29:16,030 --> 00:29:18,740 Vessünk egy pillantást ténylegesen fut a kód. 570 00:29:18,740 --> 00:29:22,000 >> Így például, mondjuk én a kvízt, és kaptam 50 e. 571 00:29:22,000 --> 00:29:23,960 És van egy PSETs és Kaptam egy száz rajta. 572 00:29:23,960 --> 00:29:29,180 És én got-- van egy másik kvízt, és kaptam egy 40 rajta. 573 00:29:29,180 --> 00:29:33,520 Elütöttem Enter, és végül az, ami fog történni, hogy mit csinál 574 00:29:33,520 --> 00:29:37,730 vesz ezen paraméterek, hasító A húrok ezeken kettőspont, 575 00:29:37,730 --> 00:29:41,390 elismerve, hogy van két elem mindegyik, 576 00:29:41,390 --> 00:29:43,700 és ez alapvetően hogy nyomon követhetőek az egyes. 577 00:29:43,700 --> 00:29:49,226 >> Szóval van a szótáramban egy kvíz, melynek érték képviseli a szám 50, 578 00:29:49,226 --> 00:29:54,290 Van egy PSET, aminek értéke 100, és a kvíz amely értéke 40. 579 00:29:54,290 --> 00:29:57,400 Aztán később a kódot I valójában átlagosan az összes ilyen értékek 580 00:29:57,400 --> 00:30:01,160 és kiírja az összes kulcsait hogy az adott szótárban. 581 00:30:01,160 --> 00:30:03,217 De ez fontos így észre 582 00:30:03,217 --> 00:30:06,050 mi történik, hogy mi akarok, hogy ez a sztring 583 00:30:06,050 --> 00:30:11,450 és osztott meg ezen a karaktert, amit tehetünk ismét a felosztás 584 00:30:11,450 --> 00:30:15,690 funkciót használva ez a fajta Érdekes szintaxist, ami létezik itt. 585 00:30:15,690 --> 00:30:17,880 >> Csak most azt feltételezik, hogy ez rendben van. 586 00:30:17,880 --> 00:30:19,980 Majd nézd meg többet ez az csak egy kis időre. 587 00:30:19,980 --> 00:30:23,230 De most van egy érdekes szempont, hogy mi valójában 588 00:30:23,230 --> 00:30:27,250 szeretném kipróbálni, hogy konvertálni a string egész. 589 00:30:27,250 --> 00:30:29,720 De más nyelveken mi történhet a 590 00:30:29,720 --> 00:30:33,440 hogy mi lenne valószínűleg megpróbálja csinálni, és akár vissza 591 00:30:33,440 --> 00:30:36,185 valamiféle sentinel értéket, mint a negatív 592 00:30:36,185 --> 00:30:39,420 vagy talán egy null, vagy valami ilyesmi. 593 00:30:39,420 --> 00:30:41,070 Vagy talán ez csak hibát okozott. 594 00:30:41,070 --> 00:30:42,820 És mi lett volna majd fogni, hogy a hiba 595 00:30:42,820 --> 00:30:44,820 majd próbálja meg valamit a tényen alapul, 596 00:30:44,820 --> 00:30:48,280 Ez az átszámítás egészre nem sikerült. 597 00:30:48,280 --> 00:30:50,460 Ez az, ahol ez a gondolat Az Opcionális jön. 598 00:30:50,460 --> 00:30:56,120 Akkor valóban létrehoznak egy olyan adattípust, hogy egy int kérdőjel, például. 599 00:30:56,120 --> 00:30:59,140 600 00:30:59,140 --> 00:31:01,910 Ez azt jelenti, hogy ezt az egész van, sőt, választható. 601 00:31:01,910 --> 00:31:05,980 És mi fog történni, hogy olykor tartalmaznak egy egész, vagy nincs. 602 00:31:05,980 --> 00:31:10,650 Lehet, sőt, ez a másik ötlete, teljesen nevű Nill. 603 00:31:10,650 --> 00:31:14,900 Amelyben ez azt jelenti, hogy van nincs értéke nincs erre. 604 00:31:14,900 --> 00:31:16,810 Ez nem is nulla, csak nincs értéke. 605 00:31:16,810 --> 00:31:18,790 Nincs semmi értéket képviselt. 606 00:31:18,790 --> 00:31:21,650 >> És ez az, amit ez a 71-es vonalon csinál. 607 00:31:21,650 --> 00:31:25,990 Az, hogy azt mondja, hogy én szeretném kipróbálni, hogy be értéket, 608 00:31:25,990 --> 00:31:31,790 változó nevű minőségű, egyenlő a átváltott karakterláncot int. 609 00:31:31,790 --> 00:31:34,010 Szóval vettem ezt a szöveget, ez az első elemeit, 610 00:31:34,010 --> 00:31:37,680 vagy inkább a második komponensek, mert ez 611 00:31:37,680 --> 00:31:40,770 nulla indexelt, ennek húr, hogy én már szét. 612 00:31:40,770 --> 00:31:42,930 És akarom váltani hogy egy egész szám. 613 00:31:42,930 --> 00:31:46,730 De ez nem mindig jár el általában, mert elképzelni 614 00:31:46,730 --> 00:31:50,710 mi lenne, ha ahelyett, típus Számos, az I. típusú természetesen, mint asdf. 615 00:31:50,710 --> 00:31:51,534 >> Meg fog sikerülni. 616 00:31:51,534 --> 00:31:54,200 Valójában nem lesz képes átalakítani, hogy egy egész 617 00:31:54,200 --> 00:31:55,510 ahogy várnánk. 618 00:31:55,510 --> 00:31:58,660 Tehát nem rúg ki valamilyen hibát, 619 00:31:58,660 --> 00:32:01,210 mi ez az ötlet egy opcionális. 620 00:32:01,210 --> 00:32:04,240 És ez azt jelenti, hogy a ez a kérdőjel azt mondhatom, 621 00:32:04,240 --> 00:32:09,100 OK, lehetséges, hogy tudok venni Ennek át azt egy int, 622 00:32:09,100 --> 00:32:12,630 és tedd be egy változó, amely egyben egy int. 623 00:32:12,630 --> 00:32:15,420 Ha igen, akkor ez azt jelenti hogy ez volt sikeres 624 00:32:15,420 --> 00:32:18,720 és ez az első része A blokk továbbra is. 625 00:32:18,720 --> 00:32:21,040 >> Egyébként ez nem sikerült. 626 00:32:21,040 --> 00:32:25,840 Nincs értelme a grade-- vagy inkább nincs értéke a meglévő, 627 00:32:25,840 --> 00:32:30,220 és én valóban meg kell próbálnunk kezelni ezt a hibaüzenetet. 628 00:32:30,220 --> 00:32:33,340 Fogsz látni ezt kérdőjel minden alkalommal 629 00:32:33,340 --> 00:32:35,990 A Swift és például kódját Swift. 630 00:32:35,990 --> 00:32:40,980 És valójában a Nill üzemeltető, ez a fajta A kérdőjel, a Opcionális része, 631 00:32:40,980 --> 00:32:45,057 lesz valószínűleg az egyik A nehezebb dolgokat 632 00:32:45,057 --> 00:32:47,640 a fajta tekerje a fejét ahogy valóban dolgozni vele. 633 00:32:47,640 --> 00:32:48,490 >> Talán van értelme most. 634 00:32:48,490 --> 00:32:50,760 És valóban, amikor én voltam bemutatkozás kód, 635 00:32:50,760 --> 00:32:52,780 természetesen megértettem mi történik, 636 00:32:52,780 --> 00:32:55,570 de még mindig fogott velem meglepetés minden olyan gyakran 637 00:32:55,570 --> 00:32:58,370 ha azt találjuk, hogy Egyes adatok valójában 638 00:32:58,370 --> 00:33:04,024 nulla változat, opcionális változat Az adatok vártam. 639 00:33:04,024 --> 00:33:06,190 Tehát csak észre, hogy ha Van egy opcionális verzió 640 00:33:06,190 --> 00:33:09,360 meg kell kicsomagolni, hogy adatokat ebben a rovatban. 641 00:33:09,360 --> 00:33:15,870 >> Szóval ez a fajta, mint én-- képzeld el, ha van egy doboz, és benne valamit. 642 00:33:15,870 --> 00:33:18,490 És mit kell csinálni van feltenni a kérdést, 643 00:33:18,490 --> 00:33:22,800 lehetséges, hogy ez a készülék rendelkezik jelenleg tartalmazza azokat az adatokat, hogy én keresek? 644 00:33:22,800 --> 00:33:28,180 Ha igen, akkor húzza az adatokat, és tedd be ezt a változót meglévő. 645 00:33:28,180 --> 00:33:32,080 Ha nem, akkor én csak azt kell figyelmen kívül hagyják a doboz tartalma 646 00:33:32,080 --> 00:33:34,310 Összesen mert Szó szerint nem tartalmaz semmit. 647 00:33:34,310 --> 00:33:36,880 648 00:33:36,880 --> 00:33:40,400 >> Bármilyen kérdése van ez? 649 00:33:40,400 --> 00:33:44,430 OK, menjünk el ezt fajta parancssor alapú dolog, 650 00:33:44,430 --> 00:33:47,610 és elkezdi nézi néhány, a technológia 651 00:33:47,610 --> 00:33:53,060 hogy Xcode nyújt nekünk formájában játszóterek. 652 00:33:53,060 --> 00:33:56,669 Szóval van egy csomó képesség itt Swift. 653 00:33:56,669 --> 00:33:59,210 És ha nyit Xcode és megkérdezi, hogy mit szeretne csinálni, 654 00:33:59,210 --> 00:34:01,340 akkor nyit a játszótéren és csak a játék körül 655 00:34:01,340 --> 00:34:06,200 sok különböző struktúrák és szempontok a nyelven 656 00:34:06,200 --> 00:34:11,800 mielőtt még kezdetét megható Az iOS SDK, vagy a Mac SDK. 657 00:34:11,800 --> 00:34:15,670 >> Tehát ebben az esetben, mondjuk, hogy én have-- Van egy viszonylag kitalált példa 658 00:34:15,670 --> 00:34:18,460 itt, de tartsatok velem mi sort A munka révén ezt a példát. 659 00:34:18,460 --> 00:34:22,639 Tegyük fel, hogy van, hogy sokat A kitevő egy fix érték, 660 00:34:22,639 --> 00:34:26,397 mint tudjuk, hogy mi lesz szüksége, hogy nem sok téren hatáskörök, például. 661 00:34:26,397 --> 00:34:28,980 Így fogunk, hogy néhány érték x, megyünk Square, 662 00:34:28,980 --> 00:34:30,540 megyünk, hogy néhány érték y és megyünk főtéren. 663 00:34:30,540 --> 00:34:31,780 Így tovább és így tovább. 664 00:34:31,780 --> 00:34:35,549 >> Most talán tényleg csak hozzon létre egy ereje 2 funkció, ugye? 665 00:34:35,549 --> 00:34:37,090 Szóval mi lenne létrehozni egy 2-hatvány függvény. 666 00:34:37,090 --> 00:34:38,600 Majd elfogadom kettős. 667 00:34:38,600 --> 00:34:41,489 Majd output-- vagy mi vissza a double típus. 668 00:34:41,489 --> 00:34:46,159 Elvisszük ezt az eredményt és majd kétszer 669 00:34:46,159 --> 00:34:52,040 amit valójában, hogy az eredmények, amelyek volt az előkészületek ahhoz, hogy értéke egy, 670 00:34:52,040 --> 00:34:53,090 és szorozza meg x. 671 00:34:53,090 --> 00:34:56,540 Tehát lényegében már x-szer x itt. 672 00:34:56,540 --> 00:35:01,860 >> És akkor tudok majd, ahogy azon is számítunk, hogy ezt, futni ereje 2, 673 00:35:01,860 --> 00:35:03,680 biztosítani kell, hogy bizonyos adatokat, szeretem 2.0. 674 00:35:03,680 --> 00:35:05,756 És megkapjuk, hogy az itt közölt eredmények 4.0. 675 00:35:05,756 --> 00:35:09,200 Fuss ereje 2 3.2 és mi kap, hogy az eredményünk, 10.24. 676 00:35:09,200 --> 00:35:10,840 Eddig jó, ugye? 677 00:35:10,840 --> 00:35:12,070 Most arra gondoltunk, nos, OK. 678 00:35:12,070 --> 00:35:15,530 Most valóban meg kell sokat hatásköre 3. 679 00:35:15,530 --> 00:35:19,180 Úgyhogy Copy Paste mindezt kódot, nevének megváltoztatása azt a funkciót, 680 00:35:19,180 --> 00:35:24,440 ereje 2 hatalomra 3, és mindent ugyanaz lesz, kivéve ezt az értéket 681 00:35:24,440 --> 00:35:26,740 Itt, ebben a tartományban, 1 ... 2. 682 00:35:26,740 --> 00:35:29,590 >> Tehát ahelyett hogy Ez a hurok két alkalommal, 683 00:35:29,590 --> 00:35:31,880 Azt akarom, hogy ismételje meg ezt a loop háromszor. 684 00:35:31,880 --> 00:35:36,330 Szóval én csak változtatni, hogy értéket 1 3-- vagy inkább 2-3. 685 00:35:36,330 --> 00:35:39,230 Tehát még egyszer ugyanazt a kódot, ez az egyetlen változás. 686 00:35:39,230 --> 00:35:40,080 Most ez is működik. 687 00:35:40,080 --> 00:35:43,860 Power of 3 vannak egyes értéke 2. 688 00:35:43,860 --> 00:35:44,420 Kapunk 8. 689 00:35:44,420 --> 00:35:45,370 Tehát 2 hatványával. 690 00:35:45,370 --> 00:35:48,060 És 3.2 cubed van 32,768. 691 00:35:48,060 --> 00:35:50,597 És eddig jó, ugye? 692 00:35:50,597 --> 00:35:52,930 De remélhetőleg ez egy kicsit kis piros zászló az Ön számára 693 00:35:52,930 --> 00:35:55,530 hogy most már van Egyes párhuzamos kódot 694 00:35:55,530 --> 00:35:58,800 kivéve egyes nagyon csekély változik az egyik a másikra. 695 00:35:58,800 --> 00:36:02,170 Szóval van valamilyen módon, hogy mi képes lehet egyszerűsíteni 696 00:36:02,170 --> 00:36:06,080 ezt a problémát, ahol mi is valójában, futásidőben, kitalálni valami, 697 00:36:06,080 --> 00:36:11,320 ad meg nekünk néhány funkció, amely Pontosan a hatalom, hogy szeretnénk. 698 00:36:11,320 --> 00:36:13,960 >> És itt van ez a gondolata bezárások, ami nagyon, nagyon 699 00:36:13,960 --> 00:36:18,180 fontos keretében Swift, és sok más nyelven is. 700 00:36:18,180 --> 00:36:21,580 De valószínűleg látni fogja régen inkább Swift 701 00:36:21,580 --> 00:36:23,650 mert beágyazott nyelven belül 702 00:36:23,650 --> 00:36:28,280 mint akkor más továbbá a modern nyelvek. 703 00:36:28,280 --> 00:36:31,140 Tehát az ötlet egy bezárása ez, az, hogy 704 00:36:31,140 --> 00:36:35,430 Lehet egy funkciót, ami azt jelentette, hogy hogy egy általános funkciója, egy általános teljesítménye 705 00:36:35,430 --> 00:36:36,860 A funkció. 706 00:36:36,860 --> 00:36:41,010 >> És ez a funkció nem fog elfogadni ez az exponens, hogy valójában 707 00:36:41,010 --> 00:36:42,990 szeretnénk létrehozni. 708 00:36:42,990 --> 00:36:46,550 Így például, az első Például, szerettünk volna egy ereje 2. 709 00:36:46,550 --> 00:36:50,050 Szóval mi lenne energiával ellátni a és majd zárójelben a 2.. 710 00:36:50,050 --> 00:36:52,490 És most vette észre, mi ez valójában visszatér. 711 00:36:52,490 --> 00:36:57,680 Ez az input egy alapozó hívott y hogy egy egész szám, 712 00:36:57,680 --> 00:37:03,090 és visszatér az őrült keres dolog parentheses-- zárójelben 713 00:37:03,090 --> 00:37:06,230 kétágyas és a nyíl kétszer. 714 00:37:06,230 --> 00:37:10,270 >> Ez azt jelenti, hogy én vagyok fog visszatérni a funkciót. 715 00:37:10,270 --> 00:37:13,510 Én nem tér vissza Más típusú adatok, én vagyok 716 00:37:13,510 --> 00:37:16,350 sőt visszatérő függvény amely ezt a paramétert, hogy 717 00:37:16,350 --> 00:37:22,680 elfogadja a kettős, mint input és kimenetek kettős visszatérési értékként. 718 00:37:22,680 --> 00:37:29,750 És ennek eredményeként, mert most hívtam erejét, átadva néhány érték y, 719 00:37:29,750 --> 00:37:32,280 és hozok létre ezt a másik function-- észreveszed, hogy van 720 00:37:32,280 --> 00:37:35,980 Egy másik funkció, amit most létrehozott belsejében this-- mit csinálok 721 00:37:35,980 --> 00:37:37,830 A tudok majd változtatni ez az érték, hogy az egyik 722 00:37:37,830 --> 00:37:41,010 értéke, hogy én megváltozott 2-3, azt teszik most y. 723 00:37:41,010 --> 00:37:42,500 >> És ez továbbra is fennáll. 724 00:37:42,500 --> 00:37:48,530 Így minden alkalommal, hogy hívom teljesítmény A lényegében mi történik 725 00:37:48,530 --> 00:37:51,030 az, hogy kapok vissza a funkciót. 726 00:37:51,030 --> 00:37:54,310 Figyeljük meg, hogy itt van, amit meghatározott egy új változó nevű téren. 727 00:37:54,310 --> 00:37:59,340 Állítottam, hogy egyenlő ereje, amennyiben ez az érték 2 és erejét. 728 00:37:59,340 --> 00:38:02,030 És mi ez a visszatért a funkciót. 729 00:38:02,030 --> 00:38:05,970 Tehát téren, a változó négyzet, most a típus függvényében 730 00:38:05,970 --> 00:38:11,390 amely this-- hoppá, felfelé a kis bit--, hogy van ez az aláírás, 731 00:38:11,390 --> 00:38:15,560 elfogadni egy dupla és kimeneti kettős. 732 00:38:15,560 --> 00:38:17,330 >> Tehát most mit tettem az én már lényegében 733 00:38:17,330 --> 00:38:22,890 létre olyan függvény téren, hogy elfogad bármilyen értéket, és főtéren. 734 00:38:22,890 --> 00:38:24,960 Láthatjuk, hogy mi történik itt. 735 00:38:24,960 --> 00:38:29,960 Square 3 például azt jelenti, megyek hogy a 3-at és hasábot is. 736 00:38:29,960 --> 00:38:32,010 Tehát pontosan hogyan is működik ez? 737 00:38:32,010 --> 00:38:37,800 Amikor elmegyek erejét 2-- amikor pass 2 ebbe a hatalom a funkciót, 738 00:38:37,800 --> 00:38:44,430 ez a változó y értéke benépesített, hogy a 2 értéket. 739 00:38:44,430 --> 00:38:46,340 És ez a fajta a memóriában. 740 00:38:46,340 --> 00:38:49,430 Hogy a fajta, mint tartott állami valahol a számítógépen, 741 00:38:49,430 --> 00:38:51,980 mi nem igazán érdekel, hogy vagy amennyiben ezen a ponton. 742 00:38:51,980 --> 00:38:54,692 >> De vissza ezt a funkciót nevű exponentiate. 743 00:38:54,692 --> 00:38:57,400 És ismét, hogy nem igazán számít mi ezt a funkciót nevezik, 744 00:38:57,400 --> 00:39:01,730 tudjuk igazán nevezném semmit, hogy elfogadja a dupla és visszaad egy dupla, 745 00:39:01,730 --> 00:39:05,640 de ezt az értéket használja y belsejébe. 746 00:39:05,640 --> 00:39:09,290 Tehát annak ellenére, hogy ezt a funkciót, ez a exponentiater funkciót, ami 747 00:39:09,290 --> 00:39:13,600 visszakerült vissza a változó, hogy hívtam téren, 748 00:39:13,600 --> 00:39:17,980 azt a benne található ez a fogalom, amit y volt. 749 00:39:17,980 --> 00:39:19,070 És felejtette el. 750 00:39:19,070 --> 00:39:24,810 >> Így minden alkalommal hívom ezt a funkciót, hogy most hívott téren, akkor ez a. 751 00:39:24,810 --> 00:39:27,990 De ez azt is jelenti, hogy én is hozzon létre egy másik változó segítségével 752 00:39:27,990 --> 00:39:29,120 egy másik hatalom. 753 00:39:29,120 --> 00:39:33,240 Szóval lehet létrehozni egy kockát változóban Például nyújt hozzá ereje 3. 754 00:39:33,240 --> 00:39:37,230 Most kocka valóban némi érték és kocka, és küldje vissza. 755 00:39:37,230 --> 00:39:39,570 Tehát láthatjuk, hogy kapok érték 8 belőle. 756 00:39:39,570 --> 00:39:42,720 >> De ez az érték y nem megváltozott, mert ők 757 00:39:42,720 --> 00:39:44,980 tartott egyfajta független változók. 758 00:39:44,980 --> 00:39:47,480 Ők egyfajta tartott független terek memória. 759 00:39:47,480 --> 00:39:51,290 Tehát kocka mindig van x hogy a hatalom a 3. 760 00:39:51,290 --> 00:39:55,380 És téren mindig van x hogy a hatalom a 2, ami 761 00:39:55,380 --> 00:39:58,470 azt jelenti, hogy a tér mindig négyzetszámot, ahogy elvárják. 762 00:39:58,470 --> 00:40:01,794 És cube mindig kockára vágott számokat, ahogy elvárják. 763 00:40:01,794 --> 00:40:04,960 Ez azt is jelenti, hogy néha akkor kapunk valami funky keres szintaxis 764 00:40:04,960 --> 00:40:09,030 ahol van ereje a nagyon A képernyő alján van, teljesítménye 5. 765 00:40:09,030 --> 00:40:11,410 És adja át az eredménybe. 766 00:40:11,410 --> 00:40:14,670 Ezt nevezed funkciót, ami visszakerült a 4-es számú. 767 00:40:14,670 --> 00:40:17,440 És akkor mi alapvetően ez a 4, hogy a teljesítmény ötödik, 768 00:40:17,440 --> 00:40:20,830 látjuk az eredményesség. 769 00:40:20,830 --> 00:40:23,690 Velem eddig? 770 00:40:23,690 --> 00:40:26,620 >> Így ez az ötlet hívják bezárását, mert amit te alapvetően csinál 771 00:40:26,620 --> 00:40:30,610 a mi külvilágtól Egyes adatok into-- sort 772 00:40:30,610 --> 00:40:33,050 Falazó ezen adatok egy függvény, és mi vagyunk 773 00:40:33,050 --> 00:40:36,240 hogy képes újra ezt a funkciót. 774 00:40:36,240 --> 00:40:41,480 Most ez a szintaxis bár lehet ténylegesen egyszerűsíteni kell egy nagy összeget. 775 00:40:41,480 --> 00:40:45,005 És van sok lehetőséggel A Swift esetében ez az egyszerűsítés. 776 00:40:45,005 --> 00:40:47,780 És ez milyen a továbbiaké valóban nézd meg. 777 00:40:47,780 --> 00:40:51,400 Tehát 7b például, mi ezt pontosan ugyanazt a kódot. 778 00:40:51,400 --> 00:40:54,360 >> De most inkább valójában egy függvény definiálása 779 00:40:54,360 --> 00:40:57,910 belsejében ez a hatalom működni, és adja meg a nevét, 780 00:40:57,910 --> 00:41:00,150 majd visszatér a név Az, hogy a funkció, amely 781 00:41:00,150 --> 00:41:02,357 akkor használják részeként Ez a lezárás helyett vagyunk 782 00:41:02,357 --> 00:41:03,440 csak úgy, hogy egyszerűsítik. 783 00:41:03,440 --> 00:41:06,580 Nem kell ezt a funkciót meg kell nevezni. 784 00:41:06,580 --> 00:41:09,760 Tehát ez a koncepció egy névtelen függvény, ahol tudunk majd 785 00:41:09,760 --> 00:41:15,180 elfogadom a bemenet, a zárójelben van, Az x változó, ami a típusú kettős. 786 00:41:15,180 --> 00:41:17,250 >> Megyünk vissza a típusú kettős. 787 00:41:17,250 --> 00:41:19,830 És akkor a kulcsszó, n, Az elején ez a funkció. 788 00:41:19,830 --> 00:41:22,180 Tehát észre, hogy mindez belül zárójelek 789 00:41:22,180 --> 00:41:25,310 és mi meghatároz egy névtelen függvény itt. 790 00:41:25,310 --> 00:41:29,910 Csak egy egyszerűbb módja meghatározó pontosan ugyanaz a dolog. 791 00:41:29,910 --> 00:41:30,810 OK? 792 00:41:30,810 --> 00:41:36,740 De várj, Swift valóban lehetővé teszi számunkra, továbblépni és egyszerűsítése még, 793 00:41:36,740 --> 00:41:40,180 mert valóban nem így érdekel, hogy ez a paraméter 794 00:41:40,180 --> 00:41:41,700 elemzi különösebb dolog. 795 00:41:41,700 --> 00:41:48,090 Ez igazán nevezhető semmit, és még használhatjuk, hogy az első paraméter. 796 00:41:48,090 --> 00:41:53,800 >> Szóval valójában ezt a különleges típusú adatokat anonim függvények, 797 00:41:53,800 --> 00:41:57,710 itt van ez a különleges neve változók névtelen függvények 798 00:41:57,710 --> 00:42:00,280 kezdetű dollár jel és képviselik 799 00:42:00,280 --> 00:42:03,785 A paraméterek száma, nulla indexelt, hogy ez a funkció. 800 00:42:03,785 --> 00:42:05,410 Szóval van egy-két dolog történik. 801 00:42:05,410 --> 00:42:08,550 Itt fogok visszatérni, majd a kapcsos zárójel képviselő a funkciót, 802 00:42:08,550 --> 00:42:09,050 ugye? 803 00:42:09,050 --> 00:42:13,920 >> Figyeljük meg, hogy én nem határoztam meg a paraméterek típusa vagy a visszatérési típus. 804 00:42:13,920 --> 00:42:16,460 Ez is lehet következtetni mert az aláírás 805 00:42:16,460 --> 00:42:18,360 Ennek az eredeti funkciót. 806 00:42:18,360 --> 00:42:20,500 Így ki tudjuk küszöbölni hogy, mint egy lehetőség. 807 00:42:20,500 --> 00:42:25,120 Hanem tudom használni dollár jel nulláról jelentik az első paraméter, ami 808 00:42:25,120 --> 00:42:28,200 átment ez a névtelen függvény. 809 00:42:28,200 --> 00:42:31,630 Tehát egyszerűsítve még inkább. 810 00:42:31,630 --> 00:42:32,750 OK? 811 00:42:32,750 --> 00:42:33,820 Eddig jó? 812 00:42:33,820 --> 00:42:36,980 >> Most már ez a type-- ugye emlékszik erre dollár jel nulla 813 00:42:36,980 --> 00:42:40,130 hogy láttuk ebben a kapcsos zárójel hogy láttuk csak egy kicsit 814 00:42:40,130 --> 00:42:43,870 ezelőtt ezen a Swift hat példát? 815 00:42:43,870 --> 00:42:46,560 Éppen itt volt. 816 00:42:46,560 --> 00:42:48,430 Figyeljük meg, hogy pontosan mit keresünk itt, 817 00:42:48,430 --> 00:42:51,580 az, hogy mi telt Ebbe a split funkció 818 00:42:51,580 --> 00:42:55,140 egy névtelen függvény, amely ellenőrzi az első paraméter 819 00:42:55,140 --> 00:42:57,830 hogy ha az megegyezik a vastagbél szimbóluma. 820 00:42:57,830 --> 00:42:59,830 És pontosan mi történik, hogy minden 821 00:42:59,830 --> 00:43:02,320 mi doing-- a visszatérés kulcsszó hallgatólagos 822 00:43:02,320 --> 00:43:05,800 Ebben case-- vagyunk visszatérő Ezt az értéket, ahol mi vagyunk összehasonlítása 823 00:43:05,800 --> 00:43:10,020 Az első paraméter ellen ez a karakter a vastagbél. 824 00:43:10,020 --> 00:43:11,730 És így egyfajta demystifies ennek. 825 00:43:11,730 --> 00:43:17,210 És fogsz látni ezt a konstrukciót sokat Swift szintaxist, úgy tartani, hogy a 826 00:43:17,210 --> 00:43:19,400 szem előtt, ha éppen egy pillantást vetni ennek. 827 00:43:19,400 --> 00:43:21,970 Most szálljon le a sínek egy kicsit 828 00:43:21,970 --> 00:43:25,460 és megy igazán divatos, amely megmutatja, még néhány Swift hatalom. 829 00:43:25,460 --> 00:43:27,950 Lehet, hogy még látni néhány Ezeknek a minta kódokat. 830 00:43:27,950 --> 00:43:29,790 Szóval ezért megyek megmutatni Önnek. 831 00:43:29,790 --> 00:43:37,260 >> Alapvetően mit tehetünk az, hogy az első Mindenekelőtt ez a fajta felesleges nekem 832 00:43:37,260 --> 00:43:41,710 hogy hajtsák végre az, hogy a hatalom a kódot, hiszen ha importálja az Darwin 833 00:43:41,710 --> 00:43:46,490 könyvtár, az ténylegesen tartalmaz egy funkciót nevű Pow, hogy megteszi ezt. 834 00:43:46,490 --> 00:43:50,570 Így lehet egyszerűsíteni még több és Megvan a indítási funkció, már csak 835 00:43:50,570 --> 00:43:54,890 egy csodálatos egy óceánjáró, ahol csak vissza a névtelen függvény, 836 00:43:54,890 --> 00:44:00,780 elfogadja dollár jel 0-t bázis és y mint a kitevő. 837 00:44:00,780 --> 00:44:02,582 >> De tudjuk igazán, igazán divatos amikor 838 00:44:02,582 --> 00:44:04,790 észre, hogy a SWIFT-nek sok erő a motorháztető alatt. 839 00:44:04,790 --> 00:44:07,010 Sok a piaci szereplőket, hogy mi már évek óta foglalkozik, 840 00:44:07,010 --> 00:44:11,270 plusz jelek és szimbólumok részlege és mindezek a dolgok, hogy általában 841 00:44:11,270 --> 00:44:15,620 Működik az adattípusok egy programozási nyelv, 842 00:44:15,620 --> 00:44:17,600 valójában nyújthatók a Swift. 843 00:44:17,600 --> 00:44:21,460 Szóval, mit jelent az, hogy mi meghatározhatja saját szereplők. 844 00:44:21,460 --> 00:44:26,020 >> Tehát most fáradt vagyok gépelni mindezt Pow majd a zárójelben majd 845 00:44:26,020 --> 00:44:26,520 az alap. 846 00:44:26,520 --> 00:44:27,520 Nem akarom ezt tenni. 847 00:44:27,520 --> 00:44:30,190 Igazából szeretnék, hogy egy üzemeltető, amely lehetővé teszi számomra, hogy. 848 00:44:30,190 --> 00:44:34,510 Tehát azt lehet mondani, hogy Swift akarok hogy hozzon létre egy operátor, csillag 849 00:44:34,510 --> 00:44:39,472 star-- mellesleg nem tudom használni a Carat mert a karát egy olyan hajtás 850 00:44:39,472 --> 00:44:40,680 nem valami teljesen mást. 851 00:44:40,680 --> 00:44:42,720 Szóval nem szeretné rendezni Az ütköznek, hogy. 852 00:44:42,720 --> 00:44:45,750 És így mit látsz a különböző nyelven, köztük Python, 853 00:44:45,750 --> 00:44:48,810 olyan, mint csillag csillag üzemeltető képviseletére kitevő. 854 00:44:48,810 --> 00:44:50,730 >> Szóval ez az egyetlen ok miért tettem ezt. 855 00:44:50,730 --> 00:44:53,067 És ez lesz Egy infix típusú üzemeltető. 856 00:44:53,067 --> 00:44:54,900 És azt kell biztosítani rá bizonyos információkat 857 00:44:54,900 --> 00:44:58,386 a részesítendő ennek üzemeltető így bal asszociatív. 858 00:44:58,386 --> 00:45:00,260 Ez olyan, mint a viszonylag magas elsőbbséget képest 859 00:45:00,260 --> 00:45:02,432 összegezését, illetve a szaporodás. 860 00:45:02,432 --> 00:45:04,140 Ez nagyobb elsőbbséget mint az összes ilyen. 861 00:45:04,140 --> 00:45:04,931 Így tovább és így tovább. 862 00:45:04,931 --> 00:45:07,410 És akkor azt határozza meg funkciót, amely ténylegesen 863 00:45:07,410 --> 00:45:10,070 előírják, hogy milyen ez a szolgáltató nem. 864 00:45:10,070 --> 00:45:14,150 Tehát feltételezve, hogy van egy bal oldali és a jobb oldali, 865 00:45:14,150 --> 00:45:17,330 ami talán egy Jobb változó nevét ehhez. 866 00:45:17,330 --> 00:45:20,690 Bal oldali és a jobb oldalon. 867 00:45:20,690 --> 00:45:26,740 Tudom majd venni ezt a hatalmat a bal oldalon, hogy a jobb oldali 868 00:45:26,740 --> 00:45:28,980 és vissza, hogy értéket. 869 00:45:28,980 --> 00:45:30,370 Tehát most már szuper édes. 870 00:45:30,370 --> 00:45:33,790 Mindössze annyit kell tennie, hogy 2 star star 3 és, hogy a 2, hogy a harmadik teljesítmény, 871 00:45:33,790 --> 00:45:35,290 és kapunk egy értéket a 8. 872 00:45:35,290 --> 00:45:40,280 2 star star 10 2 a 10. hatalom, kapunk 1024. 873 00:45:40,280 --> 00:45:43,630 >> Tehát most a hatalom a funkciót, amely megint más, 874 00:45:43,630 --> 00:45:47,030 mert az egész ötlet mögött volt, hogy van egy funkció, amely 875 00:45:47,030 --> 00:45:50,700 Mindig némi értéke, és megsokszorozza it-- vagy inkább 876 00:45:50,700 --> 00:45:53,240 veszi a kitevő, hogy ugyanaz a hatalom. 877 00:45:53,240 --> 00:45:54,300 Szóval most még egyszerűbb. 878 00:45:54,300 --> 00:45:57,070 Tehát most már csak dollár aláírja 0 csillagos csillagos y. 879 00:45:57,070 --> 00:46:01,190 Nem is kell használni pow többé. 880 00:46:01,190 --> 00:46:03,020 >> OK, aki elvesztette? 881 00:46:03,020 --> 00:46:03,700 Csinálunk OK? 882 00:46:03,700 --> 00:46:05,090 Bármilyen kérdése van ez a cucc? 883 00:46:05,090 --> 00:46:05,815 Igen? 884 00:46:05,815 --> 00:46:09,500 >> Közönség: Amikor you-- [hallhatatlan] A funk erejét y kettős. 885 00:46:09,500 --> 00:46:11,441 Ha tehát visszatér a funkciót. 886 00:46:11,441 --> 00:46:13,190 DANIEL Armendariz: Funk erejét y kettős. 887 00:46:13,190 --> 00:46:14,270 Ja, nem tudom, mi a y számok. 888 00:46:14,270 --> 00:46:15,708 Elnézést kérek. 889 00:46:15,708 --> 00:46:19,420 >> Közönség: Miért visszatérő függvényében [hallhatatlan] burkolat. 890 00:46:19,420 --> 00:46:24,214 Nem dollár nulla csillagos csillagos y [hallhatatlan] 891 00:46:24,214 --> 00:46:29,710 találni, hogy üzemeltetőt, hogy visszatérő kétszeres [hallhatatlan] duplázza? 892 00:46:29,710 --> 00:46:32,742 >> DANIEL Armendariz: Akkor most nekem válaszolni a kérdésre 893 00:46:32,742 --> 00:46:35,950 ahogyan én értelmezem, és meg tudod mondani nekem, ha nem értem a kérdést. 894 00:46:35,950 --> 00:46:42,850 Szóval ez a konstrukció, a kapcsos zárójel dollár jel nulla csillagos csillagos y, 895 00:46:42,850 --> 00:46:44,280 függvénye. 896 00:46:44,280 --> 00:46:50,080 És elfogadja a paraméternek által képviselt dollár jel nulla. 897 00:46:50,080 --> 00:46:55,830 A return is megadta az e Nagyon rövid, névtelen függvény szintaxisa. 898 00:46:55,830 --> 00:46:57,870 >> Ami azt jelenti, hogy lényegében mi ez a mond 899 00:46:57,870 --> 00:47:01,270 az, hogy én meghatározó function-- aztán majd 900 00:47:01,270 --> 00:47:05,320 csak hívja meg something-- ahol van valamilyen érték y. 901 00:47:05,320 --> 00:47:08,300 Van y, ami duplája. 902 00:47:08,300 --> 00:47:10,750 És még visszatérek egy dupla. 903 00:47:10,750 --> 00:47:19,010 És van belül, hogy cserébe y-- sajnálom, Nem kellett volna nevezte ezt y-- x. 904 00:47:19,010 --> 00:47:20,240 Ó, kedves, oh kedves, oh kedves. 905 00:47:20,240 --> 00:47:27,440 X- nope-- star star y. 906 00:47:27,440 --> 00:47:29,720 >> Tehát ez csak egy egyszerűsített változata ennek. 907 00:47:29,720 --> 00:47:33,990 És így az oka, hogy én dollár jel nulla az, hogy ezzel a burkolat 908 00:47:33,990 --> 00:47:41,050 azt jelenti, hogy már nincs hogy írja pow, vagy már nem csinálni 909 00:47:41,050 --> 00:47:45,570 Azt kell csinálni valamit mint 3 star star 2. 910 00:47:45,570 --> 00:47:48,530 Én is csak egyetlen nevű függvény négyzetes 911 00:47:48,530 --> 00:47:50,820 amely mindig Néhány értéket input 912 00:47:50,820 --> 00:47:52,980 és valóban vissza a térre, hogy. 913 00:47:52,980 --> 00:47:56,460 >> Tehát az egész célja a lezárás hogy csak egyfajta magukba azt a tényt, 914 00:47:56,460 --> 00:47:59,920 hogy mindig szeretné használni y amikor Hívom, melyek egyfajta teljesítmény 915 00:47:59,920 --> 00:48:01,710 Ha ezt is kitevő. 916 00:48:01,710 --> 00:48:04,650 Tehát visszatérő akkor, egy függvény, amely elfogadja 917 00:48:04,650 --> 00:48:08,460 kettős, amely a bázis, és vissza az eredménye, hogy exponent 918 00:48:08,460 --> 00:48:10,740 a kulcs itt. 919 00:48:10,740 --> 00:48:12,790 És ez a legnagyobb különbség. 920 00:48:12,790 --> 00:48:14,430 Ott volt, csak egy kicsit virágzik. 921 00:48:14,430 --> 00:48:17,970 >> Ez nem különböztek összehasonlítva a korábbi példák, 922 00:48:17,970 --> 00:48:20,530 de ez csak egy kis a virágzását mi is valójában 923 00:48:20,530 --> 00:48:24,500 hozzon létre egy üzemeltető Swift és valóban csinálni dolgokat vele, 924 00:48:24,500 --> 00:48:26,396 ami elég király dolog. 925 00:48:26,396 --> 00:48:27,520 Mondtam a válasz? 926 00:48:27,520 --> 00:48:28,390 Édes. 927 00:48:28,390 --> 00:48:31,350 Még valami, mielőtt tovább megyünk? 928 00:48:31,350 --> 00:48:33,570 OK. 929 00:48:33,570 --> 00:48:36,430 >> Most ez a fajta felveti a kérdés hogy-- is OK, 930 00:48:36,430 --> 00:48:40,870 Most megvan a képessége, a funkciókat kell visszaküldeni. 931 00:48:40,870 --> 00:48:48,950 Tudunk is át funkcionál adatok vagy paraméterként egyéb funkciók? 932 00:48:48,950 --> 00:48:50,710 És valóban tudunk. 933 00:48:50,710 --> 00:48:53,480 Tehát mondjuk, hogy van minden azonos kódot. 934 00:48:53,480 --> 00:48:56,120 Megvan a tér változó amely téren ezt a kódot. 935 00:48:56,120 --> 00:48:59,320 És mi van a kocka változó amely kocka néhány adatot. 936 00:48:59,320 --> 00:49:02,440 És mi valóban szeretnénk alkalmazni hogy széles körű számok. 937 00:49:02,440 --> 00:49:06,870 >> Tehát mi lehet a kísértés, hogy nem, Persze, amely minden bizonnyal érvényes, 938 00:49:06,870 --> 00:49:15,430 az, hogy végighaladni ezen számok listája és alkalmazni a funkciók tér és kocka 939 00:49:15,430 --> 00:49:22,270 és kap két új listákat eredmények amelyek ebben az eredeti listán a négyzeten 940 00:49:22,270 --> 00:49:24,970 és CubeD, illetve. 941 00:49:24,970 --> 00:49:26,880 Tökéletesen elfogadható. 942 00:49:26,880 --> 00:49:29,130 De mi van a dolog, hogy itt látunk, az, hogy van, 943 00:49:29,130 --> 00:49:31,310 Ismét párhuzamos kódunkat. 944 00:49:31,310 --> 00:49:34,310 És van talán lehetőséget számunkra, hogy egyszerűsítse ezt egy kicsit. 945 00:49:34,310 --> 00:49:41,260 Mi van, ha egy utat számunkra, hogy tulajdonképpen mindig is végighaladni néhány listája 946 00:49:41,260 --> 00:49:45,450 és csak át kell ezt a varázslatos működik egy változó, 947 00:49:45,450 --> 00:49:47,350 képvisel funkció hogy szeretnénk alkalmazni 948 00:49:47,350 --> 00:49:50,336 hogy minden egyes tétel ebben a listában. 949 00:49:50,336 --> 00:49:53,210 Ez felveti annak fogalmát nevezzük magasabb rendű funkciókat. 950 00:49:53,210 --> 00:49:57,150 És, hogy lényegében az, amit ez a van, az, hogy mi is létrehozhatunk egy funkciót. 951 00:49:57,150 --> 00:50:00,210 >> És ebben az esetben úgy hívják mapper, csak azért, hogy adja meg a nevét, csak 952 00:50:00,210 --> 00:50:02,510 mapping mint minden Egyetlen elem egy listában. 953 00:50:02,510 --> 00:50:06,191 Hol veszek egy listát és veszek egy funkciót. 954 00:50:06,191 --> 00:50:08,440 És ez a funkció, persze, van egy bizonyos aláírás. 955 00:50:08,440 --> 00:50:11,980 Elfogadja, mint a paraméter a kettős és kiírja, hogy egy dupla. 956 00:50:11,980 --> 00:50:14,310 És az egész eredményét Ez a funkció fog 957 00:50:14,310 --> 00:50:18,921 hogy egy új listát, amely a típusú kettős. 958 00:50:18,921 --> 00:50:19,420 OK? 959 00:50:19,420 --> 00:50:22,650 >> És mit fogok csinálni van, hogy ezt a funkciót f 960 00:50:22,650 --> 00:50:24,960 minden egyes elemére listámon. 961 00:50:24,960 --> 00:50:30,280 És reply-- és inkább visszatér az új lista eredményeként, ami nagyon klassz. 962 00:50:30,280 --> 00:50:31,820 Most tudom át funkciók körül. 963 00:50:31,820 --> 00:50:35,290 És ez a gondolat a magasabb rendű funkciók valóban fontos. 964 00:50:35,290 --> 00:50:39,260 És ez mapper tényleg csak A szegény ember végrehajtása 965 00:50:39,260 --> 00:50:43,130 egy függvény, ami épül a Swift nevű térképet. 966 00:50:43,130 --> 00:50:45,690 És ez nem pontosan ez, talán még egy kicsit jobban. 967 00:50:45,690 --> 00:50:48,260 >> Ez csak egyfajta általános, egyszerűsített változata, amely 968 00:50:48,260 --> 00:50:51,270 lehetővé teszi számunkra, hogy a fogalom, amely érvényes itt. 969 00:50:51,270 --> 00:50:54,630 Most nézd meg, ahogy én ténylegesen alkalmazni a téren 970 00:50:54,630 --> 00:50:57,850 és az én kocka funkciók hogy ezt a listát a számok. 971 00:50:57,850 --> 00:50:58,780 Én vezetem a mapper. 972 00:50:58,780 --> 00:51:00,280 Adok hozzá listámon a számokat. 973 00:51:00,280 --> 00:51:02,155 Adok hozzá az a funkciót, ami megy 974 00:51:02,155 --> 00:51:04,170 alkalmazni minden egyes ilyen indexek. 975 00:51:04,170 --> 00:51:07,120 És ez lesz kimeneten. 976 00:51:07,120 --> 00:51:11,810 És én lesz látni, hogy én már a négyzeten és kockára vágott saját számok eredményeként. 977 00:51:11,810 --> 00:51:14,660 >> És persze a térképező kerül bármiféle névtelen függvény. 978 00:51:14,660 --> 00:51:17,640 Mi lehet még látni, hogy már létre Új névtelen függvény, hogy 979 00:51:17,640 --> 00:51:20,220 Csak némi paraméter és osztja 2. 980 00:51:20,220 --> 00:51:24,340 És azt látjuk, hogy én már, sőt, osztva listámon 2 helyett. 981 00:51:24,340 --> 00:51:25,250 Cool? 982 00:51:25,250 --> 00:51:27,340 Eddig jó? 983 00:51:27,340 --> 00:51:29,650 Rendben, térjünk gyere vissza ezt az elképzelést. 984 00:51:29,650 --> 00:51:36,160 Nézzük végre ezt vissza összefüggésben a Gradebook. 985 00:51:36,160 --> 00:51:41,860 >> És ha megteszem, azt látjuk, hogy tudok alkalmaz sokféle ezeket options-- 986 00:51:41,860 --> 00:51:44,330 vagy sokféle ezeket magasabb rendű funkciók 987 00:51:44,330 --> 00:51:51,450 hogy valóban egyszerűsítik a képesség, hogy nem egy különböző dolgokat listákon a számok. 988 00:51:51,450 --> 00:51:53,660 Így például, ha azt hogy a fenti számok, 989 00:51:53,660 --> 00:51:57,060 az egyik a magasabb rendű funkciók hogy létezik az úgynevezett csökkentésére. 990 00:51:57,060 --> 00:52:00,080 Mit csinál csökkenti, hanem mint térkép, csökken majd 991 00:52:00,080 --> 00:52:03,710 hogy két elemet a listában, eltart majd egy funkciót, hogy 992 00:52:03,710 --> 00:52:07,420 összehasonlítja a két eleme A lista, és ez lesz majd a 993 00:52:07,420 --> 00:52:09,610 fajta output-- a kimenetét, hogy a funkció 994 00:52:09,610 --> 00:52:13,790 lesz egy másik eleme, hogy akkor majd hasonlítsa össze másokkal. 995 00:52:13,790 --> 00:52:18,190 >> Szóval lehet ezt használni ténylegesen számok összege a listán. 996 00:52:18,190 --> 00:52:20,640 Például, ha volt egy listát a 1, 2, 3, 4, 5, 997 00:52:20,640 --> 00:52:22,940 megtenni az első elem, 1 és 2. 998 00:52:22,940 --> 00:52:27,270 Akkor lehet, hogy egy kívül működést, mely e két elem 999 00:52:27,270 --> 00:52:30,980 és kiköpi az egyik ilyen elem, ami a 3-at. 1000 00:52:30,980 --> 00:52:35,684 Ezután vesszük, hogy értéke 3 a következő eleme a listán, összefoglalva a két, 1001 00:52:35,684 --> 00:52:37,100 majd menj tovább a listán. 1002 00:52:37,100 --> 00:52:40,410 >> Mi csökkentésére listáját, hogy egyetlen érték. 1003 00:52:40,410 --> 00:52:42,700 És ez csak azért történik hogy a plusz jelre 1004 00:52:42,700 --> 00:52:44,670 egy olyan üzemben, mint mi most láttam. 1005 00:52:44,670 --> 00:52:47,500 Ez az operátor valójában egy függvény, 1006 00:52:47,500 --> 00:52:53,100 van pontosan ez a lista, hogy mi akarná, hanem ezeket a tulajdonságokat 1007 00:52:53,100 --> 00:52:54,770 hogy mi szeretne. 1008 00:52:54,770 --> 00:52:56,760 Így azt javasoljuk, hogy vessünk egy pillantást erre. 1009 00:52:56,760 --> 00:52:59,290 Azt akarom, hogy egyfajta elmozdulás A néhány, a kód 1010 00:52:59,290 --> 00:53:05,330 hogy mi is valójában nézni néhány tényleges, valós, igaz Swift Xcode, 1011 00:53:05,330 --> 00:53:06,880 iOS fejlesztői. 1012 00:53:06,880 --> 00:53:08,630 De vessünk egy pillantást ezt, és nézd meg, hogy 1013 00:53:08,630 --> 00:53:11,171 feldolgozni keresztül, mi folyik ezek közül néhány magasabb rendű 1014 00:53:11,171 --> 00:53:13,790 funkciókat, beleértve a filter, csökkentésére,, és akkor is 1015 00:53:13,790 --> 00:53:17,060 lásd valahol itt térkép. 1016 00:53:17,060 --> 00:53:17,910 Pontosan itt. 1017 00:53:17,910 --> 00:53:20,410 Hol fog tartani egy sorozatot évfolyamok s ez valójában 1018 00:53:20,410 --> 00:53:24,230 map őket a switch szerkezet, ami lehet, hogy ismeri a C, 1019 00:53:24,230 --> 00:53:27,640 de valójában sokkal több erősebb, mint a switch szerkezet 1020 00:53:27,640 --> 00:53:29,810 hogy van a C. 1021 00:53:29,810 --> 00:53:31,930 >> És alkalmazni fogjuk, hogy a Minden elem a listában 1022 00:53:31,930 --> 00:53:34,540 és ténylegesen biztosítja a levél minőségű az egyes 1023 00:53:34,540 --> 00:53:40,780 ezeknek az osztályoknak a mindezen fogalmak hogy már csak beszélt korábban. 1024 00:53:40,780 --> 00:53:44,760 Most kikerüljék csak egy perc, és beszélni struktúrákat. 1025 00:53:44,760 --> 00:53:49,680 És így Struktúrák egy várakozás C, hogy mi képesek voltak meg egy új típusú adatok. 1026 00:53:49,680 --> 00:53:53,590 Struktúrák léteznek Swift. 1027 00:53:53,590 --> 00:53:58,980 És így nem sok más konstrukciók nevű enum és osztályok, amelyek valóban 1028 00:53:58,980 --> 00:54:01,175 ezt az ötletet, hogy a teljesen más szinten. 1029 00:54:01,175 --> 00:54:05,300 >> És tulajdonképpen ez csak egy módja meghatározásának egy új típusú adat. 1030 00:54:05,300 --> 00:54:11,010 Tehát, ha get-- ha jön az egész osztály vagy struktúrákat vagy enum, 1031 00:54:11,010 --> 00:54:13,290 nem összezavarodnak általa. 1032 00:54:13,290 --> 00:54:16,280 Ez csak a meghatározási módja néhány új adott típusú adatok. 1033 00:54:16,280 --> 00:54:20,230 És ez nagyon fontos, amikor beszélünk iOS app fejlesztése 1034 00:54:20,230 --> 00:54:24,630 mert minden, ami belül létezik iOS app 1035 00:54:24,630 --> 00:54:27,460 lényegében egy objektum valamilyen. 1036 00:54:27,460 --> 00:54:31,980 És egy tárgy alapvetően osztály vagy enum vagy struct. 1037 00:54:31,980 --> 00:54:34,760 >> Tehát ebben az esetben én vagyok amely új típusú adatok 1038 00:54:34,760 --> 00:54:37,740 hogy hívom értékelése ez bizonyos tulajdonságait, beleértve a 1039 00:54:37,740 --> 00:54:41,040 egy nevet és egy sorozata fokozat. 1040 00:54:41,040 --> 00:54:43,470 Tehát az egyik típusú értékelés hogy talán gondol 1041 00:54:43,470 --> 00:54:44,760 lenne vetélkedők, például. 1042 00:54:44,760 --> 00:54:48,180 Azt akarom, hogy egy értékelését, hogy volt egy kvíz 1043 00:54:48,180 --> 00:54:51,460 és hogy volt a különböző fokozatok társított, a vetélkedő egyik, 1044 00:54:51,460 --> 00:54:52,840 kvíz két, így tovább és így tovább. 1045 00:54:52,840 --> 00:54:55,720 >> Vagy talán van egy másfajta Az értékelés problémát készletek. 1046 00:54:55,720 --> 00:54:56,650 És tudom csinálni a dolgokat. 1047 00:54:56,650 --> 00:54:59,860 Én valójában tartozó funkciók típus 1048 00:54:59,860 --> 00:55:02,645 Az adatok, amelyek most hívott módszerek. 1049 00:55:02,645 --> 00:55:04,520 Tehát, ha valaha is látni a szókép, ez tényleg 1050 00:55:04,520 --> 00:55:08,190 csak egy függvény, amely érvényes hogy egy nagyon különleges osztály, 1051 00:55:08,190 --> 00:55:10,100 vagy egy nagyon speciális típusú adatok. 1052 00:55:10,100 --> 00:55:12,350 Ez lehetővé teszi számunkra, hogy az adatok módosítását belül. 1053 00:55:12,350 --> 00:55:15,510 >> Más szóval, ha azt akarom, hogy adjunk hozzá egy fokozat Megítélésem, 1054 00:55:15,510 --> 00:55:18,630 akkor csak annyit kell tennie, hogy fűzze a kottát, hogy volt input 1055 00:55:18,630 --> 00:55:22,660 hogy ezt a funkciót én belső tulajdonsághoz. 1056 00:55:22,660 --> 00:55:25,880 Van egy másik ügyes konstrukció itt A Swift, ami ezt a dot dot dot 1057 00:55:25,880 --> 00:55:31,780 operátor, ami azt jelenti, hogy pontszámok Most vállal száma egészek. 1058 00:55:31,780 --> 00:55:33,940 És rengeteg lesz array of egész számok, hogy 1059 00:55:33,940 --> 00:55:39,030 letett az én funkciót, amely azt jelenti, hogy meg tudom csinálni dolgokat, mint ez. 1060 00:55:39,030 --> 00:55:42,360 >> Tehetek hozzá fokozat és csak biztosítani tetszőleges számú egészek bele 1061 00:55:42,360 --> 00:55:47,420 és ténylegesen biztosítani egy tömb ezen értékek a feladatomat 1062 00:55:47,420 --> 00:55:50,270 vagy az én módszer, ahogy ez a helyzet. 1063 00:55:50,270 --> 00:55:54,040 Most ez azért fontos, mert mindent Xcode, mindent iOS, 1064 00:55:54,040 --> 00:55:56,250 valójában egy tárgy. 1065 00:55:56,250 --> 00:55:59,630 Így tartsa szem előtt, hogy amikor mellszobor nyitott Xcode 1066 00:55:59,630 --> 00:56:04,890 és ugorjon túl iOS változatban két-három 1067 00:56:04,890 --> 00:56:08,820 és tényleg megy a verzióra négy. 1068 00:56:08,820 --> 00:56:11,940 >> És ismét Mindez felkerül a szeminárium oldalon. 1069 00:56:11,940 --> 00:56:16,980 iOS négy egyfajta teljes fújt végrehajtása egy nagyon alap app. 1070 00:56:16,980 --> 00:56:23,920 És mi ez a app nem áll meg betölt egy UI, ami úgy néz ki, mint ez. 1071 00:56:23,920 --> 00:56:28,680 Ismét, ha rákattintunk storyboard tudjuk Láthatjuk, hogy ez az, amit úgy néz ki. 1072 00:56:28,680 --> 00:56:31,320 Ez az UI. 1073 00:56:31,320 --> 00:56:33,676 Van címe legtetején. 1074 00:56:33,676 --> 00:56:34,800 Én is hívták web galériában. 1075 00:56:34,800 --> 00:56:38,400 >> Középen egy eleme az úgynevezett UI kép megtekintéséhez. 1076 00:56:38,400 --> 00:56:41,340 És az alján van egy eszköztár egyetlen gombra, hogy 1077 00:56:41,340 --> 00:56:46,850 van rugalmas terek, amelyek lehetővé teszik, hogy center közepén ebben az eszköztárban. 1078 00:56:46,850 --> 00:56:51,780 És mi történik, hogy amikor ez a terhelés letölti a JSON fájlt, ami 1079 00:56:51,780 --> 00:56:55,540 szerveren tárolt máshol, értelmezi, hogy JSON fájlt, 1080 00:56:55,540 --> 00:56:58,130 és a JSON fájlban néz ki egy kicsit, mint ez. 1081 00:56:58,130 --> 00:57:02,770 1082 00:57:02,770 --> 00:57:06,230 A JSON fájl így néz ki. 1083 00:57:06,230 --> 00:57:08,650 Ott van. 1084 00:57:08,650 --> 00:57:11,730 >> Ez az album nevét és van egy sor fotót. 1085 00:57:11,730 --> 00:57:13,490 Minden ilyen fotók Van neve és 1086 00:57:13,490 --> 00:57:19,460 egy URL magukat, hogy képviselje a jpeg változata, hogy az egyes képek. 1087 00:57:19,460 --> 00:57:24,780 Tehát mi történhet az, hogy ha ezt a programot terhelés, akkor letölti a JSON fájlt, 1088 00:57:24,780 --> 00:57:30,590 értelmezi azt, hozza mindezt be egyenértékű egy tömböt iOS 1089 00:57:30,590 --> 00:57:33,020 app fejlesztés, amely nsarray. 1090 00:57:33,020 --> 00:57:37,520 És akkor tudok majd töltse be Ezen adatok egy alkalmazásba 1091 00:57:37,520 --> 00:57:41,100 és a terhelés a monitoron. 1092 00:57:41,100 --> 00:57:44,760 >> Van egy kép, hogy volt betöltve a gomb legalján. 1093 00:57:44,760 --> 00:57:49,190 Ha rákattintok Get következő kép, hogy majd húzza azt a képet az interneten 1094 00:57:49,190 --> 00:57:53,370 és annak helyébe lép image A UI kép megtekintéséhez. 1095 00:57:53,370 --> 00:57:57,820 Szóval lehet letölteni ezt, és valóban vessünk egy pillantást, hogy a számítógépen. 1096 00:57:57,820 --> 00:58:00,940 És épít, és ténylegesen fordítsd le a készülékre. 1097 00:58:00,940 --> 00:58:04,710 De alapvetően a folyamat Ennek megteremtése storyboard-- 1098 00:58:04,710 --> 00:58:08,080 vagy inkább nem create-- de válassza a storyboard. 1099 00:58:08,080 --> 00:58:15,030 És valóban we'll-- ha nem mind-- elvisszük csak pár másodpercre 1100 00:58:15,030 --> 00:58:18,390 hogy ténylegesen megmutatja, hogyan történt. 1101 00:58:18,390 --> 00:58:22,430 1102 00:58:22,430 --> 00:58:27,820 >> Csak azért, hogy miként lehet a ténylegesen Ehhez készült egy kicsit 1103 00:58:27,820 --> 00:58:28,360 nyilvánvalóvá. 1104 00:58:28,360 --> 00:58:30,651 Single View alkalmazás, én vagyok Felhívom ez a szeminárium 1105 00:58:30,651 --> 00:58:35,330 Négy képviselő erre adott szám. 1106 00:58:35,330 --> 00:58:36,335 Mentsd el az asztalon. 1107 00:58:36,335 --> 00:58:39,890 1108 00:58:39,890 --> 00:58:42,110 OK, majd kattints a storyboard. 1109 00:58:42,110 --> 00:58:47,030 És mit fogok csinálni az, hogy megtaláljuk a kép szerint 1110 00:58:47,030 --> 00:58:50,940 húzza a használati interfész és a központ is. 1111 00:58:50,940 --> 00:58:54,850 Most csak központosító sajnos nem fog csinálni egy csomó, 1112 00:58:54,850 --> 00:58:58,680 kivéve a képernyő hogy ez a pontos méretet. 1113 00:58:58,680 --> 00:59:03,950 >> Így tudjuk meggyőzni magunkat, hogy a rákattint erre a dupla kör dolog, 1114 00:59:03,950 --> 00:59:08,290 leszorítására ez a pop menü itt és változó 1115 00:59:08,290 --> 00:59:11,110 előnézeti, ahol mi valójában kap egy esélyt, megtekinthetik, hogyan 1116 00:59:11,110 --> 00:59:13,530 ez ténylegesen nézz más készülékeken. 1117 00:59:13,530 --> 00:59:16,500 Mint láthatjuk, mi nem is látom ebben a konkrét esetben. 1118 00:59:16,500 --> 00:59:18,500 Így fogok zárni ezt most. 1119 00:59:18,500 --> 00:59:22,100 >> És fogok válasszon Az ikonra le a nagyon 1120 00:59:22,100 --> 00:59:23,910 alsó része a képernyő. 1121 00:59:23,910 --> 00:59:26,584 Azt mondja Resolve Auto Layout kérdések. 1122 00:59:26,584 --> 00:59:28,000 Sajnáljuk, ez vágott le az alján. 1123 00:59:28,000 --> 00:59:36,360 De ha rákattintok, hogy mit hogy van ez a pop up-- elmegy. 1124 00:59:36,360 --> 00:59:39,740 1125 00:59:39,740 --> 00:59:51,220 Mit kapok ez a pop up, hogy lehetővé teszi számomra, hogy adjunk hiányzó korlátok. 1126 00:59:51,220 --> 00:59:53,780 És ezzel, hogy Ekkor valami megakadjon 1127 00:59:53,780 --> 00:59:56,640 bele a középső részét a képernyőn, mint én várható. 1128 00:59:56,640 --> 01:00:00,520 >> Most annak érdekében, hogy ezt a gombot tetején, azt kell menni a szerkesztő. 1129 01:00:00,520 --> 01:00:05,010 Menjünk az embed és kattintson Navigation Controller. 1130 01:00:05,010 --> 01:00:08,900 Mit fog tenni, hogy lesz hozzá ez az egész más készüléket úgy, 1131 01:00:08,900 --> 01:00:11,310 de ez valójában hivatkozó vissza az eredeti UI. 1132 01:00:11,310 --> 01:00:14,450 És a részleteket, megint mi nem Tényleg kell törődnünk most. 1133 01:00:14,450 --> 01:00:16,710 De azt akarom, hogy egy eszköztár legalján. 1134 01:00:16,710 --> 01:00:18,530 Szóval én megnézem show eszköztár. 1135 01:00:18,530 --> 01:00:21,870 >> És ez biztosítja belül véleményem szerint, ami most valahol máshol, 1136 01:00:21,870 --> 01:00:23,900 láthatjuk, ez kapcsolódik ide. 1137 01:00:23,900 --> 01:00:28,710 Ez most egy eszköztár alján az én UI. 1138 01:00:28,710 --> 01:00:34,770 Tehát most, ahelyett kiválasztásával A kép szerint találok egy címkét, 1139 01:00:34,770 --> 01:00:41,140 vagy inkább egy toolbar-- Lássuk, hol van? 1140 01:00:41,140 --> 01:00:41,890 Mi a neve? 1141 01:00:41,890 --> 01:00:49,760 A button-- elem bar-- item-- sorry-- bar gomb elemet. 1142 01:00:49,760 --> 01:00:54,590 Puff, hogy ott, és alkalmazni egy pár A rugalmasan alakítható két oldalán 1143 01:00:54,590 --> 01:00:57,429 hogy valóban középre, hogy. 1144 01:00:57,429 --> 01:00:58,970 Tehát most már létre a UI, alapvetően. 1145 01:00:58,970 --> 01:01:01,428 És tudom, hogy ez egy megnevezés szerint dupla kattintással legtetején 1146 01:01:01,428 --> 01:01:04,880 Itt és azt mondja web galéria és így tovább. 1147 01:01:04,880 --> 01:01:08,100 Most ismét olyan elemekről hogy léteznek önmagukban. 1148 01:01:08,100 --> 01:01:10,400 És azt kell csatlakoztatni őket, hogy a kódomat, amely 1149 01:01:10,400 --> 01:01:14,297 Meg tudom csinálni ha újra hozza ezt a kettős kör ikon, 1150 01:01:14,297 --> 01:01:15,380 változó a preview. 1151 01:01:15,380 --> 01:01:18,950 Ami, mellesleg, most már látjuk is szépen középre, és jól néz ki 1152 01:01:18,950 --> 01:01:23,720 a különböző eszközök. 1153 01:01:23,720 --> 01:01:27,280 >> Váltás az automatikus, ami hogy ki a ViewController kódot. 1154 01:01:27,280 --> 01:01:29,030 És most ez a rész fontos. 1155 01:01:29,030 --> 01:01:34,590 Annak érdekében, hogy összeköti ezeket a két elem, a kódot a UI, 1156 01:01:34,590 --> 01:01:36,680 akkor válassza ki az elemet, hogy szeretne csatlakozni. 1157 01:01:36,680 --> 01:01:39,570 Tehát ebben az esetben, mi valójában akarsz kódolni 1158 01:01:39,570 --> 01:01:43,520 változtatni a képet, ami tartalmazza ezen belül UI kép megtekintéséhez. 1159 01:01:43,520 --> 01:01:47,070 Tehát, ha te irányítod kattintson a A kép megtekintése és drag, 1160 01:01:47,070 --> 01:01:51,960 észre fogod venni, hogy kapunk egy kis bár, ha elengeded mindazt, amit ez a pop 1161 01:01:51,960 --> 01:01:53,550 up fog bekövetkezni. 1162 01:01:53,550 --> 01:01:56,470 >> És azt mondja, hogy mi lesz a kapcsolat létrehozásához. 1163 01:01:56,470 --> 01:01:59,300 És itt szeretném, hogy ez egy nevet, olyasmi, mint galériában. 1164 01:01:59,300 --> 01:02:00,240 Enter leütése. 1165 01:02:00,240 --> 01:02:03,040 És ez ugyanis kimondja, változó nevű galéria 1166 01:02:03,040 --> 01:02:08,600 hogy tudok majd hivatkozni a kódomat változtatni a képet, például. 1167 01:02:08,600 --> 01:02:10,430 Tehát hogyan, hogy a kód valójában nézni? 1168 01:02:10,430 --> 01:02:13,030 Ismét jól, nem akarom, hogy túl sok időt töltenek rá. 1169 01:02:13,030 --> 01:02:15,430 És azt javasoljuk, hogy töltse le és nézd meg. 1170 01:02:15,430 --> 01:02:18,330 De az egyik a leginkább fontos szempont a kód 1171 01:02:18,330 --> 01:02:20,980 hogy valóban elhozza a képet. 1172 01:02:20,980 --> 01:02:26,470 >> Tehát ebben az esetben azt akarom, hogy belüli fotóim 1173 01:02:26,470 --> 01:02:28,520 tömb, amely tartalmaz belül az osztályban. 1174 01:02:28,520 --> 01:02:33,390 Azt akarom meghatározni a nevét és az URL hogy a már elemzett ki ezt a JSON. 1175 01:02:33,390 --> 01:02:39,810 Igazából kérni a készüléket, hogy a URL, hogy hozza az URL-e, 1176 01:02:39,810 --> 01:02:44,060 majd letölteni az adatokat tartalmát, hogy URL. 1177 01:02:44,060 --> 01:02:49,430 Majd átalakítani, hogy az adatok egy képet átadva a UI képet. 1178 01:02:49,430 --> 01:02:52,880 Tehát még egyszer: ezek mind különböző típusú tárgyak, különböző típusú osztályok. 1179 01:02:52,880 --> 01:02:58,410 >> És akkor tudok majd állítsa én gallery.image egyenlő az adatokat. 1180 01:02:58,410 --> 01:03:00,750 És ez a fajta hús belőle, hogy valójában akkor 1181 01:03:00,750 --> 01:03:08,250 képes megváltoztatni az adatokat from-- változás A kép az egyik a másikra. 1182 01:03:08,250 --> 01:03:10,660 Tehát újra, remélhetőleg most sok a konstrukciók 1183 01:03:10,660 --> 01:03:12,240 fog tenni egy kicsit több értelme van. 1184 01:03:12,240 --> 01:03:15,260 Figyeljük meg, hogy van némi felkiáltójel van. 1185 01:03:15,260 --> 01:03:19,810 A felkiáltó jel lényegében kapcsolatos Adott esetben alkalmazható. 1186 01:03:19,810 --> 01:03:22,657 >> Amit én alapvetően azt mondom, hogy anélkül, hogy ellenőrizné 1187 01:03:22,657 --> 01:03:24,490 hogy hátha van adat ezen belül választható, 1188 01:03:24,490 --> 01:03:27,140 Én megyek előre, és feltételezzük, hogy van, és csomagolja ki. 1189 01:03:27,140 --> 01:03:31,340 Ne feledje, hogy mi használt analógiájára egyfajta csomag a Opcionális 1190 01:03:31,340 --> 01:03:34,700 és meg kell kicsomagolni a csomagot, és húzza az adatokat ki. 1191 01:03:34,700 --> 01:03:37,570 A felkiáltójel erők, amelyek ténylegesen meg is történik. 1192 01:03:37,570 --> 01:03:39,590 >> De tudom, hogy ez biztonságos, mert megnéztem 1193 01:03:39,590 --> 01:03:42,070 hogy ha képadatok egyenlő nulla volt, amit ténylegesen ellenőrizni 1194 01:03:42,070 --> 01:03:45,420 hátha ez opcionális volt, sőt, nem sikerült. 1195 01:03:45,420 --> 01:03:47,110 Ha ez volna, valójában, nem sikerült már. 1196 01:03:47,110 --> 01:03:52,450 És így biztos vagyok benne, hogy ha kapok erre pont azt nyugodtan kibontjuk, hogy az adatok. 1197 01:03:52,450 --> 01:03:55,710 Esetleg azt is látni, hogy a formájában a kérdőjel. 1198 01:03:55,710 --> 01:03:59,100 Tehát, ha lépjünk le, ahol én kell, hogy ténylegesen elemezni az adatokat. 1199 01:03:59,100 --> 01:04:01,850 >> Tehát ne tegye ki ezek a fajta hosszú neveket. 1200 01:04:01,850 --> 01:04:06,580 Megtalálható az Apple fejlesztői oldalon sok 1201 01:04:06,580 --> 01:04:09,620 A hivatkozásokat minden tárgyak és mindazok a folyamatok, 1202 01:04:09,620 --> 01:04:11,170 hogy valóban teszi ezt lehetővé. 1203 01:04:11,170 --> 01:04:15,990 De észre, hogy ez lényegében függvényében hol adja át néhány adatot. 1204 01:04:15,990 --> 01:04:18,410 És kapok vissza valamilyen adatot. 1205 01:04:18,410 --> 01:04:24,190 És azt kell, hogy használja ezt a kulcsszót alakítani ezt a nsdictionary? 1206 01:04:24,190 --> 01:04:26,490 Amely ismét, egy opcionális nsdictionary. 1207 01:04:26,490 --> 01:04:31,070 Amit aztán kell ellenőrizze, hogy ha van ilyen. 1208 01:04:31,070 --> 01:04:37,130 >> Így tudom használni, hogy ha hagyja, Sikeres az egyenlők elemzett, 1209 01:04:37,130 --> 01:04:40,620 akkor tudom, hogy ez nem kötelező valóban tartalmaz néhány adatot. 1210 01:04:40,620 --> 01:04:43,840 Vagy mit tettem az volt, hogy csak feltételezni, hogy ha van 1211 01:04:43,840 --> 01:04:49,067 nem volt hiba, hogy valójában biztonságos. 1212 01:04:49,067 --> 01:04:51,400 Rendben, szeretném megköszönni Mindenkinek nagyon szépen jön. 1213 01:04:51,400 --> 01:04:53,540 Tudom, hogy ez sok, de ez csak egy óra 1214 01:04:53,540 --> 01:04:55,920 beszélni néhány elég fejlett cucc. 1215 01:04:55,920 --> 01:04:59,640 És így remélhetőleg kapsz esélyt, hogy töltse le az összes kódot 1216 01:04:59,640 --> 01:05:01,657 és hogy egy jobb, alapos pillantást rá. 1217 01:05:01,657 --> 01:05:04,240 Valahogy meggyőzni magát minden A dolog, hogy folyik. 1218 01:05:04,240 --> 01:05:06,800 És szeretném megköszönni Önnek Az összes, idén is jön. 1219 01:05:06,800 --> 01:05:08,760 És sok sikert a végleges projekt. 1220 01:05:08,760 --> 01:05:10,600 Volna egy nagy nap. 1221 01:05:10,600 --> 01:05:11,467