1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminar] [iOS: Kirjutamine apps nagu Boss] 2 00:00:02,000 --> 00:00:04,000 [Tommy MacWilliam] [Harvardi Ülikool] 3 00:00:04,000 --> 00:00:08,000 [See on CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:12,000 >> Olgu, inimesed, tere tulemast iOS: Kirjutamine apps nagu Boss. 5 00:00:12,000 --> 00:00:16,000 See seminar toimub keskenduda kirjalikult apps iPhone 6 00:00:16,000 --> 00:00:19,000 ja omakorda kirjalikult apps iPad, ja nii me põhiliselt läheb jalutada läbi 7 00:00:19,000 --> 00:00:23,000 paar erinevat näidet, kuidas teha app, lihtne mäng nagu Tic Tac Toe, 8 00:00:23,000 --> 00:00:26,000 või kui sa oled rohkem huvitatud muutes app nagu mingi uudistelugeja 9 00:00:26,000 --> 00:00:30,000 või midagi, mis suhtleb Interneti räägin, et hästi. 10 00:00:30,000 --> 00:00:32,000 Siin on meie lühike kava. 11 00:00:32,000 --> 00:00:36,000 >> IOS apps on kirjutatud keeles nimetatakse Objective-C, 12 00:00:36,000 --> 00:00:39,000 ja nii see on natuke sarnane C, kuid tegelikult ei üldse 13 00:00:39,000 --> 00:00:41,000 nii me vesteldes natuke keel ise 14 00:00:41,000 --> 00:00:45,000 ja siis kuidas ehitada iPhone apps kasutades seda app programm Xcode, 15 00:00:45,000 --> 00:00:48,000 mis siis, kui te pole alla laadinud seda veel julgelt alustada allalaadimist nüüd. 16 00:00:48,000 --> 00:00:50,000 See on mitu gigabaiti. 17 00:00:50,000 --> 00:00:54,000 See peaks olema tasuta App Store, nii et sa pead olema Mac 18 00:00:54,000 --> 00:00:57,000 ideaalis töötab uusima versiooni OS X. 19 00:00:57,000 --> 00:00:59,000 Kui sa ei ole, pole probleemi. 20 00:00:59,000 --> 00:01:02,000 Meil on Macid teaduskeskus Teie käsutuses 21 00:01:02,000 --> 00:01:05,000 koos XCode paigaldatud, ja nii et võid vabalt kasutada neid arenguks. 22 00:01:05,000 --> 00:01:07,000 Kui sa tahad teha app, kuid ei ole Mac, ärge muretsege. 23 00:01:07,000 --> 00:01:09,000 Seal on palju ülikooli ressursse selle eest. 24 00:01:09,000 --> 00:01:15,000 Ja nii siis me kavatseme katta 2 suuremat näiteid eri rakendusi, mida saab teha. 25 00:01:15,000 --> 00:01:19,000 Objective-C on tehniliselt mida nimetatakse super komplekt C. 26 00:01:19,000 --> 00:01:24,000 See tähendab, et iga C kood kehtib ka Objective-C koodi. 27 00:01:24,000 --> 00:01:29,000 See tähendab, et me mingi toru teibitud kohta mõningaid täiendavaid funktsioone C. 28 00:01:29,000 --> 00:01:33,000 Mõned neist sisaldavad millel ei ole kunagi kirjutada malloc jälle, jumal tänatud, 29 00:01:33,000 --> 00:01:36,000 ei pea muretsema nende loll viiteid ja vabastades neid ja kõik see kraam 30 00:01:36,000 --> 00:01:40,000 sa vihkad umbes C, ja see on selline läinud Objective-C. 31 00:01:40,000 --> 00:01:43,000 >> Nüüd, Objective-C on ka palju suurem standard raamatukogu, 32 00:01:43,000 --> 00:01:47,000 nii seal on palju rohkem funktsioone saate tasuta sees Objective-C. 33 00:01:47,000 --> 00:01:50,000 Mäletad, kui me olime kirjalikult PHP märkasime, et me läksime 34 00:01:50,000 --> 00:01:54,000 see väikseim keele hiiglaslik raamatukogu kõik need hullud asjad, mida saate teha. 35 00:01:54,000 --> 00:01:56,000 Sama asi juhtub iOS. 36 00:01:56,000 --> 00:01:59,000 Seal on objekte asjad budistlik kalender, ja tõesti midagi 37 00:01:59,000 --> 00:02:05,000 saab võimaluse mõelda ilmselt olemas juba Objective-C täitmisel. 38 00:02:05,000 --> 00:02:08,000 Eesmärk osa Objective-C on viited midagi 39 00:02:08,000 --> 00:02:11,000 nimetatakse objektorienteeritud programmeerimise. 40 00:02:11,000 --> 00:02:14,000 See on selline uus mõiste, kuid me oleme tegelikult enamasti õppinud 41 00:02:14,000 --> 00:02:17,000 palju neid mõisteid juba. 42 00:02:17,000 --> 00:02:19,000 Idee objektorienteeritud programmeerimise on see, et sa lähed struktureerida 43 00:02:19,000 --> 00:02:23,000 palju oma koodi ümber neid asju nimetatakse klassid, 44 00:02:23,000 --> 00:02:26,000 ja need klassid on tõesti ülistatud structs. 45 00:02:26,000 --> 00:02:30,000 Toas struct me põhimõtteliselt ütles siin on asi, 46 00:02:30,000 --> 00:02:32,000 ja see asi võib olla kohal. 47 00:02:32,000 --> 00:02:35,000 Näiteks sõlme seotud nimekirja võiks olla muud asjad 48 00:02:35,000 --> 00:02:38,000 nagu väärtus, kursor järgmisele sõlmele nimekirja, 49 00:02:38,000 --> 00:02:44,000 ja koos, et osuti ja et väärtus koosneb see üks näiteks struct. 50 00:02:44,000 --> 00:02:47,000 Klassid on väga sarnased välja 51 00:02:47,000 --> 00:02:50,000 klassid saavad ka võrgu sees neist. 52 00:02:50,000 --> 00:02:54,000 Kui me kuulutasime struct, võiksime öelda ainult int n või sõlme * kõrval. 53 00:02:54,000 --> 00:02:57,000 >> Nüüd Objective-C saame tegelikult suunatud funktsioone 54 00:02:57,000 --> 00:02:59,000 sees nendest asjadest. 55 00:02:59,000 --> 00:03:03,000 Teine asi, mis klassides saab teha, on nad saaksid pärida andmeid teistesse klassidesse. 56 00:03:03,000 --> 00:03:07,000 Näiteks me vaatleme kamp sisseehitatud Objective-C klassid. 57 00:03:07,000 --> 00:03:11,000 Üks neist võiks olla klass, mis tähistab vaade ekraanil 58 00:03:11,000 --> 00:03:14,000 ja nii öelda, ma tahan rakendada oma seisukohta 59 00:03:14,000 --> 00:03:18,000 me põhiliselt öelda keegi üle Apple, ilmselt tõesti toredaid inimesi, 60 00:03:18,000 --> 00:03:21,000 Kirjutasin selle klassi minu jaoks, ja see tegeleb asjad väljapanek nupud 61 00:03:21,000 --> 00:03:25,000 või muudab ekraani ja me oleks tõesti kurvastas 62 00:03:25,000 --> 00:03:28,000 rakendada kõiki selle funktsionaalsus ise, ja nii lihtsalt 63 00:03:28,000 --> 00:03:31,000 pärib andmeid saame öelda kõik, mis sa tegid selle klassi 64 00:03:31,000 --> 00:03:34,000 Tahan ka sees minu klassi, ja siis ma teen mõned muud asjad, 65 00:03:34,000 --> 00:03:37,000 nimelt rakendada app. 66 00:03:37,000 --> 00:03:40,000 Just selle sõna pärandi tähendab. Me näeme rohkem konkreetse näite. 67 00:03:40,000 --> 00:03:42,000 >> Ja lõpuks, võti koos objektorienteeritud programmeerimise, et 68 00:03:42,000 --> 00:03:45,000 see viib andmete kapseldus. 69 00:03:45,000 --> 00:03:48,000 Mõnes meie probleem seab oleksime võinud need suured, globaalsed muutujad 70 00:03:48,000 --> 00:03:51,000 kui globaalseid kõikjal, ja see, kuidas me tahaks jälgida riik. 71 00:03:51,000 --> 00:03:55,000 Mis klassides saame alustada kapseldamist info sees objekt. 72 00:03:55,000 --> 00:03:58,000 Kui meil on üks ekraan meie app, me tõesti ei vaja mingit andmeid 73 00:03:58,000 --> 00:04:01,000 teisel ekraanil meie app sees, et 74 00:04:01,000 --> 00:04:04,000 ja nii kapseldamist asjad liikides see tegelikult viib 75 00:04:04,000 --> 00:04:08,000 palju parem kood disain, ja see on võimalik mõned lisafunktsioone 76 00:04:08,000 --> 00:04:11,000 Objective-C. 77 00:04:11,000 --> 00:04:15,000 Forewarning, süntaks Objective-C on banaanid. 78 00:04:15,000 --> 00:04:19,000 See on nagu midagi me oleme näinud, 79 00:04:19,000 --> 00:04:22,000 nii et see on natuke õppimiskõver harjuda 80 00:04:22,000 --> 00:04:24,000 mida kuradit see siis tähendab? 81 00:04:24,000 --> 00:04:27,000 Aga kui sa varem, et esialgne õppimiskõver see on tõesti väga sile 82 00:04:27,000 --> 00:04:29,000 alustada kirjalikult apps. 83 00:04:29,000 --> 00:04:33,000 >> Tunnistada klassi öelda, siin on minu klassis, see on olemas, 84 00:04:33,000 --> 00:04:35,000 ja äkki siin on mõned asjad, et ma lähen määratleda hiljem 85 00:04:35,000 --> 00:04:38,000 Ma lähen ütlen @ liides. 86 00:04:38,000 --> 00:04:41,000 Ma lähen ütlen @ liides. Ma annan oma klassi nimi. 87 00:04:41,000 --> 00:04:43,000 Ja siis hiljem kusagil mujal ma ütlen @ eesmärgil 88 00:04:43,000 --> 00:04:46,000 ja kõik sellises vahel @ liides ja @ lõpuni 89 00:04:46,000 --> 00:04:48,000 saab olema minu klassis. 90 00:04:48,000 --> 00:04:51,000 See saab olema, mis seal sees meie. H faile. 91 00:04:51,000 --> 00:04:55,000 Just nagu C meie. H failid põhimõtteliselt ütles siin on mõned asjad, mis olemas. 92 00:04:55,000 --> 00:04:57,000 Ma ei pruugi ütlen teile, mida nad teha veel, 93 00:04:57,000 --> 00:04:59,000 kuid kompilaator peab teadma, et nad on olemas. 94 00:04:59,000 --> 00:05:04,000 Hiljem sees meie. M faile-sest m Objective-C 95 00:05:04,000 --> 00:05:08,000 on, kuhu me tegelikult läheb määratleda, mida need tunnid teha. 96 00:05:08,000 --> 00:05:11,000 Palju nagu meie. C faili, andsime rakendamise funktsioone. 97 00:05:11,000 --> 00:05:15,000 Toas meie. M faili läheme öelda siin on, mida kõik funktsioonid 98 00:05:15,000 --> 00:05:18,000 sees minu klassi-mida nad kõik teha. 99 00:05:18,000 --> 00:05:22,000 Ja lõpuks, sees struct võiksime öelda, sees need looksulg 100 00:05:22,000 --> 00:05:25,000 int n või sõlme * kõrval, 101 00:05:25,000 --> 00:05:28,000 ja Objective-C me ei kavatse kasutada märksõna @ vara, 102 00:05:28,000 --> 00:05:31,000 ja see, mida läheb määratleda omadused, 103 00:05:31,000 --> 00:05:36,000 või mitte-funktsioone, mis on osa minu klassi. 104 00:05:36,000 --> 00:05:40,000 >> Üleskutse funktsioonid Objective-C on ka banaanid. 105 00:05:40,000 --> 00:05:43,000 Kui me deklareeritud funktsioone C ütlesime midagi int foo 106 00:05:43,000 --> 00:05:46,000 ja avatud paren ja siis andis ta argumentide loetelu. 107 00:05:46,000 --> 00:05:51,000 See on see, mida kuulutatakse meetodeid või funktsioonid välja näeb Objective-C. 108 00:05:51,000 --> 00:05:54,000 Kui ma tahan kuulutada funktsioon või meetod 109 00:05:54,000 --> 00:05:58,000 kus ma väidan meetod on tõesti ainult funktsioon, mis on liige klassi, 110 00:05:58,000 --> 00:06:01,000 nii kena vahetatavad, kuid tegelikult mitte, 111 00:06:01,000 --> 00:06:03,000 nii sees minu meetod Tahan luua uus meetod. 112 00:06:03,000 --> 00:06:06,000 See läheb tagasi midagi, nii et see saab olema tüübiga tühine. 113 00:06:06,000 --> 00:06:08,000 See on tagasipöördumine tüüpi minu ülesanne. 114 00:06:08,000 --> 00:06:11,000 Nüüd on meil Sulgudes siin, sest-ma ei tea. 115 00:06:11,000 --> 00:06:14,000 Järgmine saab olema nimi minu funktsioon, 116 00:06:14,000 --> 00:06:17,000 ja siis lõpuks on meil semikooloniga nagu meil oli C. 117 00:06:17,000 --> 00:06:19,000 Mida uut siin see kutt siin. 118 00:06:19,000 --> 00:06:22,000 See sidekriips on tegelikult vaja, ja mida see ütleb on, et 119 00:06:22,000 --> 00:06:26,000 selle meetodi siit tuleb kutsus astme klassis. 120 00:06:26,000 --> 00:06:29,000 >> Pärast me kuulutasime meie structs me ilmselt ütles midagi 121 00:06:29,000 --> 00:06:32,000 struct tipp n, ja et tegelikult loodud 122 00:06:32,000 --> 00:06:35,000 või instantiated üks neist structs nii et ma oleks tegelikult võinud alustada tööd 123 00:06:35,000 --> 00:06:38,000 mida on sees, nii et see kriips tähendab, et me peame 124 00:06:38,000 --> 00:06:41,000 instantiate klassi nagu me instantiated et struct 125 00:06:41,000 --> 00:06:43,000 enne kui saame helistada selle meetodi peal. 126 00:06:43,000 --> 00:06:46,000 Kui ma tahan alustada lisades argumente minu meetodid 127 00:06:46,000 --> 00:06:48,000 see läheb veel rohkem banaane. 128 00:06:48,000 --> 00:06:50,000 Siin on minu meetodi nimi. 129 00:06:50,000 --> 00:06:53,000 Siis ma lähen on koolon, ja pärast seda koolon öeldakse siin toimub mõned argumendid. 130 00:06:53,000 --> 00:06:56,000 See meetod võtab üks argument. 131 00:06:56,000 --> 00:06:59,000 Tüüpi tema argument on keskmine, ja nime, et väide 132 00:06:59,000 --> 00:07:03,000 või muutuja, et ma lähen alustada kasutades sees meetodit nimetatakse i. 133 00:07:03,000 --> 00:07:05,000 Jällegi, see on meetod. See võtab üks argument. 134 00:07:05,000 --> 00:07:10,000 >> Kui te soovite alustada lisada rohkem argumente, mis ta saab rohkem banaanid 135 00:07:10,000 --> 00:07:13,000 aastal, et me oleme see koolon, mis ütleb, siit tuleb mu argumentide loetelus. 136 00:07:13,000 --> 00:07:15,000 See esimene argument on täisarv. 137 00:07:15,000 --> 00:07:17,000 Nüüd on see teine ​​argument on huvitav. 138 00:07:17,000 --> 00:07:20,000 Muutuja, et ma lähen tuleb kasutada sees minu funktsioon 139 00:07:20,000 --> 00:07:23,000 nimetatakse f, nii sees minu funktsioon Võiksin öelda 140 00:07:23,000 --> 00:07:25,000 F + = 1 või midagi. 141 00:07:25,000 --> 00:07:30,000 See asi siin on põhimõtteliselt võti selle argumendi või parameeter. 142 00:07:30,000 --> 00:07:34,000 Täpselt nagu meil oli põhiväärtus paari ja midagi JSON või assotsiatiivse massiivi 143 00:07:34,000 --> 00:07:37,000 Objective-C otsuse teinud öelda, eks, just nii, et see on tõesti selge 144 00:07:37,000 --> 00:07:39,000 kui helistate meetod, mida kõik need parameetrid on 145 00:07:39,000 --> 00:07:41,000 Ma olen tegelikult läheb nimetada neid kõiki. 146 00:07:41,000 --> 00:07:45,000 Kui helistate meetod, saate tegelikult öelda andFloat, 147 00:07:45,000 --> 00:07:47,000 ja siis saate andke seda sisse 148 00:07:47,000 --> 00:07:50,000 >> Huvitav, see ei ole nimetatud, kuid kõik muud parameetrid on, 149 00:07:50,000 --> 00:07:53,000 nii et kui meil oli 3. argument ma võiks öelda, andFloat 150 00:07:53,000 --> 00:07:56,000 ja teine ​​ujuk ja nii edasi. 151 00:07:56,000 --> 00:08:01,000 Kui ma nimetan neid meetodeid on muidugi banaanid, 152 00:08:01,000 --> 00:08:04,000 nii et kui mul on eesmärk, ja ma määratletud meetodit nimetatakse foo, 153 00:08:04,000 --> 00:08:09,000 ja ma tahan seda kutsuda, mitte öelda suva lahti / kinni Sulgudes 154 00:08:09,000 --> 00:08:11,000 Ma lähen avama sulg. 155 00:08:11,000 --> 00:08:13,000 Siin on nimi minu meetod. 156 00:08:13,000 --> 00:08:17,000 Ma lähen sulgeda sulg, ja see on objekt Ma helistan sisse. 157 00:08:17,000 --> 00:08:20,000 Pea meeles, et kõik need meetodid eksisteerivad klassid 158 00:08:20,000 --> 00:08:23,000 sest klassidel võivad olla määratletud meetodeid sees neist. 159 00:08:23,000 --> 00:08:26,000 >> Siin ma olen meelevaldselt loodud objekti mõne klassi, 160 00:08:26,000 --> 00:08:28,000 ja see on süntaks seda teha saab. 161 00:08:28,000 --> 00:08:31,000 Seal on 2 sammud objekti. 162 00:08:31,000 --> 00:08:34,000 Esimene samm on, et ma tahan eraldada ruumi. 163 00:08:34,000 --> 00:08:37,000 See on samaväärne malloc. Me ei pea ütlema malloc enam. 164 00:08:37,000 --> 00:08:42,000 Meil langes m, tegi alloc, ja asendada. C juures. M. 165 00:08:42,000 --> 00:08:47,000 Pärast me alloc midagi, mida me siis peame selle vormindamiseks. 166 00:08:47,000 --> 00:08:49,000 Põhimõtteliselt, kui loote objektide võiksite mõned loogika 167 00:08:49,000 --> 00:08:53,000 mis täidab kui nad loonud, siis võite läbida mõned vaikeväärtused 168 00:08:53,000 --> 00:08:57,000 või midagi sellist, ja nii see init meetodi, mis tegelikult loob objekti. 169 00:08:57,000 --> 00:08:59,000 Me kõigepealt eraldada ruumi, nagu me tegime C, 170 00:08:59,000 --> 00:09:04,000 ja siis me initsialiseerida see, mis võib olla või mitte teha palju. 171 00:09:04,000 --> 00:09:07,000 Siis me jälle see asi sisse objekt o. 172 00:09:07,000 --> 00:09:09,000 Seal on täht siin, sest see on tehniliselt pointer, 173 00:09:09,000 --> 00:09:12,000 kuid ärge muretsege, viiteid ei ole nii suur asi Objective-C enam. 174 00:09:12,000 --> 00:09:15,000 >> Nüüd oleme instantiated Selle klassi nimetatakse NSObject, 175 00:09:15,000 --> 00:09:19,000 ja see on lihtsalt juhuslik klassi, et Apple on. 176 00:09:19,000 --> 00:09:22,000 Oleme instantiated seda, ja nüüd on mul näiteks selle klassi 177 00:09:22,000 --> 00:09:25,000 Selles objekti O, nii et see tähendab, et kui ma määratletud 178 00:09:25,000 --> 00:09:29,000 Nende meetodite võin helistada neile meeldib see. 179 00:09:29,000 --> 00:09:31,000 Samamoodi, kui ma tahtsin helistada meetod ühe argumendi, 180 00:09:31,000 --> 00:09:34,000 nii et see on baar meetod, mis võtab üks argument, 181 00:09:34,000 --> 00:09:38,000 ja siin on Baz: qux meetod, nii et see võtab 2 argumendid. 182 00:09:38,000 --> 00:09:44,000 See on helistaja üks funktsioon selle objekti o. 183 00:09:44,000 --> 00:09:46,000 Mõtet? 184 00:09:46,000 --> 00:09:50,000 Süntaks peaks mõtet, kuid sa selline harju sellega. 185 00:09:50,000 --> 00:09:54,000 >> Okei, räägime mõned asjad, mis on ehitatud Objective-C 186 00:09:54,000 --> 00:09:56,000 mis ei olnud tingimata ehitatud C. 187 00:09:56,000 --> 00:09:59,000 C me pidime tegelema stringe kui need tobedad iseloomu massiivid 188 00:09:59,000 --> 00:10:01,000 ja ta sai tõesti tüütu. 189 00:10:01,000 --> 00:10:04,000 Objective-C on need kõik ehitati meie jaoks, ja see on ehitatud 190 00:10:04,000 --> 00:10:06,000 kasutades selle klassi nimetatakse NSString. 191 00:10:06,000 --> 00:10:10,000 Kui ma tahan luua NSString meil rohkem keerulisse süntaks. 192 00:10:10,000 --> 00:10:15,000 Selle asemel, et öelda "cs50" ütleme @ "cs50" 193 00:10:15,000 --> 00:10:17,000 ja see on lihtsalt süntaks tunnistamise stringid Objective-C. 194 00:10:17,000 --> 00:10:21,000 See on väga lihtne unustada, et mitte. 195 00:10:21,000 --> 00:10:24,000 Nüüd, kui mul on see, see on string, kuid teade 196 00:10:24,000 --> 00:10:26,000 see on tõesti lihtsalt ese. 197 00:10:26,000 --> 00:10:30,000 Ma ütlesin NSString, mis tähendab, et ma instantiated klass 198 00:10:30,000 --> 00:10:32,000 nimetatakse NSString, mis keegi kirjutas mulle, 199 00:10:32,000 --> 00:10:35,000 ja nad olid väga kena about it, ja nii nüüd 200 00:10:35,000 --> 00:10:37,000 Võin alustada kutsudes meetodid peal. 201 00:10:37,000 --> 00:10:40,000 Kui ma kõne meetod pikkus selle objekti s 202 00:10:40,000 --> 00:10:43,000 see läheb tagasi minu stringi pikkusena. 203 00:10:43,000 --> 00:10:45,000 See on nagu strlen in C. 204 00:10:45,000 --> 00:10:47,000 See oleks tagasi 4. 205 00:10:47,000 --> 00:10:51,000 >> Sarnaselt on teine ​​meetod Ma võiksite hoolivad on see characterAtIndex. 206 00:10:51,000 --> 00:10:54,000 See on meetod, mis ütleb selle stringi s 207 00:10:54,000 --> 00:10:57,000 Ma tahan, et sa saad 0. iseloomu, 208 00:10:57,000 --> 00:10:59,000 ja nii see tagasi minu iseloomu c, 209 00:10:59,000 --> 00:11:02,000 ja seal on terve hunnik veel need meetodid, mida saab Google tõesti lihtsalt. 210 00:11:02,000 --> 00:11:07,000 Apple'i dokumendid on suur, ja me võtame pilk, et natuke. 211 00:11:07,000 --> 00:11:09,000 Need on stringid. 212 00:11:09,000 --> 00:11:11,000 Meil on ka erineva suurusega massiivid ehitatud sisse 213 00:11:11,000 --> 00:11:13,000 Pea meeles, C, kui me tunnistada massiivi 214 00:11:13,000 --> 00:11:16,000 meil oli öelda sul on 5 elementi, lõpuks lugu. 215 00:11:16,000 --> 00:11:18,000 Kui saime JavaScript ja PHP võime hakata 216 00:11:18,000 --> 00:11:20,000 asju nagu lisades elemente või liikuvaid elemente. 217 00:11:20,000 --> 00:11:22,000 Me võime teha sama Objective-C. 218 00:11:22,000 --> 00:11:26,000 Selle asemel, et luua massiivi tavalisel C viis 219 00:11:26,000 --> 00:11:30,000 meil on jälle teise klassi nimetatakse NSMutableArray. 220 00:11:30,000 --> 00:11:33,000 Seal on ka NSArray, 221 00:11:33,000 --> 00:11:35,000 ja see läheb põhiliselt kapseldada mõned massiivi. 222 00:11:35,000 --> 00:11:38,000 See ütleb esimene asi, mida ma tahan teha, on ma tahan eraldada 223 00:11:38,000 --> 00:11:41,000 ruumi uue massiivi, ja pärast ma jaotada see 224 00:11:41,000 --> 00:11:43,000 Siis tuleb initsialiseerida ta. 225 00:11:43,000 --> 00:11:45,000 Jällegi, lihtsalt kutsudes neid 2 meetodid. 226 00:11:45,000 --> 00:11:48,000 Nüüd tähendab see, et sees selle objekti 227 00:11:48,000 --> 00:11:50,000 Ma olen tühi massiiv istub seal. 228 00:11:50,000 --> 00:11:54,000 Kui ma tahan lisada midagi sellele massiivi, võin helistada addObject meetod. 229 00:11:54,000 --> 00:11:59,000 Tahan lisada objekti array, ja ma tahan lisada string CS50. 230 00:11:59,000 --> 00:12:02,000 Kui ma tahtsin vastupidi eemaldada, et võin öelda ma tahan 231 00:12:02,000 --> 00:12:09,000 Eemaldage ese on esimesel kohal massiiv või vastuväiteid. 232 00:12:09,000 --> 00:12:11,000 >> Mõtet? 233 00:12:11,000 --> 00:12:14,000 Okei, sa selline harju sellega nurksulg asi. 234 00:12:14,000 --> 00:12:18,000 Muide, sees palju Apple'i raamatukogud näete seda NS. 235 00:12:18,000 --> 00:12:21,000 NS tegelikult seisab järgmine samm, mis oli üks Steve Jobs esimesi ettevõtteid, 236 00:12:21,000 --> 00:12:24,000 ja seal ta tõesti hakkas kirjutama palju koodi 237 00:12:24,000 --> 00:12:27,000 nagu mingi alus Mac OS X ja kõik muud kraami, 238 00:12:27,000 --> 00:12:32,000 ja nii see NS on selline see kena pärand Hüüab ühe varasema ettevõtted 239 00:12:32,000 --> 00:12:34,000 tagasi, kui Apple oli esimene alustamist. 240 00:12:34,000 --> 00:12:36,000 See on igal pool. 241 00:12:36,000 --> 00:12:41,000 Võtame pilk terviklikum Objective-C näide. 242 00:12:41,000 --> 00:12:44,000 Siin ma olen sees Xcode. 243 00:12:44,000 --> 00:12:47,000 Et saada siia, ma esimest korda allalaetud XCode App Store, 244 00:12:47,000 --> 00:12:50,000 avas ta üles ja siis ma läksin siin faili 245 00:12:50,000 --> 00:12:54,000 üle siin uus, ja siis projekti. 246 00:12:54,000 --> 00:12:57,000 Pärast ma, et mul on kõik need valikud, mida ma tahan luua, 247 00:12:57,000 --> 00:12:59,000 ja nii me vaatleme neid võimalusi hiljem 248 00:12:59,000 --> 00:13:03,000 aga lihtsalt see näide, sest me tegelikult ei kavatse on app veel, 249 00:13:03,000 --> 00:13:06,000 Ma tulin siia, ja ma ütlesin käsureatööriist, 250 00:13:06,000 --> 00:13:09,000 ja see on app, et ma võiks joosta käsureal 251 00:13:09,000 --> 00:13:12,000 nagu me oleme käinud alates C. 252 00:13:12,000 --> 00:13:16,000 See, kuidas ma lõin selle projekti ja nüüd ma siin olen, 253 00:13:16,000 --> 00:13:20,000 niiet esimene pilk seda pilti, ja see peaks välja nägema üsna tuttav. 254 00:13:20,000 --> 00:13:24,000 Mul on int nimi. Seal on mu sõber argc, mu teine ​​sõber argv. 255 00:13:24,000 --> 00:13:30,000 Ja nii me näeme, et see on lähtepunkt mu esimene Objective-C taotluse. 256 00:13:30,000 --> 00:13:32,000 Siin me ei saa eirata seda nüüd. 257 00:13:32,000 --> 00:13:35,000 See on põhiliselt mõned mälu haldamine kraami, mida tegelikult ei 258 00:13:35,000 --> 00:13:37,000 kunagi ei pea muretsema. 259 00:13:37,000 --> 00:13:39,000 >> Vaatame selle esimese ploki siin. 260 00:13:39,000 --> 00:13:46,000 See esimene rida, kui ma ütlen Student * Alice = [[Student alloc] init] mis see teeb? 261 00:13:46,000 --> 00:13:50,000 See esimene õpilane siin, see on ilmselt klassi. 262 00:13:50,000 --> 00:13:54,000 See ei ole klassi, et Apple kirjutas, aga see on klass, mis ma kirjutasin. 263 00:13:54,000 --> 00:13:57,000 Esimene asi, mida ma tahan teha, on ma tahan eraldada ruumi uuele õpilasele, 264 00:13:57,000 --> 00:14:00,000 ja siis ma tahan initsialiseerida see, et see annab mulle tagasi 265 00:14:00,000 --> 00:14:05,000 see uus õpilane objekt ja ma ladustamiseks seda muutuja nimega Alice. 266 00:14:05,000 --> 00:14:07,000 Kust selle klassi tulevad? 267 00:14:07,000 --> 00:14:12,000 Noh, siin vasakul pool on need kõik erinevad failid sees minu projekt. 268 00:14:12,000 --> 00:14:16,000 Me näeme siin mul Student.h ja Student.m. 269 00:14:16,000 --> 00:14:20,000 . H fail, mäletan, kus ma kuulutada kõik asjad 270 00:14:20,000 --> 00:14:22,000 mis eksisteerivad klassi. 271 00:14:22,000 --> 00:14:25,000 >> Võtame pilk seda. 272 00:14:25,000 --> 00:14:29,000 Olgu, siin on meil see @ liides, ja see ütleb, et siin tuleb 273 00:14:29,000 --> 00:14:33,000 deklaratsioonide kõike, mis eksisteerivad minu klassis. 274 00:14:33,000 --> 00:14:36,000 Siis on mul jämesooles. Siis mul on see NSObject asi. 275 00:14:36,000 --> 00:14:40,000 See koolon tähendab, et pärimise natuke me arutasime natuke varem. 276 00:14:40,000 --> 00:14:43,000 See ütleb kõik NSObject saab teha 277 00:14:43,000 --> 00:14:46,000 kus NSObject on selles klassis kirjutatud kellegi teise, 278 00:14:46,000 --> 00:14:50,000 kõik see NSObject saa ma tahan olla võimeline seda tegema. 279 00:14:50,000 --> 00:14:54,000 Öeldes: NSObject see tähendab, et ma põhimõtteliselt 280 00:14:54,000 --> 00:14:58,000 päritud kõik funktsioonid teise klassi. 281 00:14:58,000 --> 00:15:02,000 See tõesti andis mulle terve hunnik erinevaid meetodeid ja omadusi, et ma saan kasutada. 282 00:15:02,000 --> 00:15:05,000 Alla siin ma loon 2 kinnistut. 283 00:15:05,000 --> 00:15:08,000 See tähendab, et minu õpilane, kui see oli struct, need oleks 2 asja 284 00:15:08,000 --> 00:15:11,000 sees minu struct, nii et iga õpilane on nimi 285 00:15:11,000 --> 00:15:14,000 et on string, ja üliõpilane on ka hinne, 286 00:15:14,000 --> 00:15:17,000 mis on int. 287 00:15:17,000 --> 00:15:23,000 >> Lõpuks, siin ma lähen luua meetod minu õpilane. 288 00:15:23,000 --> 00:15:26,000 Ma helistasin oma meetod, initWithName, ja see võtab ühe argumendina, 289 00:15:26,000 --> 00:15:31,000 ja see argument on string, ja ma kutsusin seda nimetada. 290 00:15:31,000 --> 00:15:35,000 Nüüd vaatame, kuidas me tegelikult rakendatud selles klassis. 291 00:15:35,000 --> 00:15:38,000 Siin nüüd olen sees minu. M faili 292 00:15:38,000 --> 00:15:40,000 m rakendamiseks, ma arvan. 293 00:15:40,000 --> 00:15:44,000 Mul on rakendamise, minu otsas ja siin on koht, kus ma tegelikult defineerime 294 00:15:44,000 --> 00:15:47,000 mida initWithName teeb. 295 00:15:47,000 --> 00:15:50,000 Mul on initWithName, nimi minu parameeter, ja siis see 296 00:15:50,000 --> 00:15:53,000 on koht, kus ma tegelikult luua õpilane, 297 00:15:53,000 --> 00:15:56,000 ja nii see on natuke segasena, kuid see on selline stereotüüp 298 00:15:56,000 --> 00:15:58,000 , mida soovite lisada oma ehitajatel. 299 00:15:58,000 --> 00:16:02,000 See initsialiseerimise funktsioon siin, initWithName, on teatud tüüpi ehitaja. 300 00:16:02,000 --> 00:16:05,000 Sa põhimõtteliselt ehitada uus õpilane objekti 301 00:16:05,000 --> 00:16:07,000 ja võibolla saadan mõned andmed sees on. 302 00:16:07,000 --> 00:16:11,000 Esimene asi, mida ma tahan teha, on Ma tahan helistada init selle super asi. 303 00:16:11,000 --> 00:16:15,000 >> Pea meeles, et kui ma ütlesin, tagasi siin. H fail 304 00:16:15,000 --> 00:16:21,000 et kõik NSObject on üliõpilane on ka. 305 00:16:21,000 --> 00:16:24,000 See tähendab, et kui ma loon üliõpilane mida ma ka vaja teha, on 306 00:16:24,000 --> 00:16:28,000 veenduge, et NSObject et ma pärib kõik, et andmeid 307 00:16:28,000 --> 00:16:32,000 Samuti käivitub korralikult. 308 00:16:32,000 --> 00:16:36,000 Mida ma pean ütlema, on see super tegelikult toimub viidata vanema klassi 309 00:16:36,000 --> 00:16:39,000 et ma emalt päritud, nii et ma tahan veenduda, ma initsialiseerida 310 00:16:39,000 --> 00:16:43,000 kõike, mida ma olenevalt enne kui ma hakkan üritan seda kasutada. 311 00:16:43,000 --> 00:16:46,000 Siis kui see käivitub õigesti see on sama hea kui õelda, kui malloc 312 00:16:46,000 --> 00:16:50,000 ei tagastanud null siis võin alustada, millega mõned omadused. 313 00:16:50,000 --> 00:16:54,000 >> JavaScript ja PHP olime selle märksõna nimetatakse seda, 314 00:16:54,000 --> 00:16:58,000 ja see nimetatud praegune astme klassis. 315 00:16:58,000 --> 00:17:00,000 Objective-C me nimetame seda ise. 316 00:17:00,000 --> 00:17:04,000 Kui ma ütlen self.name, mis tähendab, et objekti 317 00:17:04,000 --> 00:17:07,000 Ma lihtsalt loodud, kui ma ütlesin õpilane alloc init, 318 00:17:07,000 --> 00:17:09,000 et läheb mulle tagasi objektile. 319 00:17:09,000 --> 00:17:12,000 See tähendab, et ma tahan anda nime, et objekti 320 00:17:12,000 --> 00:17:15,000 mis iganes ma lihtsalt möödas sisse 321 00:17:15,000 --> 00:17:18,000 Täpselt nagu C, me juurdepääs kohal selle punkti, 322 00:17:18,000 --> 00:17:21,000 nii self.name ütleb nime üliõpilane objekti 323 00:17:21,000 --> 00:17:24,000 nüüd saab olema, mida sa lihtsalt möödas sisse 324 00:17:24,000 --> 00:17:28,000 Ja nii lõpuks saan tagasi see, et ma tegelikult saan midagi tagasi. 325 00:17:28,000 --> 00:17:30,000 >> Küsimused? 326 00:17:30,000 --> 00:17:34,000 Okei, nii et see ise = super init, 327 00:17:34,000 --> 00:17:37,000 kui sa ei saa täielikult aru pärimise värk ärge muretsege. 328 00:17:37,000 --> 00:17:40,000 Lihtsalt tean, et kui sa kunagi tahad teha oma init meetodi lihtsalt 329 00:17:40,000 --> 00:17:42,000 seda teha, ja sa pead olema hea minna. 330 00:17:42,000 --> 00:17:44,000 Jah. >> [Student] Mis siis, kui ise keskmine? 331 00:17:44,000 --> 00:17:49,000 See tähendab, kui me malloc me alati kontrollida, kas see oli võrdne null, 332 00:17:49,000 --> 00:17:51,000 ja kui ta oli null, siis me lahkus. 333 00:17:51,000 --> 00:17:55,000 See on sama asi, sest kui see naaseb null, siis me ilmselt läheb SEG süü 334 00:17:55,000 --> 00:17:57,000 kui hakkame üritab manipuleerida seda. 335 00:17:57,000 --> 00:18:01,000 See on meie õpilaste klassi. 336 00:18:01,000 --> 00:18:03,000 See tähendab, et saame initsialiseerida meie õpilased kahel viisil. 337 00:18:03,000 --> 00:18:08,000 Kui ma ütlen õpilane alloc init ma ei kasuta seda meetodit, et ma lihtsalt kirjutasin, 338 00:18:08,000 --> 00:18:11,000 ja selle asemel võin lihtsalt öelda alice.name, 339 00:18:11,000 --> 00:18:14,000 ja nüüd ma lähen seatud, et vara nimetus. 340 00:18:14,000 --> 00:18:17,000 >> Samamoodi, kui ma tahan kasutada, et initWithName meetod 341 00:18:17,000 --> 00:18:20,000 Võin lihtsalt öelda alloc ja seejärel mitte öelda init 342 00:18:20,000 --> 00:18:24,000 Ma kutsun seda meetodit, et ma lihtsalt loodud, ja ma lähen läbima Bob. 343 00:18:24,000 --> 00:18:30,000 Sel hetkel, see objekt Bob on nimi võrdne Bob. 344 00:18:30,000 --> 00:18:35,000 Okei, siin ma kasutan, et NSMutableArray et me vaatasime varem. 345 00:18:35,000 --> 00:18:38,000 Ma eraldades space.Then Ma initsialiseerimisel uue massiivi. 346 00:18:38,000 --> 00:18:40,000 Ma lähen lisada 2 asja ta. 347 00:18:40,000 --> 00:18:43,000 See massiiv nüüd omab üliõpilane objektide kohta. 348 00:18:43,000 --> 00:18:46,000 Pange tähele, et kuhugi ma pean ütlema, see on massiiv õpilased. 349 00:18:46,000 --> 00:18:48,000 Ma ütlesin, et see on massiiv, periood. 350 00:18:48,000 --> 00:18:50,000 Siis ma ei pane mis iganes sees see, mida ma tahan. 351 00:18:50,000 --> 00:18:52,000 Siin on mul 2 objekti. 352 00:18:52,000 --> 00:18:56,000 >> Lõpuks, mul on teine ​​objekt siin, see TF. 353 00:18:56,000 --> 00:18:59,000 Üle siin TF.h põhimõtteliselt sama asi. 354 00:18:59,000 --> 00:19:01,000 Olen emalt päritud NSObject, ja muide, 355 00:19:01,000 --> 00:19:03,000 Kui loote klasside see kõik on tehtud teie jaoks, 356 00:19:03,000 --> 00:19:06,000 selline liides trafaretset. 357 00:19:06,000 --> 00:19:08,000 See on vara õpilased. 358 00:19:08,000 --> 00:19:15,000 Mul on paar meetodeid siin, et ei ole tõesti palju, 359 00:19:15,000 --> 00:19:18,000 ja nii see tähendab, kui ma luua selle TF objekti 360 00:19:18,000 --> 00:19:23,000 Võin selle meetodi klassist see niimoodi. 361 00:19:23,000 --> 00:19:26,000 Iga küsimustele Objective-C süntaks enne kui hakkame liigub veel 362 00:19:26,000 --> 00:19:30,000 huvitav apps areng kraami? 363 00:19:30,000 --> 00:19:34,000 >> Okei, niiet tegelikult teha iPhone app. 364 00:19:34,000 --> 00:19:39,000 Tuum klassid, mis teid kasutades sees oma iPhone app on kutsutud eesmärgiga kontrollerid 365 00:19:39,000 --> 00:19:42,000 ja et töötleja põhimõtteliselt kujutab endast ekraanile mahtuda 366 00:19:42,000 --> 00:19:46,000 sees oma app, nii et kui ma olen muusika app, näiteks 367 00:19:46,000 --> 00:19:50,000 üks vaade kontroller võiks olla vaade, kus ma saan vaadata kõik laulud minu iPhone. 368 00:19:50,000 --> 00:19:53,000 Teine vaade kontroller võiks olla kui ma vajutan laulu ja mängima hakata seda 369 00:19:53,000 --> 00:19:55,000 või kui ma puurimine ette võtta kunstnikud. 370 00:19:55,000 --> 00:19:59,000 Kõik need erinevad ekraanide võiks olla esindatud teistsugusel seisukohal kontroller, 371 00:19:59,000 --> 00:20:04,000 ja et kontroller on tõesti ainult klassi, mis ütleb, kuidas see ekraan toimib. 372 00:20:04,000 --> 00:20:07,000 Asjad sees, et kontroller, me lähed on omadused, 373 00:20:07,000 --> 00:20:10,000 nii asjad nagu nupule saab olema vara meie arvates kontroller. 374 00:20:10,000 --> 00:20:13,000 >> Töötame ka läheb on meetodeid, ja need on põhiliselt sündmuseohjurite. 375 00:20:13,000 --> 00:20:16,000 See meetod ütleb, kui vajutate seda nuppu 376 00:20:16,000 --> 00:20:19,000 Ma tahan teha midagi ja lõpuks jällegi 377 00:20:19,000 --> 00:20:24,000 me ei kavatse olla kasutades seda ise märksõna juurdepääsu praeguse näiteks. 378 00:20:24,000 --> 00:20:29,000 Et ehitada liidesed iOS on tegelikult tõesti väga lihtne. 379 00:20:29,000 --> 00:20:32,000 Neil on see kena lohistada liides nimega Interface Builder, 380 00:20:32,000 --> 00:20:37,000 ja 2 tuum mõisted, traat oma Objective-C on Interface Builder 381 00:20:37,000 --> 00:20:40,000 on IBOutlet ja IBAction. 382 00:20:40,000 --> 00:20:44,000 IBOutlet lihtsalt ütleb, et kui sa tunnistada vara, mis on nupp, 383 00:20:44,000 --> 00:20:47,000 ja soovite konksu ta kuni midagi oma tegeliku UI, 384 00:20:47,000 --> 00:20:49,000 sa lähed öelda, et see lahti. 385 00:20:49,000 --> 00:20:51,000 Samamoodi, kui soovite esindama sündmus 386 00:20:51,000 --> 00:20:54,000 siis sa lähed öelda, et see tegevus. 387 00:20:54,000 --> 00:20:57,000 >> Et tegelikult juhtmetega ühendada see graafiliselt 388 00:20:57,000 --> 00:21:00,000 ja oma koodi see on tõesti väga lihtne. 389 00:21:00,000 --> 00:21:03,000 Kui sa tahad lisada IBOutlet, kõik mida sa pead tegema, on teil kontrollida kliki, 390 00:21:03,000 --> 00:21:05,000 ja me näeme näiteks on tõesti kiire. 391 00:21:05,000 --> 00:21:07,000 Sa kontrolli nuppu, kus ta ütleb View Controller. 392 00:21:07,000 --> 00:21:09,000 Sa lähed Kaasa tõmmata liides, või vastupidi, 393 00:21:09,000 --> 00:21:13,000 kui sa tahad konks sündmus sa lähed lohistada liides 394 00:21:13,000 --> 00:21:15,000 teises suunas. 395 00:21:15,000 --> 00:21:20,000 Võtame pilk väga lihtne iOS näiteks. 396 00:21:20,000 --> 00:21:23,000 >> Loome uue projekti. 397 00:21:23,000 --> 00:21:25,000 Ma lähen, et tulla siia, et taotlus, 398 00:21:25,000 --> 00:21:28,000 ja ma lähen klõpsa Single Vaata kohaldamine. 399 00:21:28,000 --> 00:21:31,000 Ma lähen nuppu Edasi. Mina annan oma projekti nimi. 400 00:21:31,000 --> 00:21:33,000 Ma nimetan seda Tere. 401 00:21:33,000 --> 00:21:36,000 Huvitav, Apple ei kanna loote toode 402 00:21:36,000 --> 00:21:38,000 nii et saate müüa ja nad saavad raha. 403 00:21:38,000 --> 00:21:41,000 Alla siin ma ütlen, et see on iPhone app. 404 00:21:41,000 --> 00:21:44,000 Saate luua iPad app, või kui soovite luua üks neist apps 405 00:21:44,000 --> 00:21:47,000 mis toetab nii seadmeid, mida saate teha, et liiga. 406 00:21:47,000 --> 00:21:49,000 Need on, mida sa tahad oma checkmarks nägema. 407 00:21:49,000 --> 00:21:51,000 >> Te soovite kasutada käsikirjade, mida me näeme hiljem, 408 00:21:51,000 --> 00:21:54,000 ja te kindlasti soovite kasutada automaatset viide arvestamist, 409 00:21:54,000 --> 00:21:58,000 mis on tore funktsioon, mis takistab teil oleks öelda malloc ja tasuta. 410 00:21:58,000 --> 00:22:03,000 Kui soovite helistada malloc ja tasuta, ma jätaks selle kontrollitud. 411 00:22:03,000 --> 00:22:07,000 Ma Klõpsake nuppu Edasi ja lõpuks, see saab minult küsida, kus ma tahan seda salvestada. 412 00:22:07,000 --> 00:22:14,000 Ma löön luua, ja siin me läheme. 413 00:22:14,000 --> 00:22:16,000 Olen loonud uue projekti. 414 00:22:16,000 --> 00:22:19,000 Üle siin vasakul on kõik failid, mis on sees minu projekt, 415 00:22:19,000 --> 00:22:22,000 ja teate, et ma sain terve hunnik, ja ma isegi ei tee midagi. 416 00:22:22,000 --> 00:22:24,000 IOS on suur. 417 00:22:24,000 --> 00:22:27,000 >> Näiteks siin ViewController.h, 418 00:22:27,000 --> 00:22:30,000 see läheb esindama minu esimene vaade kontroller, 419 00:22:30,000 --> 00:22:32,000 nii esimese ekraani sees minu app. 420 00:22:32,000 --> 00:22:34,000 Nüüd me teame, mida see ütleb. 421 00:22:34,000 --> 00:22:36,000 Me öeldes ma helistan selle klassi ViewController, 422 00:22:36,000 --> 00:22:40,000 ja ViewController teeb kõike, et UIViewController teeb, 423 00:22:40,000 --> 00:22:43,000 ja see omakorda on mõned klassi, et Apple kirjutas, et teeb palju käepärane kraam meile 424 00:22:43,000 --> 00:22:46,000 meeldib kuvada ekraanile. 425 00:22:46,000 --> 00:22:50,000 Siin on koht, kus ma ei saa tegelikult alustada määratlema, mida minu arvates kontroller teeb, 426 00:22:50,000 --> 00:22:52,000 ja tuleb välja, et ma tõesti ei vaja seda. 427 00:22:52,000 --> 00:22:55,000 See on stereotüüp kood, et Apple annab mulle tasuta. 428 00:22:55,000 --> 00:22:59,000 Mul on vaja, et esimene rida, või mul ei ole klassi, 429 00:22:59,000 --> 00:23:02,000 nii saame lahti sellest ja vabaneda sellest. 430 00:23:02,000 --> 00:23:05,000 Okei, nii et see on minu tühi ekraan. 431 00:23:05,000 --> 00:23:08,000 >> Nüüd vaatame, siis see MainStoryboard.storyboard, 432 00:23:08,000 --> 00:23:11,000 ja see on koht, kus ta hakkab saama huvitav. 433 00:23:11,000 --> 00:23:14,000 See on esimene ekraan minu app. 434 00:23:14,000 --> 00:23:17,000 Kui ma tahan lisada nupp, HTML pidin luua nupu sildi. 435 00:23:17,000 --> 00:23:20,000 Android tuleb luua nuppu tag, 436 00:23:20,000 --> 00:23:23,000 kuid iOS kui ma siia tulema alt paremale 437 00:23:23,000 --> 00:23:27,000 ja kui ma vajutan seda 3. üks siin, kus ta ütleb Objektid, 438 00:23:27,000 --> 00:23:31,000 ja ma ei keri, või võin hakata otsima nuppu. 439 00:23:31,000 --> 00:23:35,000 Ja vaata, nupp, nii et kui ma tegelikult lohistada seda seal, 440 00:23:35,000 --> 00:23:38,000 Ma olen lihtsalt lisada nuppu see ekraan minu app. 441 00:23:38,000 --> 00:23:41,000 Kui ma tahan muuta teksti, ma ei tee sellel topeltklõps, 442 00:23:41,000 --> 00:23:47,000 midagi öelda köitev nagu "Vajuta mind." 443 00:23:47,000 --> 00:23:51,000 Okei, nüüd, kui ma saan seda app, nii et me kompileerida, 444 00:23:51,000 --> 00:23:54,000 nii kestab see mul kliki play nuppu üleval vasakul, ja seal on minu app. 445 00:23:54,000 --> 00:23:58,000 Ma ei teinud midagi, ja ma sain magus otsin iPhone app. 446 00:23:58,000 --> 00:24:01,000 Kui ma tahan seda peatada, võite klõpsata nuppu Stop 447 00:24:01,000 --> 00:24:03,000 sest see on lõbusam. 448 00:24:03,000 --> 00:24:07,000 >> Ütleme, et ma tegelikult tahan midagi juhtuks kui ma vajutan seda nuppu. 449 00:24:07,000 --> 00:24:09,000 Selleks et mida ma pean tegema, on mul vaja luua 450 00:24:09,000 --> 00:24:13,000 uus sündmus või tegevus. 451 00:24:13,000 --> 00:24:16,000 See tähendab, et mul on vaja luua mingit meetodit, mida tahan nimetada 452 00:24:16,000 --> 00:24:18,000 kui ma vajutan nuppu, niiet luua uus meetod. 453 00:24:18,000 --> 00:24:20,000 Ma olen sees ViewController.h. 454 00:24:20,000 --> 00:24:22,000 Ma pean ütlema, et meetod on olemas. 455 00:24:22,000 --> 00:24:26,000 Vajan sidekriips sest esiteks ma olla kutsudes seda silmas kontroller. 456 00:24:26,000 --> 00:24:28,000 Mul on vaja anda seda tüüpi. 457 00:24:28,000 --> 00:24:31,000 Tüüpi see saab olema, et IBAction asi, mida me nägime. 458 00:24:31,000 --> 00:24:35,000 See on sündmus, nii see läheb tagasi IBAction, 459 00:24:35,000 --> 00:24:38,000 ja see on vihje XCode öelda, et 460 00:24:38,000 --> 00:24:40,000 see on midagi, mida ma tahan kaabliga midagi. 461 00:24:40,000 --> 00:24:45,000 Võin anda talle nimi, nagu buttonPressed, semikoolon. 462 00:24:45,000 --> 00:24:48,000 >> Nüüd ma olen kuulutanud uue meetodi sees minu klassi. 463 00:24:48,000 --> 00:24:50,000 Ma olen öelnud seda meetodit on olemas. 464 00:24:50,000 --> 00:24:53,000 Nüüd aga tulevad ViewController.m, 465 00:24:53,000 --> 00:24:56,000 ja oletame, et see, mida selle meetodi abil võimalik teha. 466 00:24:56,000 --> 00:25:03,000 Kui ma hakkan kirjutama, näiteks (void) buttonPressed 467 00:25:03,000 --> 00:25:06,000 teade Xcode on tõesti kena ja autocompletes minu jaoks. 468 00:25:06,000 --> 00:25:09,000 See on väga tore. 469 00:25:09,000 --> 00:25:12,000 Teade siin, et sees. M faili Võin ka öelda tühine, 470 00:25:12,000 --> 00:25:15,000 ja seda sellepärast, et IBAction ei ole tegelikult tüüp. 471 00:25:15,000 --> 00:25:19,000 See on tegelikult hashtag määratletud kuskil olla tühine, 472 00:25:19,000 --> 00:25:22,000 ja jällegi, see on lihtsalt vihje XCode mis ütleb 473 00:25:22,000 --> 00:25:25,000 Ma tahan, et see oleks sündmus, ja me näeme, miks just sekund. 474 00:25:25,000 --> 00:25:28,000 Kui seda nuppu vajutatakse ma teen midagi tüütu 475 00:25:28,000 --> 00:25:30,000 nagu ekraanil hüpikaken. 476 00:25:30,000 --> 00:25:35,000 >> Selleks, et saan luua uue Näiteks selle klassi nimetatakse UIAlertView, 477 00:25:35,000 --> 00:25:39,000 ja see on klass, mis Apple kirjutas, et läheb näidata tüütu hüpikaknad. 478 00:25:39,000 --> 00:25:43,000 Me kutsume seda hüpikakna märguanne, ja mul on 2 sammu, pidage meeles, et luua seda objekti. 479 00:25:43,000 --> 00:25:46,000 Esimene asi, mida ma pean tegema, on eraldada ruumi. 480 00:25:46,000 --> 00:25:48,000 Ma tahan UIAlertView. 481 00:25:48,000 --> 00:25:51,000 Ma tahan eraldada ruumi. See on minu esimene meetod. 482 00:25:51,000 --> 00:25:53,000 Minu järgmine meetod on Ma tahan initsialiseerida see, 483 00:25:53,000 --> 00:25:58,000 ja nii mul on see suur, pikk meetodit nimetatakse initWithTitle. 484 00:25:58,000 --> 00:26:01,000 See on põhimõtteliselt kavatse kontrollida, mida see hüpikaken ütleb. 485 00:26:01,000 --> 00:26:04,000 Pealkiri minu hüpikaken saab tere. 486 00:26:04,000 --> 00:26:08,000 Sõnum see hüpikaken saab "See on iOS." 487 00:26:08,000 --> 00:26:10,000 Delegaat asi, ma ei tea mis see on. 488 00:26:10,000 --> 00:26:13,000 Oletame, et see pole midagi. 489 00:26:13,000 --> 00:26:18,000 Nüüd nupule, et läheb ilmuma saab öelda midagi "See kindlasti on," 490 00:26:18,000 --> 00:26:24,000 ja ma tõesti ei taha mingeid muid nuppe, niiet kustutada ja sulgeda sulg. 491 00:26:24,000 --> 00:26:27,000 >> Okei, ma loodud ekstra üks. Nii juba läheb. 492 00:26:27,000 --> 00:26:30,000 See on, kuidas ma saan luua uue hüpikaken. 493 00:26:30,000 --> 00:26:35,000 Kui ma tahan tegelikult näidata hüpikaken ma tahan helistada Näita meetod. 494 00:26:35,000 --> 00:26:38,000 Selleks, et võin öelda, tähelepanelik ja näitavad, 495 00:26:38,000 --> 00:26:40,000 ja jälle, automaatteksti oli super tore. 496 00:26:40,000 --> 00:26:42,000 Kui ma unustasin, mis see oli, kui ma lihtsalt kirjutada s, 497 00:26:42,000 --> 00:26:45,000 Võin kerida siin aru saada, mis see oli, 498 00:26:45,000 --> 00:26:48,000 ja see filtreerib kenasti. 499 00:26:48,000 --> 00:26:52,000 Nüüd olen loonud uue hüpikaken. 500 00:26:52,000 --> 00:26:55,000 Me tuleme tagasi, mida delegaat tähendab hiljem 501 00:26:55,000 --> 00:26:58,000 ja nüüd ma tahan öelda, et ma tahan seda meetodit lastakse 502 00:26:58,000 --> 00:27:01,000 kui ma vajutan nuppu, nii et ma lähen tagasi tulla mu süžeeskeemil 503 00:27:01,000 --> 00:27:04,000 ja ma tahan nüüd lisada see IBAction. 504 00:27:04,000 --> 00:27:06,000 Esimene asi, mida tahame teha, on klõpsa nuppu. 505 00:27:06,000 --> 00:27:08,000 Kui ma vajutan seda nuppu, ma tahan midagi juhtuks. 506 00:27:08,000 --> 00:27:10,000 Ma ei hoia kontrolli. 507 00:27:10,000 --> 00:27:13,000 Ma lähen klõpsake ja lohistage nupp 508 00:27:13,000 --> 00:27:15,000 et siin, kus ta ütleb View Controller. 509 00:27:15,000 --> 00:27:17,000 Me näeme, et see ilusti süttib. 510 00:27:17,000 --> 00:27:22,000 >> Kui ma lasen minna minu hiir mul on nüüd see hüpikaken siia, kus ma olen mõned võimalused. 511 00:27:22,000 --> 00:27:24,000 Üks neist on sündmuste, et ma ei registreeri. 512 00:27:24,000 --> 00:27:28,000 Need on kõik need meetodid Ma deklareeritud mu h faili IBActions. 513 00:27:28,000 --> 00:27:31,000 See, kuidas XCode teab, mis peaks ilmuma see väike nimekiri, 514 00:27:31,000 --> 00:27:33,000 nii et on lihtsalt vihje. 515 00:27:33,000 --> 00:27:37,000 Kui ma vajutan nuppu all, ma olen nüüd registreeritud sündmus. 516 00:27:37,000 --> 00:27:41,000 JavaScript meil öelda oli mul mingi kood, mis on registreeritud sündmus. 517 00:27:41,000 --> 00:27:43,000 Objective-C oli see tõesti nii lihtne. 518 00:27:43,000 --> 00:27:46,000 Kui ma saan seda uuesti 519 00:27:46,000 --> 00:27:49,000 nüüd kui ma vajutan nuppu minu sündmus toimub tulekahju, 520 00:27:49,000 --> 00:27:51,000 ja ma lähen, et saada see hüpikaken. 521 00:27:51,000 --> 00:27:54,000 Super, super lihtne seal. 522 00:27:54,000 --> 00:27:57,000 >> Kui sa kunagi tahad, et näha kõiki sündmusi, mis on registreeritud 523 00:27:57,000 --> 00:28:00,000 kohta osa, kui ma vajutan seda nuppu 524 00:28:00,000 --> 00:28:02,000 ja ma tulen siia paremale küljele 525 00:28:02,000 --> 00:28:05,000 1. näete siin ma suudan asjad tüüpi nupp, 526 00:28:05,000 --> 00:28:08,000 nii et kui soovite ühte neist ma-või kontaktisiku lisamise nuppu 527 00:28:08,000 --> 00:28:10,000 või mis iganes. 528 00:28:10,000 --> 00:28:13,000 Kui ma tahan näha kõiki sündmusi, mis on sellel nupul 529 00:28:13,000 --> 00:28:16,000 kui ma kogu tee siia paremale küljele 530 00:28:16,000 --> 00:28:19,000 näeme siin sündmuste Mul on kõik need erinevad sündmused. 531 00:28:19,000 --> 00:28:23,000 Ma ei vajuta nuppu, kui ma lase nupp, kui ma topeltpuudutuse või mis iganes, 532 00:28:23,000 --> 00:28:26,000 ja ma lihtsalt registreeritud on see üritus nimega Touch Up Inside, 533 00:28:26,000 --> 00:28:29,000 ja see ütleb, et niipea, kui mu sõrme ära tuleb nuppu 534 00:28:29,000 --> 00:28:32,000 Sellisel juhul läheb tulekahju, ja see on täpselt, mis juhtus. 535 00:28:32,000 --> 00:28:36,000 See on selline vaikimisi nupu vajutamisel korral. 536 00:28:36,000 --> 00:28:39,000 >> Kõik küsimused siiani? 537 00:28:39,000 --> 00:28:43,000 Okei, see on, kuidas saame alustada juhe üles asjad meie kood 538 00:28:43,000 --> 00:28:46,000 võtta asju sees meie liides. 539 00:28:46,000 --> 00:28:49,000 Pea meeles, esimene asi, mida pidi tegema, oli leida koodi, 540 00:28:49,000 --> 00:28:54,000 ja siis me wired up liidese koodi, 541 00:28:54,000 --> 00:28:57,000 ja seal on meie esimene app. 542 00:28:57,000 --> 00:29:00,000 Okei, see oli väga lahe, ja me loodud see nupp. 543 00:29:00,000 --> 00:29:03,000 Mis siis, kui me ei taha olla looma kamp omadused 544 00:29:03,000 --> 00:29:05,000 esindavad neid nuppe? 545 00:29:05,000 --> 00:29:08,000 Näiteks Tic Tac Toe Mul on 9 nuppu, 546 00:29:08,000 --> 00:29:11,000 ja see oleks super, super tüütu on lohistada 9 korda 547 00:29:11,000 --> 00:29:14,000 või kui ma pidin tegema Tic Tac Toe on 81 asemel 9 548 00:29:14,000 --> 00:29:17,000 ja ma pidin lohistada 81 korda, ja see on lame. 549 00:29:17,000 --> 00:29:20,000 Mida me saame teha selle asemel on palju nagu HTML 550 00:29:20,000 --> 00:29:23,000 kui meil oli asju nagu sümbolid ja nimed ja saame otsida asju 551 00:29:23,000 --> 00:29:27,000 oma ID, seal on sarnane mõiste on iOS nimega sildid. 552 00:29:27,000 --> 00:29:31,000 >> Silt on lihtsalt unikaalne numbriline tunnus komponent. 553 00:29:31,000 --> 00:29:34,000 Kui ma ütlen seda on silt 0, näiteks 554 00:29:34,000 --> 00:29:38,000 kui ma luua nupu ja anda see silt on 0, ja me näeme, kuidas seda teha mõne sekundi pärast, 555 00:29:38,000 --> 00:29:41,000 kui ma tahan saada seda nuppu võin lihtsalt öelda, et ma tahan helistada 556 00:29:41,000 --> 00:29:45,000 viewWithTag meetod objektil üle siin, 557 00:29:45,000 --> 00:29:48,000 self.view, mis moodustab praeguse ekraani, näiteks. 558 00:29:48,000 --> 00:29:53,000 Kui ma kutsun et viewWithTag meetod, ma lähen tõmmake nupp märksõnaga 0. 559 00:29:53,000 --> 00:29:58,000 Võtame pilk selle poolt hoone Tic Tac Toe. 560 00:29:58,000 --> 00:30:01,000 Esiteks, see on minu storyboard. 561 00:30:01,000 --> 00:30:05,000 Olen loonud need 10 UI nupud. 562 00:30:05,000 --> 00:30:07,000 Teade nad kõik sama suurusega. 563 00:30:07,000 --> 00:30:11,000 Kui ma vajutan üks neist ja ma tulen tagasi siia selle paremal küljel 564 00:30:11,000 --> 00:30:15,000 näete ma kohandatud font siin, seega tegin font natuke suurem, 565 00:30:15,000 --> 00:30:19,000 aga mida ma ka tegin, oli seadsin selle sildi. 566 00:30:19,000 --> 00:30:23,000 Ma ütlesin, et see on sildi 1, ja see on ülemises vasakus. 567 00:30:23,000 --> 00:30:26,000 >> Nüüd, kui ma vajutan teine ​​nupp, nagu see teine ​​siin, 568 00:30:26,000 --> 00:30:29,000 nüüd te näete, et minu tag on 2. 569 00:30:29,000 --> 00:30:32,000 Kõik need nupud lihtsalt on unikaalne märgend, 570 00:30:32,000 --> 00:30:35,000 ja nii see hiljem, kuidas ma lähen alustada suheldes 571 00:30:35,000 --> 00:30:38,000 minu app. 572 00:30:38,000 --> 00:30:40,000 See on kõik sees üks vaade kontroller, 573 00:30:40,000 --> 00:30:42,000 kuid siin on see, mida meil on. 574 00:30:42,000 --> 00:30:44,000 Meil on 3 kinnistut siin. 575 00:30:44,000 --> 00:30:49,000 Esimene ja viimane ei kavatse esindab riiki oma pardal. 576 00:30:49,000 --> 00:30:53,000 Põhimõtteliselt on see esimene on massiiv esindavad kus XS ja OS on. 577 00:30:53,000 --> 00:30:57,000 See teine ​​siin ütleb meile, kelle kord on. 578 00:30:57,000 --> 00:31:01,000 Märkad, et mul on ka need asjad siin. 579 00:31:01,000 --> 00:31:05,000 Enne kui me deklareeritud omadused andsime neile nime ja tüüpi. 580 00:31:05,000 --> 00:31:08,000 Saame ka anda neile mõned lisainfot siit. 581 00:31:08,000 --> 00:31:11,000 See esimene ütleb nonatomic, ja mida see ütleb 582 00:31:11,000 --> 00:31:16,000 on põhimõtteliselt ainult üks asi kunagi üritada pääseda sellele muutujat korraga. 583 00:31:16,000 --> 00:31:19,000 Sa võiksid teha rohkem keeruliste taotlustega, mis on mitme keermestatud, 584 00:31:19,000 --> 00:31:22,000 ja nii tagasi Scratch meil oli erinev niidid, 585 00:31:22,000 --> 00:31:25,000 ja erinevaid haldjaid võiks teha erinevaid asju samal ajal. 586 00:31:25,000 --> 00:31:29,000 >> Kui see nii ei ole, mida ta ei ole midagi, et me vaatleme, 587 00:31:29,000 --> 00:31:33,000 kui me ütleme nonatomic see on tegelikult kavatseb teha asju natuke kiiremini. 588 00:31:33,000 --> 00:31:37,000 Meil on ka see asi, mida nimetatakse määranud, tugev või nõrk. 589 00:31:37,000 --> 00:31:40,000 See määrata lihtsalt ütleb, et see on standard tüüp. 590 00:31:40,000 --> 00:31:43,000 See ei ole eesmärk või pointer, kuna see on lihtsalt bool, 591 00:31:43,000 --> 00:31:46,000 nii bool on ehitatud Objective-C. 592 00:31:46,000 --> 00:31:49,000 See ütleb ei püüa midagi teha väljamõeldud koos osuti siin. 593 00:31:49,000 --> 00:31:51,000 See on tavaline vana mastaabimuundur. 594 00:31:51,000 --> 00:31:54,000 Tugevad ja nõrgad, see nõrk ütleb, et tegelikult 595 00:31:54,000 --> 00:31:57,000 Ma tahan seda olla suunatud millegi arvates kontroller. 596 00:31:57,000 --> 00:32:00,000 Ma ei kavatse tegelikult eraldama või init seda ise. 597 00:32:00,000 --> 00:32:04,000 Liides ehitaja, kui ma saan app, saab hakkama kõik, et ettekanne. 598 00:32:04,000 --> 00:32:07,000 Kui ma ütlen nõrk, mis ütleb, et keegi teine ​​saab olema luua seda. 599 00:32:07,000 --> 00:32:09,000 Kui ma ütlen tugev, see ütleb, et ma lähen olema üks 600 00:32:09,000 --> 00:32:12,000 et inimest luues selle foorumi eesmärk, 601 00:32:12,000 --> 00:32:14,000 ja siin ma saaksin veel meetodeid siin, 602 00:32:14,000 --> 00:32:18,000 näiteks hagi, kui uus mäng nuppu, 603 00:32:18,000 --> 00:32:20,000 hagi kui mõne nuppude vajutamisel, 604 00:32:20,000 --> 00:32:23,000 ja jne. 605 00:32:23,000 --> 00:32:26,000 >> Me ei hakka liiga palju loogikat Tic Tac Toe, 606 00:32:26,000 --> 00:32:30,000 kuigi see on väga põnev, kuid võtame pilk 607 00:32:30,000 --> 00:32:33,000 mõned asjad, mis me teha saame sees iOS. 608 00:32:33,000 --> 00:32:35,000 See uus mäng meetod läheb vallandati 609 00:32:35,000 --> 00:32:37,000 kui ma vajutan uus mäng nuppu. 610 00:32:37,000 --> 00:32:41,000 Konks, et kuni ma lihtsalt tulevad üle minu storyboard. 611 00:32:41,000 --> 00:32:43,000 Napsautin uus mäng. 612 00:32:43,000 --> 00:32:47,000 Kui ma tulen siia paremale ma näen, et 613 00:32:47,000 --> 00:32:50,000 Parandage Toas on traadiga Newgame meetod. 614 00:32:50,000 --> 00:32:53,000 Sellepärast see läheb lahti lastakse. 615 00:32:53,000 --> 00:32:56,000 Newgame meetod kavatseb teha mõned loodud. 616 00:32:56,000 --> 00:32:59,000 See saab öelda tahan teil selge riigi pardal. 617 00:32:59,000 --> 00:33:01,000 See on tore meetod Muutuv massiivid. 618 00:33:01,000 --> 00:33:03,000 See saab öelda, et see nüüd X omakorda 619 00:33:03,000 --> 00:33:07,000 ja nüüd ma lähen ära seda viewWithTag asi. 620 00:33:07,000 --> 00:33:11,000 >> Ma tean, et mu nupud on sildid 1-9, 621 00:33:11,000 --> 00:33:13,000 ja see on midagi, mida ma meelevaldselt valitud. 622 00:33:13,000 --> 00:33:15,000 Kui ma tahan määrata teksti iga nuppu, et on tühi 623 00:33:15,000 --> 00:33:17,000 sest ma just alustanud uue mängu ja ma ei taha 624 00:33:17,000 --> 00:33:20,000 Xs või OS jääb üle ma suudan seda. 625 00:33:20,000 --> 00:33:24,000 Võin öelda tahan vaatamise tag, 1, 2, 3, 4 jne. 626 00:33:24,000 --> 00:33:27,000 See tõmbab erinevad nuppu iga kord. 627 00:33:27,000 --> 00:33:30,000 Siin ma lähen koo see UIButton. 628 00:33:30,000 --> 00:33:33,000 Just nagu me oleks seadnud ints kuni ujukite ja vastupidi 629 00:33:33,000 --> 00:33:37,000 see ütleb, et ma tahan heita seda, et UIButton. 630 00:33:37,000 --> 00:33:40,000 See tähendab tüüpi see on UIButton * 631 00:33:40,000 --> 00:33:43,000 sest suunanäitajaks, kuid ärge muretsege, nad ei ole jube enam. 632 00:33:43,000 --> 00:33:47,000 >> Kui mul seda nuppu ma lähen helistada meetod peal. 633 00:33:47,000 --> 00:33:50,000 Seda meetodit nimetatakse setTitle forState, ja nii see ütleb 634 00:33:50,000 --> 00:33:53,000 Ma tahan, et seada teksti nupp olla tühi string, 635 00:33:53,000 --> 00:33:57,000 ja ma tahan, et see oleks tühi string, kui see ei ole vajutatud. 636 00:33:57,000 --> 00:34:01,000 Kui ma kasutan seda meetodit, võin muuta teksti nuppu 637 00:34:01,000 --> 00:34:04,000 niipea kui keegi lööb, aga me tahame öelda, kui nupp on lihtsalt istub seal 638 00:34:04,000 --> 00:34:07,000 Ma tahan tekst olema tühi. 639 00:34:07,000 --> 00:34:10,000 Lõpuks, me initsialiseerida mu laud, 640 00:34:10,000 --> 00:34:12,000 ja ma lähen ütlen, et kõik on praegu 0, 641 00:34:12,000 --> 00:34:15,000 nii see juhatuse liikmed püsiv on Muutuv massiiv, 642 00:34:15,000 --> 00:34:21,000 mis tähendab, ma saan helistada addObject meetod ja lihtsalt 0 sees on. 643 00:34:21,000 --> 00:34:23,000 Nii juhtub, kui ma uue mängu. 644 00:34:23,000 --> 00:34:25,000 >> Võtame pilk teisele. 645 00:34:25,000 --> 00:34:28,000 See meetod on siin IBAction et läheb vaja vajutada 646 00:34:28,000 --> 00:34:31,000 iga kord üks neist ruutudest vajutamist. 647 00:34:31,000 --> 00:34:33,000 Nüüd on meil mõned Tic Tac Toe loogika siin. 648 00:34:33,000 --> 00:34:36,000 Me nuputada, kelle kord on, 649 00:34:36,000 --> 00:34:39,000 ja selle põhjal me kas seatud X või O, 650 00:34:39,000 --> 00:34:43,000 aga märkame, et me taaskasutades sama sündmus 651 00:34:43,000 --> 00:34:45,000 Iga üksiku ühe nupu. 652 00:34:45,000 --> 00:34:49,000 See tähendab, et mul ei ole meetod top vasakut nuppu, 653 00:34:49,000 --> 00:34:52,000 erinev meetod all paremal nuppu, kuigi ma seda teinud. 654 00:34:52,000 --> 00:34:54,000 See poleks tõesti hea disain. 655 00:34:54,000 --> 00:34:57,000 Mida ma siin teen on ma tegelikult läheb kindlaks 656 00:34:57,000 --> 00:35:00,000 mida tag nuppu, mis oli surutud on. 657 00:35:00,000 --> 00:35:04,000 Te märkate, et see näidend meetod võtab üks argument. 658 00:35:04,000 --> 00:35:07,000 Seda nimetatakse saatja ja mida saatja on saatja läheb 659 00:35:07,000 --> 00:35:10,000 kujutavad täpselt seda, mida oli võtnud meetmeid pärast. 660 00:35:10,000 --> 00:35:15,000 Kui ma vajutan nuppu, see saatja saab olema, et UIButton 661 00:35:15,000 --> 00:35:18,000 et ma tegelikult pressitud, nii et tähendab, et UIButton 662 00:35:18,000 --> 00:35:20,000 on silt, sest olen loonud sildi. 663 00:35:20,000 --> 00:35:23,000 >> Kui ma tahan saada on silt võin lihtsalt öelda 664 00:35:23,000 --> 00:35:26,000 Ma tahan tag saatja, 665 00:35:26,000 --> 00:35:28,000 ja uuesti, ma olen lihtsalt valatud see UIButton. 666 00:35:28,000 --> 00:35:32,000 Ma tean küll, et saatja on UIButton. 667 00:35:32,000 --> 00:35:34,000 See ei pea alati olema UIButton. 668 00:35:34,000 --> 00:35:36,000 Võiksin näiteks registreerid sama sündmus 669 00:35:36,000 --> 00:35:38,000  jaoks üks nupp, üks liugur. 670 00:35:38,000 --> 00:35:40,000 Sel juhul ma tean, et nad kõik nupud, nii et ma lähen öelda 671 00:35:40,000 --> 00:35:43,000 Ma tahan seda olla nupp, ja siis ma saan tag, 672 00:35:43,000 --> 00:35:48,000 ja tag Nüüd ma tean, kus ma olen sees pardal. 673 00:35:48,000 --> 00:35:51,000 Siis ma saan lihtsalt määrata, kas X või O, võib flip omakorda 674 00:35:51,000 --> 00:35:54,000 kontrollida, kes on võitnud, jne. 675 00:35:54,000 --> 00:35:59,000 >> Kõik küsimused selle nii kaugele? 676 00:35:59,000 --> 00:36:02,000 Okei, kõik koodi me Internetti-me ei taha sattuda liiga palju 677 00:36:02,000 --> 00:36:06,000 Euroopa Tic Tac Toe loogika, kuid nüüd te näete, et tegelikult 678 00:36:06,000 --> 00:36:09,000 kõik me teeme, on me silmuspõletamise üle selle massiivi 679 00:36:09,000 --> 00:36:13,000 nii et meil on paar kohta silmuseid siin, ja me lihtsalt võrrelda, et näha, 680 00:36:13,000 --> 00:36:18,000 Kas meil on mängu kõik read, mängu veerg või midagi sellist. 681 00:36:18,000 --> 00:36:21,000 Et tegelikult teha selle app, kui ma kraani ühel neist nuppudest 682 00:36:21,000 --> 00:36:24,000 et mängida meetod vallandati, nii et tähendab, ma lihtsalt seada 683 00:36:24,000 --> 00:36:31,000 nuppu, et olla X, nii et nüüd see nupp on O, ja nii edasi, 684 00:36:31,000 --> 00:36:35,000 ja nii see on, kuidas me alustame suhelda see ühel leheküljel app. 685 00:36:35,000 --> 00:36:38,000 >> Saadame koodi, nii julgelt tutvuma, et 686 00:36:38,000 --> 00:36:43,000 kuid olgem nüüd rääkida mõned apps, mis on rohkem kui lihtsalt üks lehekülg. 687 00:36:43,000 --> 00:36:47,000 Sama põnev kui Tic Tac Toe oli palju apps sees iOS 688 00:36:47,000 --> 00:36:50,000 on omamoodi nende puuri alla asju mitme ekraane. 689 00:36:50,000 --> 00:36:54,000 Esimene idee, et me peame rääkima ka protokolle, 690 00:36:54,000 --> 00:36:57,000 ja protokoll on lihtsalt kogum meetodeid 691 00:36:57,000 --> 00:36:59,000 et sa ei saa lubada määratleda. 692 00:36:59,000 --> 00:37:02,000 Kui ma luua selle uue protokolli 2 meetodit, see esimene, 693 00:37:02,000 --> 00:37:05,000 kui tagasivoolu tüüp on tühine, ma kutsusin seda suva. 694 00:37:05,000 --> 00:37:07,000 See ei võta argumente. Mul on teine ​​meetod. 695 00:37:07,000 --> 00:37:11,000 Ta naaseb int. Ma helistasin talle baar, ja see võtab ühe argumendina. 696 00:37:11,000 --> 00:37:14,000 Kõik see protokoll on see, et kutsutakse SomeProtocol siin, 697 00:37:14,000 --> 00:37:19,000 see on kogum asju, mida keegi saab rakendada. 698 00:37:19,000 --> 00:37:22,000 Ma ei ole sees käesoleva protokolli ütles mida foo teeb. 699 00:37:22,000 --> 00:37:26,000 Selle asemel, ma lihtsalt ütlen mida võiks määratleda suva, kui soovite. 700 00:37:26,000 --> 00:37:30,000 Kui ma loon, et vastutav töötleja või luua klass 701 00:37:30,000 --> 00:37:33,000 Võin sees selle klassi lubadus rakendada 702 00:37:33,000 --> 00:37:40,000 mõned neist meetoditest, nii et näiteks kui öelda 703 00:37:40,000 --> 00:37:43,000 see nüüd ütleb, et ma olen tegemise lubadus teile, et sees 704 00:37:43,000 --> 00:37:50,000 Selle seisukoha töötleja klassi mul määratlused nii suva ja baar. 705 00:37:50,000 --> 00:37:52,000 >> Miks on see kasulik? 706 00:37:52,000 --> 00:37:55,000 Palju komponente sees iOS seda ära 707 00:37:55,000 --> 00:37:58,000 disain muster kutsus delegatsioon, ja mida delegatsioon ütleb 708 00:37:58,000 --> 00:38:01,000 on see, et näiteks kui mul on tekstikasti 709 00:38:01,000 --> 00:38:04,000 ja seal on mõned sündmused, mis saab registreerida sees minu tekstiväljale 710 00:38:04,000 --> 00:38:07,000 selle asemel et luua eraldi üritusi, mida ma teha saan, on võin öelda 711 00:38:07,000 --> 00:38:10,000 delegaat seda tekstivälja on mingi objekti. 712 00:38:10,000 --> 00:38:13,000 Kui ma ütlen, et see on delegaadi nüüd, mis tähendab, et 713 00:38:13,000 --> 00:38:16,000 kui mõne sündmuse oleks vallandatud tekstikasti 714 00:38:16,000 --> 00:38:18,000 selle asemel, et registreerida see või midagi sellist 715 00:38:18,000 --> 00:38:21,000 see lihtsalt läheb helistada meetod delegaat. 716 00:38:21,000 --> 00:38:24,000 Näiteks sees minu tekstiväljale Mul on meetod, kui ma vajutage 717 00:38:24,000 --> 00:38:27,000 et teha nupp all paremal, 718 00:38:27,000 --> 00:38:30,000 ja nii mitte registreerida sündmus, mida ma saan öelda on 719 00:38:30,000 --> 00:38:34,000 tekstikasti, siin on objekt, mida ma tahan helistada meetod 720 00:38:34,000 --> 00:38:37,000 iga kord, kui keegi vajutab nupule Done, 721 00:38:37,000 --> 00:38:40,000 ja see tähendab, et objekt on rakendada mõningaid protokoll 722 00:38:40,000 --> 00:38:45,000 mis ütleb, et ma luban, et määratleda, et teha nupp hagi, 723 00:38:45,000 --> 00:38:47,000 sest kui see ei määratle seda meetodit ja teil vajutage Done 724 00:38:47,000 --> 00:38:49,000 siis see saab olla segadusttekitav. 725 00:38:49,000 --> 00:38:55,000 >> Võtame pilk näiteks. 726 00:38:55,000 --> 00:38:58,000 Siin ma lihtsalt üks tekstiväli, 727 00:38:58,000 --> 00:39:04,000 ja üks omadusi tekstiväljale siia selle paremal pool on delegaat. 728 00:39:04,000 --> 00:39:06,000 See on vara klassi. 729 00:39:06,000 --> 00:39:09,000 Mida ma tegin siin on minu kontrolli all klõpsatud, ja ma tirisid selle koha üle siin 730 00:39:09,000 --> 00:39:13,000 seisukohale kontroller, ja mis ütleb nüüd delegaat seda tekstivälja 731 00:39:13,000 --> 00:39:18,000 saab olema seisukohal, kontroller. 732 00:39:18,000 --> 00:39:20,000 See tähendab, et kui mõned tegevused juhtuda, mitte registreerida 733 00:39:20,000 --> 00:39:25,000 eraldi sündmuseohjurite Ma tahan, et sa saata neid delegaat. 734 00:39:25,000 --> 00:39:28,000 Nüüd võtame pilk minu arvates kontroller. 735 00:39:28,000 --> 00:39:32,000 Toas on. H fail Olen lubaduse. 736 00:39:32,000 --> 00:39:36,000 Olen lubanud rakendada mõningaid meetodeid sees käesoleva protokolli 737 00:39:36,000 --> 00:39:38,000 nimetatakse UITextFieldDelegate ja jälle, 738 00:39:38,000 --> 00:39:42,000 see on lihtsalt mingi nimekiri mõned asjad, et ma ei soovi korral rakendada. 739 00:39:42,000 --> 00:39:46,000 >> Kui ma tulen siia minu. M faili, mul on rakendatud üks selline meetod. 740 00:39:46,000 --> 00:39:49,000 Ma helistasin ta textFieldShouldReturn 741 00:39:49,000 --> 00:39:52,000 sest see on, mida ta kutsuti sees protokolli. 742 00:39:52,000 --> 00:39:57,000 Ja nüüd kui ma vajutan nupule Done sees, et tekstiväli 743 00:39:57,000 --> 00:40:00,000 need ongi hakka kutsutud, nii et ma ei registreerinud sündmus. 744 00:40:00,000 --> 00:40:03,000 Ma ühendatud delegaat, ja kui see üritus on vallandati 745 00:40:03,000 --> 00:40:08,000 See on meetod, mis saab nimetada, nii et kui ma tulen siia oma storyboard ja käivitage see- 746 00:40:08,000 --> 00:40:11,000 Kuigi see on laadimise saame näha, mida see teeb. 747 00:40:11,000 --> 00:40:13,000 Minu ekraanil Mul on 2 asja. 748 00:40:13,000 --> 00:40:16,000 Mul on see tekstiväljale ja mul on see silt. 749 00:40:16,000 --> 00:40:19,000 Ma lihtsalt ütlen ma tahan teksti see silt 750 00:40:19,000 --> 00:40:23,000 võrdne olenemata kasutaja sisestatud sees tekstivälja. 751 00:40:23,000 --> 00:40:26,000 See järgmisele reale siin on lihtsalt meetod, et ma helistan 752 00:40:26,000 --> 00:40:29,000 teksti väli, mis ütleb, et ma tahan, et sa peida klaviatuuri. 753 00:40:29,000 --> 00:40:33,000 See on lihtsalt suvaline meetod, et Apple valis. 754 00:40:33,000 --> 00:40:38,000 >> Jällegi, enne tegin midagi oli mul juhe kõigest üles, nii et ma esimest korda siia tulin. 755 00:40:38,000 --> 00:40:42,000 Alates arvates kontroller ma lohistage üle tekstikasti. 756 00:40:42,000 --> 00:40:46,000 Lasen minna, ja ma näen siin, et ma saan teha seda tekstiväljale kinnisvara 757 00:40:46,000 --> 00:40:49,000 kuna siin on seisukohal, kontroller Olen määratletud kinnisvara 758 00:40:49,000 --> 00:40:52,000 mis on IBOutlet tekstivälja. 759 00:40:52,000 --> 00:40:55,000 See ütleb, et võin traat see kinnisvara üles 760 00:40:55,000 --> 00:40:59,000 kuni tekstiväli minu UI. 761 00:40:59,000 --> 00:41:03,000 Nüüd kui ma vajutan seda ma ei hakka kirjutama. 762 00:41:03,000 --> 00:41:06,000 Nüüd, kui ma vajutan nupule Done see saab tulekahju 763 00:41:06,000 --> 00:41:08,000 Kui ma nüüd vastata. 764 00:41:08,000 --> 00:41:10,000 Ei ole sündmusi käitlejad. 765 00:41:10,000 --> 00:41:13,000 See, kuidas ma lihtsalt vastanud, et teha nuppu. 766 00:41:13,000 --> 00:41:15,000 Mõtet? 767 00:41:15,000 --> 00:41:20,000 >> See ei ole disain muster, mis-sa ei pruugi kunagi leida iseennast 768 00:41:20,000 --> 00:41:23,000 luua oma protokolli, kuid lihtsalt tean, et mõned 769 00:41:23,000 --> 00:41:27,000 erinevate iOS komponendid registreeru sündmusi erinevalt. 770 00:41:27,000 --> 00:41:29,000 Nööbid, näiteks kasutada neid IBActions. 771 00:41:29,000 --> 00:41:32,000 Tekstiväljad, teiselt poolt, ei kavatse kasutada delegaati. 772 00:41:32,000 --> 00:41:36,000 Me näeme ja saad vaadata kõiki selle sees üles dokumentatsiooni. 773 00:41:36,000 --> 00:41:41,000 Muide, seal on tegelikult ton UI kraami ehitatud iOS teile, 774 00:41:41,000 --> 00:41:46,000 Nii näiteks, kuidas ma, et öelda teha allosas paremal 775 00:41:46,000 --> 00:41:48,000 on mul valitud teksti alal. 776 00:41:48,000 --> 00:41:50,000 Ma tulin siia. 777 00:41:50,000 --> 00:41:53,000 Ma kerida alla natuke tagasi võti, 778 00:41:53,000 --> 00:41:56,000 ja ma ei saa tegelikult teha seda terve hunnik asju, nagu siis, kui ma tahan, et öelda 779 00:41:56,000 --> 00:42:00,000 hädaabinumbril asemel ma teha saan, et mis on täiesti juhuslik, 780 00:42:00,000 --> 00:42:02,000 ja ma ei tea, miks seal on sisseehitatud hädaabikõne nuppu, 781 00:42:02,000 --> 00:42:06,000 kuid seal, ta ütleb et helistada hädaabinumbrile tõesti väikeste tähtedega. 782 00:42:06,000 --> 00:42:08,000 Seal sa lähed. 783 00:42:08,000 --> 00:42:12,000 >> Kindlasti uurida kõiki neid erinevaid võimalusi iOS. 784 00:42:12,000 --> 00:42:14,000 Iga küsimustele delegaadid? 785 00:42:14,000 --> 00:42:18,000 Jällegi, lihtsalt huvitav disain muster, et te peaksite olema teadlikud. 786 00:42:18,000 --> 00:42:22,000 Okei, järgmisel heita pilk tabelisse seisukohti. 787 00:42:22,000 --> 00:42:26,000 Lauas on põhimõtteliselt, et loendit, mis on üle kogu koht iOS. 788 00:42:26,000 --> 00:42:29,000 Kui olete flipping kaudu kõik oma kontaktid, te vaatate 789 00:42:29,000 --> 00:42:34,000 milles leht, ja et selline nimekiri asjadest, nimetatakse tabelit vaadata. 790 00:42:34,000 --> 00:42:37,000 Rakendamine Tabeli iOS on üsna lihtne. 791 00:42:37,000 --> 00:42:41,000 Selle asemel, et klass, mis põlvneb et UIViewController 792 00:42:41,000 --> 00:42:44,000 nagu me oleme teinud enne, kui me lihtsalt vaja öelda, selle asemel 793 00:42:44,000 --> 00:42:46,000 kõik UIViewController ei ma tahan teha, 794 00:42:46,000 --> 00:42:50,000 Ma ütlen kõike UITableViewController ei ma tahan teha, 795 00:42:50,000 --> 00:42:54,000 nii et lihtsalt lisab mõningaid täiendavaid asju, mis on täiesti meie jaoks teinud. 796 00:42:54,000 --> 00:42:58,000 Me peame tegema väga vähe põhimõtteliselt täita lüngad sees tabelis. 797 00:42:58,000 --> 00:43:02,000 >> Selleks, et kuvada tabel mul on vaja vastata mõnele küsimusele. 798 00:43:02,000 --> 00:43:06,000 Esimene küsimus, mis mul vaja vastata, kui palju lõigud on tabelis? 799 00:43:06,000 --> 00:43:08,000 Kui olete flipping kaudu oma kontaktid rakenduse märkad, et see on selline 800 00:43:08,000 --> 00:43:12,000 korraldatud Nagu, siis on BS, ja sul on see väike sub päises. 801 00:43:12,000 --> 00:43:14,000 Kõik need on nn lõik. 802 00:43:14,000 --> 00:43:16,000 Sul võib olla või ei vaja neid. 803 00:43:16,000 --> 00:43:19,000 Esimene asi, mida pead tegema, on rakendada meetodit 804 00:43:19,000 --> 00:43:22,000 nimetatakse Tableview: numberOfSectionsInTableView. 805 00:43:22,000 --> 00:43:25,000 See lihtsalt tagastab mitu lõigud teil on, 806 00:43:25,000 --> 00:43:29,000 nii et see võiks öelda tagastab ühe kui teil on üks suur tabel vaade. 807 00:43:29,000 --> 00:43:33,000 Järgmine küsimus, mis iOS peab teadma, mitu rida sul on? 808 00:43:33,000 --> 00:43:36,000 Näiteks, sa flipping kaudu tabelivaates. 809 00:43:36,000 --> 00:43:39,000 Sul on kindel arv laulud vaatate või fikseeritud kontaktide arv. 810 00:43:39,000 --> 00:43:41,000 Kui sa oled mulle muidugi ei ole, et paljud, 811 00:43:41,000 --> 00:43:44,000 ja nii see on, kuidas iOS teab, kui palju rakke kuvada. 812 00:43:44,000 --> 00:43:46,000 >> Jällegi, see võiks öelda midagi sellist tagasipöördumist 3. 813 00:43:46,000 --> 00:43:49,000 Minu Lauas on 3 rida. 814 00:43:49,000 --> 00:43:52,000 Lõpuks iOS peab teadma, mida iga rakk välja näeb, 815 00:43:52,000 --> 00:43:54,000 nii et mida see tegelikult kavatsete teha, on kutsuda seda meetodit siin all, 816 00:43:54,000 --> 00:43:57,000 Selle Tableview: cellForRowAtIndexPath. 817 00:43:57,000 --> 00:44:01,000 See saab nimetame seda meetodit iga üksiku raku sees oma laua. 818 00:44:01,000 --> 00:44:03,000 Kuidas see tea, mitu korda seda kutsuda? 819 00:44:03,000 --> 00:44:06,000 Noh, sa ütlesid seda sees ridade arvu jagu. 820 00:44:06,000 --> 00:44:08,000 Me läheme nimetame seda igale meie rakke, 821 00:44:08,000 --> 00:44:11,000 ja sees on see, kus saab tegelikult teha asju nagu 822 00:44:11,000 --> 00:44:16,000 määrata teksti või öelda, mida see väike sinine nupp paremal pool teeb. 823 00:44:16,000 --> 00:44:19,000 Mustri saada need rakud, me ei kavatse kasutada seda meetodit 824 00:44:19,000 --> 00:44:22,000 nimetatakse dequeueReusableCellWithIdentifier. 825 00:44:22,000 --> 00:44:29,000 >> Objective-C on tegelikult väga tuntud naeruväärne pikkusele meetod nimed, 826 00:44:29,000 --> 00:44:32,000 ja see on tõesti kena näide näide. 827 00:44:32,000 --> 00:44:37,000 Mis see meetod on see lihtsalt ütleb, et ma tahan, et sa annad mulle raku. 828 00:44:37,000 --> 00:44:39,000 Lihtsalt iOS asi. 829 00:44:39,000 --> 00:44:41,000 Kui teil on midagi 100000 laule iPodi 830 00:44:41,000 --> 00:44:45,000 Mis iOS ei taha teha, on eraldada 100000 rakku, 831 00:44:45,000 --> 00:44:48,000 sest kui sa oled tipus oma nimekirja, sa tõesti vaja eraldada mälu 832 00:44:48,000 --> 00:44:51,000 jaoks lahter, mis on 99000 rida alla? 833 00:44:51,000 --> 00:44:55,000 Ei, sest kui sa kerides saad mingi eraldada lähete mööda. 834 00:44:55,000 --> 00:44:57,000 Seda tehakse teile. 835 00:44:57,000 --> 00:44:59,000 Sa ei pea muretsema kõik see loll tulemuslikkuse kraami. 836 00:44:59,000 --> 00:45:02,000 Kõik, mida öelda, on te nimetate seda meetodit dequeueReusableCellWithIdentifier, 837 00:45:02,000 --> 00:45:06,000 ja see ütleb, okei, kui teil on vaja Ma lähen luua uue raku teile. 838 00:45:06,000 --> 00:45:09,000 >> Aga kui sa oled allosas laud ja olete juba eraldatud mõned rakud 839 00:45:09,000 --> 00:45:12,000 ülaosas tabel, et sa tõesti ei kavatse vaja igal ajal kiiresti 840 00:45:12,000 --> 00:45:15,000 Ma annan teile üks neist tagasi asemel eraldades uus, 841 00:45:15,000 --> 00:45:17,000 ja nii on see kena tulemuslikkuse probleem. 842 00:45:17,000 --> 00:45:21,000 Sa ei pea eraldama rakud ise. 843 00:45:21,000 --> 00:45:23,000 See läheb teile tagasi raku. 844 00:45:23,000 --> 00:45:25,000 See läheb tagasi teie raku objekti. 845 00:45:25,000 --> 00:45:28,000 Kui olete lahtri objekti, mida saate teha asju ta. 846 00:45:28,000 --> 00:45:32,000 Saate määrata tekst lahtri selle vara kutsus tekstipealdise. 847 00:45:32,000 --> 00:45:36,000 Võite lisada, et nool paremale või mõni muu juhuslik kraam 848 00:45:36,000 --> 00:45:41,000 Selle muu vara kutsus accessoryType, ja nii edasi ja nii edasi. 849 00:45:41,000 --> 00:45:46,000 >> Võtame pilk tegelikult rakendatakse tabeli arvates nüüd. 850 00:45:46,000 --> 00:45:49,000 Kui ma loodud selle projekti 851 00:45:49,000 --> 00:45:53,000 mitte öelda ühe eesmärgiga taotluse Ma tegelikult tuli siia 852 00:45:53,000 --> 00:45:57,000 master-detail taotluse, ja nii et põhimõtteliselt vastab see post app 853 00:45:57,000 --> 00:46:01,000 iPad koos Lauas olles vasakul ja siis sisu paremal. 854 00:46:01,000 --> 00:46:07,000 IPod või iPhone, et see saab vastama üks tabel vaade. 855 00:46:07,000 --> 00:46:10,000 See, kus ma sain oma starter kood. 856 00:46:10,000 --> 00:46:13,000 >> Vaatame kõigepealt heita pilk storyboard. 857 00:46:13,000 --> 00:46:15,000 Kõik see oli minu heaks teinud, põhiliselt loodud. 858 00:46:15,000 --> 00:46:18,000 See navigeerimisribal näitas mulle, mida näiteks raku võiks välja näha, 859 00:46:18,000 --> 00:46:22,000 ja ma ei topeltklõps see, muudavad nime. 860 00:46:22,000 --> 00:46:25,000 Igasugune muu UI muresid saan hakkama seal. 861 00:46:25,000 --> 00:46:27,000 Päisefail tundub tõesti lihtne. 862 00:46:27,000 --> 00:46:30,000 Selle asemel, et öelda, see on UIViewController me nüüd öelda, et see on 863 00:46:30,000 --> 00:46:35,000 TableViewController, nii et me teame, mida me tahame helistada kõik need tabeli meetodeid. 864 00:46:35,000 --> 00:46:38,000 Järgmine Ma tahan luua vara, mis läheb esindama 865 00:46:38,000 --> 00:46:40,000 asjad sees minu lauale. 866 00:46:40,000 --> 00:46:43,000 See tabel saab meelevaldselt kuvada 867 00:46:43,000 --> 00:46:46,000 nimekirja puuvilju ja nii mul on vaja luua mõned massiivi 868 00:46:46,000 --> 00:46:49,000 kus ma saan sisestada puu. 869 00:46:49,000 --> 00:46:52,000 Toas minu rakendamise faili esimene asi, mida ma tahan teha 870 00:46:52,000 --> 00:46:55,000 on ma tahan veenduda, ma initsialiseerida see massiiv. 871 00:46:55,000 --> 00:46:58,000 >> Ma ütlesin alloc init, loonud oma puu massiiv, 872 00:46:58,000 --> 00:47:03,000 ja ma olen lisades 4 asju see, millest üks on palju vastuolulisem kui teiste 3. 873 00:47:03,000 --> 00:47:06,000 Ja nüüd on mul massiivi suurus 4. 874 00:47:06,000 --> 00:47:08,000 Me loksutades üles CS50. 875 00:47:08,000 --> 00:47:11,000 Mul on nüüd massiiv suurus 4. 876 00:47:11,000 --> 00:47:13,000 Nüüd ma lähen alustada Neile küsimustele vastamiseks ja tegelikult, 877 00:47:13,000 --> 00:47:16,000 kui ma lõi selle app see kõik oli seda juba teinud minu jaoks. 878 00:47:16,000 --> 00:47:19,000 Ma ei pea sisestama välja osakondade arv tabelis arvates. 879 00:47:19,000 --> 00:47:22,000 See oli juba seal, ja ma olen täites lüngad. 880 00:47:22,000 --> 00:47:24,000 Mitu lõigud mul on? 881 00:47:24,000 --> 00:47:26,000 Üks. Kõik tehtud. 882 00:47:26,000 --> 00:47:28,000 Kui palju ridu mul on? 883 00:47:28,000 --> 00:47:31,000 Noh, mul on üks rida iga puu, nii et see arv 884 00:47:31,000 --> 00:47:34,000 on igasugune vara massiiv, mis ütleb, kui suur see on? 885 00:47:34,000 --> 00:47:36,000 See on mitu rida mul on. 886 00:47:36,000 --> 00:47:42,000 Lõpetuseks tuleb öelda, mida see iga rakk välja näeb? 887 00:47:42,000 --> 00:47:46,000 Ma lähen ütlen dequeueReusableCellWithIdentifier. 888 00:47:46,000 --> 00:47:48,000 >> Jällegi, see on juba kirjutatud, minu jaoks. 889 00:47:48,000 --> 00:47:51,000 Ma ei pea seda tegema ise, ja ma tahan saada tagasi 890 00:47:51,000 --> 00:47:54,000 See lahter on seotud selle asukoha. 891 00:47:54,000 --> 00:47:57,000 Pea meeles, et me nõuame seda sama meetodiga, iga rakk, 892 00:47:57,000 --> 00:48:01,000 ja see argument siin, see indexPath argument, 893 00:48:01,000 --> 00:48:03,000 ütleb, mida järjest olen sees 894 00:48:03,000 --> 00:48:05,000 Kui ma ütlen indexPath.row siia 895 00:48:05,000 --> 00:48:09,000 see on 0, siis on 1, siis on see 2 ja see on nii et ma tean 896 00:48:09,000 --> 00:48:11,000 mida raku Ma olen praegu väljapanek. 897 00:48:11,000 --> 00:48:15,000 Ma tahan et tekst rakkude kasutades seda Tekstipealdis kinnisvara 898 00:48:15,000 --> 00:48:19,000 minna sees minu puu massiivi ja saada 899 00:48:19,000 --> 00:48:21,000 objekti, mis vastab iga rida. 900 00:48:21,000 --> 00:48:24,000 Kui see on string, ma nüüd milles 901 00:48:24,000 --> 00:48:28,000 Teksti vara näol. 902 00:48:28,000 --> 00:48:30,000 Ma võin teha veel üks asi. 903 00:48:30,000 --> 00:48:32,000 Võin ka registreerida sündmus iga rakku, 904 00:48:32,000 --> 00:48:35,000 nii et kui ma puudutada iga nende rakkude 905 00:48:35,000 --> 00:48:39,000 Selle didSelectRowAtIndexPath, see läheb kutsus mind, 906 00:48:39,000 --> 00:48:42,000 nii lihtsalt määratledes selle saan nüüd hakkama mis juhtub 907 00:48:42,000 --> 00:48:46,000 kui sa puudutage raku, ja jälle me möödaminnes, kus rakk oli ära 908 00:48:46,000 --> 00:48:50,000 nii et me saame uuesti sama sündmus kõigile meie rakud. 909 00:48:50,000 --> 00:48:53,000 >> Jällegi, see on midagi iOS teeb minu jaoks. 910 00:48:53,000 --> 00:48:55,000 Olgem näidata teisele tüütu popup 911 00:48:55,000 --> 00:48:59,000 et lihtsalt ütleb, et sa hakkasid midagi, kui et midagi 912 00:48:59,000 --> 00:49:04,000 saab olema rida objekti. 913 00:49:04,000 --> 00:49:10,000 Kui ma kasutan seda, ma lähen on see tore tabel vaade 914 00:49:10,000 --> 00:49:14,000 üks rida iga puu, ja kui ma puuduta ühte 915 00:49:14,000 --> 00:49:16,000 ta ütleb mulle, mis juhtus. 916 00:49:16,000 --> 00:49:21,000 Mõtet? 917 00:49:21,000 --> 00:49:24,000 Rajame natuke keerulisem on app, 918 00:49:24,000 --> 00:49:28,000 nii palju kui klõpsate valisid tomat on. 919 00:49:28,000 --> 00:49:31,000 Kena asi storyboarding 920 00:49:31,000 --> 00:49:35,000 on see mitte ainult aita meid disain ekraanid eraldi, 921 00:49:35,000 --> 00:49:38,000 see on ka aita meid lips koos kogu meie app, 922 00:49:38,000 --> 00:49:42,000 nii lõplik app saadame hoone on see kena spordiuudiste lugeja, 923 00:49:42,000 --> 00:49:45,000 ja nii see läheb mitu ekraanid, ja et ma saaks tegelikult esindavad 924 00:49:45,000 --> 00:49:48,000 kõik need mitu ekraanid süžeeskeemil 925 00:49:48,000 --> 00:49:52,000 ja võin suumida ja vaata minu app kõrgel tasemel. 926 00:49:52,000 --> 00:49:55,000 >> Selleks, et luua uus element sees minu storyboard 927 00:49:55,000 --> 00:49:59,000 see on tõesti lihtne sees Interface Builder. 928 00:49:59,000 --> 00:50:01,000 Kui ma tahan lisada veel ekraanil see näiteks 929 00:50:01,000 --> 00:50:06,000 Ma esimest suumimiseks koos näputäis zoom, et Apple armastab nii palju, 930 00:50:06,000 --> 00:50:09,000 ja siia alla, enne kui ma otsida nuppu 931 00:50:09,000 --> 00:50:12,000 ja ma lohistada nuppu 932 00:50:12,000 --> 00:50:15,000 kui ma tahan luua uue ekraani ma ei saa tegelikult lihtsalt lohistada 933 00:50:15,000 --> 00:50:19,000 kogu vaade kontroller, nii et kui ma valin selle, tõmba see siin, 934 00:50:19,000 --> 00:50:23,000 Hei, seal on teine ​​ekraan ja nüüd kasutavad seda sama storyboard fail 935 00:50:23,000 --> 00:50:26,000 Võin olla kõik ekraanid sees minu app, ja ma ei suumimiseks 936 00:50:26,000 --> 00:50:28,000 ja näha, kuidas nad suhelda. 937 00:50:28,000 --> 00:50:32,000 Need ei suhelda veel. 938 00:50:32,000 --> 00:50:36,000 Kuidas need 2 ekraanilt suhelda on teil määratleda suhteid. 939 00:50:36,000 --> 00:50:39,000 Võite põhimõtteliselt öelda seda ekraani, kui vajutad seda nuppu, 940 00:50:39,000 --> 00:50:42,000 Ma tahan, et sa libisema üle selle uue ekraani. 941 00:50:42,000 --> 00:50:44,000 See tähendab, et seal on selline seos 942 00:50:44,000 --> 00:50:46,000  Esimene ekraan ja teine ​​ekraan. 943 00:50:46,000 --> 00:50:49,000 Sul on põhimõtteliselt nool sellest nuppu teine ​​ekraan 944 00:50:49,000 --> 00:50:53,000 öeldes, et kui vajutate seda nuppu, see on kui ma tahan minna. 945 00:50:53,000 --> 00:50:57,000 Just nagu me kontrolli klõpsatud ja tirisid määratleda neid müügikohti 946 00:50:57,000 --> 00:51:01,000 me teeme sama asja määratleda need segues. 947 00:51:01,000 --> 00:51:05,000 >> Me näeme näiteks, et, ja enne kui me tegelikult üleminek 948 00:51:05,000 --> 00:51:08,000 ühest ekraani teise iOS on kena piisavalt nimetame seda meetodit 949 00:51:08,000 --> 00:51:11,000 nimetatakse prepareForSegue, ja see on koht, kus saame alustada 950 00:51:11,000 --> 00:51:14,000 Andmete saatmisel ühest app teise. 951 00:51:14,000 --> 00:51:17,000 Näites me parasjagu vaatate siis põhimõtteliselt võimaldab meil 952 00:51:17,000 --> 00:51:20,000 filtreerida pesapalli meeskonnad poolt liigad ja vaheseinad. 953 00:51:20,000 --> 00:51:23,000 Kui ma valida liiga, näiteks, ma tahan üleminek 954 00:51:23,000 --> 00:51:25,000 minu kõrval ekraani, kus ma saan kuvada kõik vaheseinad 955 00:51:25,000 --> 00:51:27,000 selles liigas või kõik erinevad meeskonnad. 956 00:51:27,000 --> 00:51:31,000 Ma pean saatma, et ekraani mis meeskonnad siis peaks kuvama. 957 00:51:31,000 --> 00:51:35,000 Selleks, et ma lähen ära selle meetodi siit. 958 00:51:35,000 --> 00:51:39,000 >> Lõpuks lihtsalt juhuslik punkt iOS. 959 00:51:39,000 --> 00:51:41,000 Kui soovite salvestada andmeid seal on see asi, mida nimetatakse põhiandmed, 960 00:51:41,000 --> 00:51:44,000 mis on tegelikult omamoodi keeruline töötada. 961 00:51:44,000 --> 00:51:47,000 Võite kasutada SQL andmete salvestamiseks, 962 00:51:47,000 --> 00:51:51,000 mis jällegi on kena, kuid sellist kohta keerulisem pool tööd, 963 00:51:51,000 --> 00:51:55,000 kuid iOS toetab ka neid lahedaid asju nimetatakse kinnisvara nimekirjad, 964 00:51:55,000 --> 00:52:00,000 ja vara nimekiri on lihtsalt fail, mis esindab põhiväärtus paari. 965 00:52:00,000 --> 00:52:03,000 Saate määrata Võtmete loendi ja ütled, et see võti saab olema massiiv. 966 00:52:03,000 --> 00:52:06,000 See võti saab olema string, ja põhimõtteliselt midagi, mida saate teha 967 00:52:06,000 --> 00:52:10,000 JSON saate teha sees vara nimekirja, 968 00:52:10,000 --> 00:52:14,000 ja nii see tõesti kenasti annab meile võimaluse töötada koos mõned andmed. 969 00:52:14,000 --> 00:52:18,000 Näiteks, mul on see Teams.plist, et olen loonud. 970 00:52:18,000 --> 00:52:22,000 Olen loonud uue plist fail ja ma ei süvitsi. 971 00:52:22,000 --> 00:52:26,000 See on sõnaraamat, see on sõnastik, need on stringid, 972 00:52:26,000 --> 00:52:30,000 ja nii see on kena graafiline esitus JSON dokument 973 00:52:30,000 --> 00:52:33,000 või lihtsalt kogum põhiväärtus paari, 974 00:52:33,000 --> 00:52:37,000 ja nii on see info, et ma töötan koos sees minu app. 975 00:52:37,000 --> 00:52:40,000 >> Vaatame kõigepealt tule siia. Meil on palju rohkem faile nüüd. 976 00:52:40,000 --> 00:52:44,000 Aga las esimene tule siia süžeeskeemile. 977 00:52:44,000 --> 00:52:48,000 Storyboard siin-kui ma saan zoom out- 978 00:52:48,000 --> 00:52:51,000 näeme nüüd, et see on voolu minu app. 979 00:52:51,000 --> 00:52:53,000 Ma olen esimene hakkan sellel ekraanil. 980 00:52:53,000 --> 00:52:55,000 Ma lähen süvitsi sellele ekraanile, 981 00:52:55,000 --> 00:52:58,000 ja ma lähen süvitsi sellele ekraanile, ja näeme siin, et kui ma mingi 982 00:52:58,000 --> 00:53:04,000 liikuda üks neist umbes oleme need nooled lähevad siit siiani, 983 00:53:04,000 --> 00:53:08,000 ja kuidas ma kindlaks, et nool oli, kui ma suumida natuke, 984 00:53:08,000 --> 00:53:12,000 ja kui ma tulen sinna sellele et kontroller, 985 00:53:12,000 --> 00:53:16,000 ja siin on rakk, ma tahan öelda, et kui sa puudutage raku 986 00:53:16,000 --> 00:53:18,000 Ma tahan, et sa libiseda üle teisele ekraanile. 987 00:53:18,000 --> 00:53:21,000 Võin lihtsalt hoidke kontrolli, 988 00:53:21,000 --> 00:53:26,000 leidke üle natuke, hoidke kontrolli, lohista see rakk üle ja lase lahti. 989 00:53:26,000 --> 00:53:30,000 >> Ja siin me ütleme, mis on ülemineku, mida soovite kasutada? 990 00:53:30,000 --> 00:53:32,000 Kas soovite kasutada seda slaidi asi, mis kutsus push? 991 00:53:32,000 --> 00:53:34,000 Kas soovite slaidi alt? 992 00:53:34,000 --> 00:53:36,000 Seda nimetatakse modaal. 993 00:53:36,000 --> 00:53:40,000 Ja kui ma vajutan üks neist, see saab juhtida see nool minu jaoks, 994 00:53:40,000 --> 00:53:44,000 ja see tähendab, et ma olen tegelikult käideldakse mis juhtub, kui ma vajutan seda nuppu graafiliselt. 995 00:53:44,000 --> 00:53:48,000 Ma ei kirjuta ühtegi koodi tegelikult libiseb ühest ekraani kõrval üks. 996 00:53:48,000 --> 00:53:51,000 Ma määratletud see visuaalselt sees Interface Builder. 997 00:53:51,000 --> 00:53:55,000 Kui ma vajutan seda noolt, siis näeme, et andsin selle asja nimi. 998 00:53:55,000 --> 00:53:59,000 Ma helistasin talle showDivisions, ja see on, et ma saaksin teada, 999 00:53:59,000 --> 00:54:03,000 mida üleminek on umbes tekkida, ja me näeme, miks just sek. 1000 00:54:03,000 --> 00:54:06,000 See, kuidas ma olen wired up erinevad ekraanide minu app. 1001 00:54:06,000 --> 00:54:09,000 Kui see nupp, näiteks, selle asemel laua arvates 1002 00:54:09,000 --> 00:54:11,000 Ma võiks kontrollida vajutage nupule, lohistage üle järgmisele ekraanile, 1003 00:54:11,000 --> 00:54:16,000 ja see on, kuidas ma saan teha navigation nii. 1004 00:54:16,000 --> 00:54:19,000 >> Tõesti kiiresti, kui me tuleme MasterViewController, 1005 00:54:19,000 --> 00:54:22,000 uuesti, me lihtsalt läheb määratleda nimekiri asjadest 1006 00:54:22,000 --> 00:54:26,000 mis kuvatakse tabelis arvates. 1007 00:54:26,000 --> 00:54:29,000 Siin ma väidan ma tahan sind võtta, et plist faili 1008 00:54:29,000 --> 00:54:32,000 ja ma tahan, et sa seda laadida üles võetud sõnastik 1009 00:54:32,000 --> 00:54:35,000 ja kui sul on see sõnastik, ma lähen vastata samad küsimused uuesti. 1010 00:54:35,000 --> 00:54:37,000 Siin on osakondade arv. 1011 00:54:37,000 --> 00:54:41,000 Üks on üks rida iga meistritiitli ning teksti iga rakk 1012 00:54:41,000 --> 00:54:46,000 peaks olema kas esimene, esimene liigas teine ​​liiga, ja nii edasi. 1013 00:54:46,000 --> 00:54:51,000 Lõpuks ma lähen kasutada seda meetodit, et me just nägime nimetatakse prepareForSegue, 1014 00:54:51,000 --> 00:54:54,000 ja see on meetod, mis saab olema vallandati, kui ma klikin 1015 00:54:54,000 --> 00:54:57,000 üks neist ridu ja seetõttu aktiveerides et üleminek 1016 00:54:57,000 --> 00:54:59,000 et ma loodud nooled. 1017 00:54:59,000 --> 00:55:02,000 See ütleb, et ma võib olla mitu 1018 00:55:02,000 --> 00:55:05,000 suhted ühest ekraani teise. 1019 00:55:05,000 --> 00:55:08,000 Kui mul on 2 nuppu ja iga nupp viib teid erinevat ekraani 1020 00:55:08,000 --> 00:55:10,000 Ma lähen on 2 segues, 1 iga nuppu. 1021 00:55:10,000 --> 00:55:14,000 Aga see prepareForSegue on taas hakatakse uuesti 1022 00:55:14,000 --> 00:55:17,000 iga erinevat suhet, nii et see tähendab, et mul on vaja nii 1023 00:55:17,000 --> 00:55:21,000 kindlaks, kui vajutate esimest nuppu või vajutad teist nuppu. 1024 00:55:21,000 --> 00:55:25,000 >> Mäletad, kui ma andsin, et segue nimi, see showDivisions, 1025 00:55:25,000 --> 00:55:29,000 et kuidas ma nüüd tean, et see on segue et avanes. 1026 00:55:29,000 --> 00:55:32,000 Kõik, mida ma tahan teha, on Ma tahan öelda 1027 00:55:32,000 --> 00:55:35,000 Ma tahan aru saada, mida ma lihtsalt tabanud, 1028 00:55:35,000 --> 00:55:38,000 ja nii saada, et võin öelda ma tahan indexPath valitud rida, 1029 00:55:38,000 --> 00:55:42,000 Jäta indexPath lihtsalt ütleb, kus ma lihtsalt klõpsatud, 1030 00:55:42,000 --> 00:55:47,000 ja siis ma tahan öelda, et ma tahan aru saada, kus ma lähen. 1031 00:55:47,000 --> 00:55:50,000 See destinationViewController, et on vara segue. 1032 00:55:50,000 --> 00:55:53,000 See on ekraani ma lähen, 1033 00:55:53,000 --> 00:55:56,000 nii et ma tean, et ekraan ma lähen nimetatakse DivisionsViewController 1034 00:55:56,000 --> 00:55:59,000 sest ma lõin selle klassi 1035 00:55:59,000 --> 00:56:02,000 ja nii nüüd kui ma ütlen d.divisions 1036 00:56:02,000 --> 00:56:06,000 Ma nüüd milles vara seisukohal kontroller ma olen umbes minna. 1037 00:56:06,000 --> 00:56:10,000 See, kuidas ma saadan andmeid ühest ekraani teisele ekraanile. 1038 00:56:10,000 --> 00:56:13,000 >> Lihtsalt vaatab seda DivisionsViewController 1039 00:56:13,000 --> 00:56:16,000 näete siin, et. h fail 1040 00:56:16,000 --> 00:56:20,000 seal on see, et vara jagunemise, ja see on, mida ma põhimõtteliselt populating, 1041 00:56:20,000 --> 00:56:25,000 nii et kuidas ma tean, et ma väljapanek vaheseinad vastab 1042 00:56:25,000 --> 00:56:28,000 Liiga et ma klõpsatud ja jälle, 1043 00:56:28,000 --> 00:56:31,000 tegelik tabel arvates näeb välja üsna sama, lihtsalt vastata neile 1044 00:56:31,000 --> 00:56:34,000 3 lihtsat küsimust samuti kindlaks 1045 00:56:34,000 --> 00:56:37,000 Mis juhtub, kui sa liikuda edasi järgmisele ekraanile. 1046 00:56:37,000 --> 00:56:40,000 Lihtsalt paar muud asjad siin. 1047 00:56:40,000 --> 00:56:43,000 Märkate ülaosas siin, et mitte öelda # include 1048 00:56:43,000 --> 00:56:45,000 Ma nüüd öelda # importida. 1049 00:56:45,000 --> 00:56:47,000 See on vaid Objective-C asi. 1050 00:56:47,000 --> 00:56:52,000 Import on põhimõtteliselt kenamaks versioon sisaldavad 1051 00:56:52,000 --> 00:56:57,000 ja näiteks, me peame teadma, mida see klass on, 1052 00:56:57,000 --> 00:57:00,000 nii et ma ei saa lihtsalt öelda DivisionsViewController. 1053 00:57:00,000 --> 00:57:05,000 Kui me ei hashtag standardio.c sees meie. C faili 1054 00:57:05,000 --> 00:57:07,000 kompilaator polnud aimugi, mida printf oli. 1055 00:57:07,000 --> 00:57:12,000 Samamoodi, kui ma ei impordi DivisionsViewController 1056 00:57:12,000 --> 00:57:16,000 kompilaator tõesti ei tea, mis DivisionsViewController on. 1057 00:57:16,000 --> 00:57:19,000 Lihtsalt veenduge, et sees oma erinevad. M faile veenduge importida 1058 00:57:19,000 --> 00:57:25,000 vastav. h faile nii, et kompilaator teab, mis toimub. 1059 00:57:25,000 --> 00:57:31,000 >> Lõpuks, mida Apple lõpuks ei ei näidataks teatavaid andmeid kasutades web arvates 1060 00:57:31,000 --> 00:57:35,000 ja nii veebi vaade on objekt, mida saab kinnistada 1061 00:57:35,000 --> 00:57:37,000 vähe veebibrauseri sees oma app. 1062 00:57:37,000 --> 00:57:40,000 Kõik, mida pead tegema, on pakkuda URL oma veebibrauseri 1063 00:57:40,000 --> 00:57:43,000 nii et ma tahan minna mlb.mlb.com, 1064 00:57:43,000 --> 00:57:46,000 ja see, kuidas ma saan kasutada kodulehekülg iga meeskond, 1065 00:57:46,000 --> 00:57:49,000 ja nii sooritades see URL 1066 00:57:49,000 --> 00:57:52,000 Web View kuvada seda minu jaoks, ja ma võin sirvida ringi, 1067 00:57:52,000 --> 00:58:01,000 ja simulaator on kasutusel, et üks. 1068 00:58:01,000 --> 00:58:03,000 Nüüd on see tuli minu plist. 1069 00:58:03,000 --> 00:58:07,000 Kui ma vajutan seda see ka tuli minu plist, ja seda libistades tegelesid 1070 00:58:07,000 --> 00:58:09,000 määratledes need segues. 1071 00:58:09,000 --> 00:58:12,000 Ma vajutan seda ja veel üks, 1072 00:58:12,000 --> 00:58:15,000 ja nüüd siin on minu UIWebView, nii nagu see 1073 00:58:15,000 --> 00:58:19,000 siin on kodulehel link, et ma lihtsalt varjatud, 1074 00:58:19,000 --> 00:58:21,000 ja ma ei pea hakkama midagi hull. 1075 00:58:21,000 --> 00:58:24,000 See on kuidas kuvada veebilehel. 1076 00:58:24,000 --> 00:58:27,000 Asjad nagu see back-nupule siin on toodud ka mulle 1077 00:58:27,000 --> 00:58:33,000 täiesti tasuta, sest ma olen määratletud nende suhete kasutades segues. 1078 00:58:33,000 --> 00:58:37,000 >> Kas on küsimusi? Jah. 1079 00:58:37,000 --> 00:58:40,000 [Student] Nii et kui te kasutate alloc, sa ei pea kunagi tasuta midagi? 1080 00:58:40,000 --> 00:58:43,000 Täpselt, kui helistate alloc ja init teil ei ole vaba ta. 1081 00:58:43,000 --> 00:58:46,000 IOS läheb hakkama kõik, et teie jaoks. 1082 00:58:46,000 --> 00:58:51,000 See on suurepärane, ja sa ei ole purustamine tahes reeglid. Jah. 1083 00:58:51,000 --> 00:58:54,000 [Student] Kui sa olid sisaldavad rohkem võistkondi, mis võiks mahtuda ekraanile 1084 00:58:54,000 --> 00:58:58,000 oleks see automaatselt leidke valik, või on see midagi, mida vaja lisada? 1085 00:58:58,000 --> 00:59:01,000 Täpselt, kui mul oleks rohkem võistkondi, näiteks, oleks automaatselt käidelda 1086 00:59:01,000 --> 00:59:04,000 kerimine minu jaoks, ja kõik jõudluse probleeme 1087 00:59:04,000 --> 00:59:08,000 tohutu tabeli käideldakse ka täiesti minu jaoks. 1088 00:59:08,000 --> 00:59:11,000 >> Muud küsimused? 1089 00:59:11,000 --> 00:59:13,000 Kõik see kood saab olema postitatud. 1090 00:59:13,000 --> 00:59:16,000 Me mingi ilustatud natuke rohkem pisidetailidest, 1091 00:59:16,000 --> 00:59:19,000 aga asjad, millega mõned omadused veebi vaade 1092 00:59:19,000 --> 00:59:22,000 on lihtsalt asju, mida saad sirvides Apple'i dokumentatsioon, 1093 00:59:22,000 --> 00:59:24,000 mis on tõesti väga kenasti sätestatud. 1094 00:59:24,000 --> 00:59:27,000 Neil on palju proovi rakendused ja näiteks tavasid 1095 00:59:27,000 --> 00:59:34,000 erinevate rakendusliideste, et kindlasti tutvuma need, kui saad. 1096 00:59:34,000 --> 00:59:36,000 Lihtsalt mõned kasulikud lingid võiksite heita pilgu. 1097 00:59:36,000 --> 00:59:38,000 Need on mõned käepärased dokumentatsioon giidid. 1098 00:59:38,000 --> 00:59:41,000 Aadressid on tohutu, nii et nad lühendada. 1099 00:59:41,000 --> 00:59:44,000 See esimene on kogu raamatukogu dokumentatsiooni. 1100 00:59:44,000 --> 00:59:46,000 Seal on vähe otsing baarid, nii et kui te alustate tippimist nuppu 1101 00:59:46,000 --> 00:59:50,000 see hakkab andes sulle kogu infot kõik asjad, mida saate teha koos ühe nupuvajutusega. 1102 00:59:50,000 --> 00:59:53,000 Olen ka tabel Vaata saatekava. 1103 00:59:53,000 --> 00:59:56,000 Ta tegeleb tabeli vaatamist palju detailsemalt, 1104 00:59:56,000 --> 01:00:00,000 kuidas teha asju nagu dünaamiliselt lisada rakke või redigeerida rakkude või eemaldada. 1105 01:00:00,000 --> 01:00:02,000 >> Seal on palju proovi apps Apple, mis näitab teile, kuidas seda teha, 1106 01:00:02,000 --> 01:00:05,000 ja lõpuks, see viimane on Human Interface Suunised, 1107 01:00:05,000 --> 01:00:09,000 ja see on põhimõtteliselt mingi arutelu kasutajaliidese komponendid, 1108 01:00:09,000 --> 01:00:12,000 asjad ei tee nupp, mis on 4 pikslit 4 pikslit. 1109 01:00:12,000 --> 01:00:15,000 See on halb idee, ja muid asju, et Apple tahab, et sa 1110 01:00:15,000 --> 01:00:18,000 julgustada hea. 1111 01:00:18,000 --> 01:00:23,000 >> Iga viimane küsimus enne kui me lopeteltiin? 1112 01:00:23,000 --> 01:00:27,000 Olgu, kindlasti julgelt-Me on eriline etiketid arutada. 1113 01:00:27,000 --> 01:00:30,000 Me peame iOS üks, nii kindlasti vabalt kasutada, et. 1114 01:00:30,000 --> 01:00:34,000 Kui te soovite töötada oma klassikaaslastega projektide 1115 01:00:34,000 --> 01:00:37,000 või aitavad aru saada mõne juhusliku iOS värk 1116 01:00:37,000 --> 01:00:40,000 emaili mulle, ja kindlasti tutvuma kõik koodi internetis sest 1117 01:00:40,000 --> 01:00:43,000 lihtsalt huvides kord, kui me sellist ilustatud rohkem 1118 01:00:43,000 --> 01:00:45,000 Peenema tekstuuriga üksikasjad asju. 1119 01:00:45,000 --> 01:00:47,000 Aga kui mitte, siis hea õnne oma iOS projektid, ja ma loodan, et oleme 1120 01:00:47,000 --> 01:00:53,000 suur sissevool apps App Store. 1121 01:00:53,000 --> 01:00:56,000 [CS50.TV]