1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Seminaari] [iOS: kirjoittaminen apps kuten Boss] 2 00:00:02,000 --> 00:00:04,000 [Tommy MacWilliam] [Harvardin yliopisto] 3 00:00:04,000 --> 00:00:08,000 [Tämä on CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:12,000 >> No niin, kaikki, tervetuloa iOS: Kirjoittaminen Apps kuin Boss. 5 00:00:12,000 --> 00:00:16,000 Tämä seminaari on menossa keskittyä kirjallisesti apps varten iPhone 6 00:00:16,000 --> 00:00:19,000 ja vuorostaan ​​kirjallisesti apps iPad, ja niin me pohjimmiltaan menossa kulkea 7 00:00:19,000 --> 00:00:23,000 pari erilaista esimerkkiä miten sovellus, yksinkertainen peli kuin Tic Tac Toe, 8 00:00:23,000 --> 00:00:26,000 tai jos olet enemmän kiinnostunut tekemään app jonkinlaisena uutislukijan 9 00:00:26,000 --> 00:00:30,000 tai jotain, vuorovaikutuksessa Internetin aion puhua, että samoin. 10 00:00:30,000 --> 00:00:32,000 Tässä on meidän lyhyt asialistalla. 11 00:00:32,000 --> 00:00:36,000 >> IOS apps on kirjoitettu kielellä nimeltään Objective-C, 12 00:00:36,000 --> 00:00:39,000 ja niin tämä on hieman samanlainen kuin C, mutta ei oikeastaan ​​ollenkaan, 13 00:00:39,000 --> 00:00:41,000 niin me voidaan puhua hieman siitä itse kieli 14 00:00:41,000 --> 00:00:45,000 ja sitten miten rakentaa iPhone sovellukset käyttävät tätä app ohjelma nimeltä XCode, 15 00:00:45,000 --> 00:00:48,000 jotka, jos et ole ladannut sitä vielä rohkeasti Käynnistä lataus nyt. 16 00:00:48,000 --> 00:00:50,000 Se on useita gigatavuja. 17 00:00:50,000 --> 00:00:54,000 Sen pitäisi olla ilmaiseksi App Storesta, joten sinun täytyy olla Mac 18 00:00:54,000 --> 00:00:57,000 ihanteellisesti käytössä uusin versio OS X 19 00:00:57,000 --> 00:00:59,000 Jos et ole, ei ole ongelma. 20 00:00:59,000 --> 00:01:02,000 Olemme Maceja tiedekeskuksen käytettävissäsi 21 00:01:02,000 --> 00:01:05,000 Xcode asennettuna, joten voit käyttää näitä kehityksen. 22 00:01:05,000 --> 00:01:07,000 Jos haluat tehdä app, mutta ei ole Mac, älä huolestu. 23 00:01:07,000 --> 00:01:09,000 Siellä on runsaasti kampuksen varoja tähän. 24 00:01:09,000 --> 00:01:15,000 Ja niin sitten aiomme kattaa 2 suurempi esimerkkejä eri apps voit tehdä. 25 00:01:15,000 --> 00:01:19,000 Objective-C on teknisesti mitä kutsutaan Super Set C. 26 00:01:19,000 --> 00:01:24,000 Tämä tarkoittaa, että C-koodi on voimassa myös Objective-C-koodia. 27 00:01:24,000 --> 00:01:29,000 Tämä tarkoittaa, että sellainen kanava teipattu joitakin lisäominaisuuksia C. 28 00:01:29,000 --> 00:01:33,000 Jotkin näistä ominaisuuksista ovat ei tarvitse koskaan kirjoittaa malloc uudelleen, luojan kiitos, 29 00:01:33,000 --> 00:01:36,000 ei tarvitse murehtia niitä typeriä osoittimet ja vapauttaa heidät ja kaikki jutut 30 00:01:36,000 --> 00:01:40,000 sinun vihasi noin C, ja se on tavallaan mennyt Objective-C. 31 00:01:40,000 --> 00:01:43,000 >> Nyt, Objective-C on myös paljon suurempi vakio kirjasto, 32 00:01:43,000 --> 00:01:47,000 joten siellä on paljon enemmän toimintoja saat ilmaiseksi sisälle Objective-C. 33 00:01:47,000 --> 00:01:50,000 Muistatko, kun olimme kirjallisesti PHP huomasimme, että meillä meni 34 00:01:50,000 --> 00:01:54,000 Tämä pienin kieli jättiläinen kirjaston kaikki nämä hulluja asioita voit tehdä. 35 00:01:54,000 --> 00:01:56,000 Sama tapahtuu iOS. 36 00:01:56,000 --> 00:01:59,000 On kohteita asioita kuten buddhalaisen kalenterin, ja oikeastaan ​​mitään 37 00:01:59,000 --> 00:02:05,000 voit mahdollisesti ajatella luultavasti olemassa jo Objective-C: n toteuttamista. 38 00:02:05,000 --> 00:02:08,000 Tavoitteena osa Objective-C viittaaminen jotain 39 00:02:08,000 --> 00:02:11,000 kutsutaan Object-Oriented Programming. 40 00:02:11,000 --> 00:02:14,000 Tämä on eräänlainen uusi käsite, mutta olemme oikeastaan ​​enimmäkseen oppinut 41 00:02:14,000 --> 00:02:17,000 paljon näitä käsitteitä jo. 42 00:02:17,000 --> 00:02:19,000 Ajatus Olio-ohjelmointi on, että olet menossa jäsentää 43 00:02:19,000 --> 00:02:23,000 paljon koodisi noin näitä asioita kutsutaan luokkiin, 44 00:02:23,000 --> 00:02:26,000 ja nämä luokat ovat todella kirkastettu tietueet. 45 00:02:26,000 --> 00:02:30,000 Sisältä struct me pohjimmiltaan sanoi täällä on asia, 46 00:02:30,000 --> 00:02:32,000 ja tämä asia voi olla jäseniä. 47 00:02:32,000 --> 00:02:35,000 Esimerkiksi solmun linkitetyn listan voisi olla muita asioita 48 00:02:35,000 --> 00:02:38,000 kuten arvo, joka on osoitin seuraavaan solmuun listassa, 49 00:02:38,000 --> 00:02:44,000 ja yhdessä, että osoitin ja että arvo muodostuu tämä yksi esiintymä struct. 50 00:02:44,000 --> 00:02:47,000 Luokat ovat hyvin samanlaisia, paitsi 51 00:02:47,000 --> 00:02:50,000 luokat voivat olla myös toimintoja sisällä niitä. 52 00:02:50,000 --> 00:02:54,000 Kun me julisti struct, voimme vain sanoa int n tai solmun * seuraavaksi. 53 00:02:54,000 --> 00:02:57,000 >> Nyt Objective-C voimme tosiasiallisesti toiminnot 54 00:02:57,000 --> 00:02:59,000 sisällä näitä asioita. 55 00:02:59,000 --> 00:03:03,000 Toinen asia, että luokat voivat tehdä, on ne perivät tietoja muihin luokkiin. 56 00:03:03,000 --> 00:03:07,000 Esimerkiksi me tarkastelemme joukko sisäänrakennettu Objective-C luokissa. 57 00:03:07,000 --> 00:03:11,000 Yksi niistä voisi olla luokkaa joka edustaa näkymän näytön, 58 00:03:11,000 --> 00:03:14,000 ja niin sanomalla haluan toteuttaa oman näkemykseni 59 00:03:14,000 --> 00:03:18,000 me pohjimmiltaan sanoa jonkun haltuun Apple, luultavasti todella mukavia ihmisiä, 60 00:03:18,000 --> 00:03:21,000 Kirjoitin tämän luokan minulle, ja se käsittelee asioita, kuten esillä painikkeet 61 00:03:21,000 --> 00:03:25,000 tai tekee näytön, ja olisimme todella tuskainen 62 00:03:25,000 --> 00:03:28,000 toteuttamaan kaikki toiminnot itse, ja niin yksinkertaisesti 63 00:03:28,000 --> 00:03:31,000 peritäänkö tietojen voimme sanoa kaiken teit kyseisen luokan 64 00:03:31,000 --> 00:03:34,000 Haluan myös sisällä minun luokka, ja sitten aion tehdä joitakin muita juttuja, 65 00:03:34,000 --> 00:03:37,000 nimittäin toteuttaa sovellus. 66 00:03:37,000 --> 00:03:40,000 Sitä se sana perintö tarkoittaa. Näemme enemmän konkreettinen esimerkki. 67 00:03:40,000 --> 00:03:42,000 >> Ja lopuksi, avain Object-Oriented Programming on, että 68 00:03:42,000 --> 00:03:45,000 se johtaa tietojen kapseloinnin. 69 00:03:45,000 --> 00:03:48,000 Joissakin meidän ongelma asettaa saisimme nämä suuret, globaalit muuttujat 70 00:03:48,000 --> 00:03:51,000 ja global kaikkialla, ja näin olimme seurata valtion. 71 00:03:51,000 --> 00:03:55,000 Oppilasryhmien kanssa voimme aloittaa tiivistetään tietoa sisällä kohteen. 72 00:03:55,000 --> 00:03:58,000 Jos meillä on yksi näyttö meidän app, emme todellakaan tarvitse mitään tietoja 73 00:03:58,000 --> 00:04:01,000 toinen näyttö meidän app sisällä siitä, 74 00:04:01,000 --> 00:04:04,000 ja niin kapseloimalla asioita luokissa tämä todella johtaa 75 00:04:04,000 --> 00:04:08,000 paljon parempi koodi suunnittelu, ja tämä on mahdollista joitakin lisäominaisuuksia 76 00:04:08,000 --> 00:04:11,000 ja Objective-C. 77 00:04:11,000 --> 00:04:15,000 Ennakkovaroituksen, syntaksi Objective-C on banaaneja. 78 00:04:15,000 --> 00:04:19,000 Se on kuin mitään olemme nähneet ennen, 79 00:04:19,000 --> 00:04:22,000 joten se on hieman oppimiskäyrä tottua 80 00:04:22,000 --> 00:04:24,000 mitä ihmettä tämä tarkoittaa? 81 00:04:24,000 --> 00:04:27,000 Mutta kun saat ohi että alkuperäinen oppimiskäyrä on todella, todella sileä 82 00:04:27,000 --> 00:04:29,000 Aloita kirjoittaminen apps. 83 00:04:29,000 --> 00:04:33,000 >> Julistaa luokka, eli tässä on minun luokka, on olemassa, 84 00:04:33,000 --> 00:04:35,000 ja ehkä tässä on muutamia asioita, joita aion määritellä myöhemmin, 85 00:04:35,000 --> 00:04:38,000 Aion sanoa @ käyttöliittymä. 86 00:04:38,000 --> 00:04:41,000 Aion sanoa @ käyttöliittymä. Aion antaa minun luokan nimi. 87 00:04:41,000 --> 00:04:43,000 Ja sitten myöhemmin jossain muualla aion sanoa @ loppuun, 88 00:04:43,000 --> 00:04:46,000 ja kaikkea siltä väliltä @ liitännän ja @ loppuun 89 00:04:46,000 --> 00:04:48,000 tulee olemaan minun luokkaa. 90 00:04:48,000 --> 00:04:51,000 Tämä tulee olemaan mitä on sisällä meidän. H. tiedostoja. 91 00:04:51,000 --> 00:04:55,000 Aivan kuten C meidän. H. tiedostoja pohjimmiltaan sanoi täällä on joitakin asioita, jotka ovat olemassa. 92 00:04:55,000 --> 00:04:57,000 En välttämättä kerrotaan mitä he tekevät vielä, 93 00:04:57,000 --> 00:04:59,000 mutta kääntäjä tarvitsee tietää, että ne ovat olemassa. 94 00:04:59,000 --> 00:05:04,000 Myöhemmin sisällä meidän. M-tiedostot-koska m Objective-C 95 00:05:04,000 --> 00:05:08,000 on missä olemme todella menossa määritellä, mitä nämä luokat tekevät. 96 00:05:08,000 --> 00:05:11,000 Aivan kuten meidän. C-tiedostoja, tarjosimme toteutuksen toimintoja. 97 00:05:11,000 --> 00:05:15,000 Sisällä meidän. M tiedosto aiomme sanoa tässä mitä kaikki toiminnot 98 00:05:15,000 --> 00:05:18,000 sisällä minun luokka-mitä ne kaikki tekevät. 99 00:05:18,000 --> 00:05:22,000 Ja lopuksi, sisällä struct voisimme sanoa sisäpuolella näiden aaltosulkeita 100 00:05:22,000 --> 00:05:25,000 int n tai solmu * ensi- 101 00:05:25,000 --> 00:05:28,000 ja Objective-C aiomme käyttää avainsanan @ omaisuutta, 102 00:05:28,000 --> 00:05:31,000 ja tämä on mitä tulee määritellä ominaisuuksia, 103 00:05:31,000 --> 00:05:36,000 tai ei-toimintoja, jotka ovat osa tunneilla. 104 00:05:36,000 --> 00:05:40,000 >> Soittaminen toimii Objective-C on myös banaaneja. 105 00:05:40,000 --> 00:05:43,000 Kun ilmoitettu toiminnot C sanoimme jotain int foo 106 00:05:43,000 --> 00:05:46,000 ja avoin kantatuote ja sitten antoi sen listan argumentteja. 107 00:05:46,000 --> 00:05:51,000 Tämä on mitä julistetaan menetelmiä tai toimintoja näyttää Objective-C. 108 00:05:51,000 --> 00:05:54,000 Jos haluan julistaa toiminto tai menetelmän 109 00:05:54,000 --> 00:05:58,000 missä Sanon menetelmä on oikeastaan ​​vain funktio, joka on jäsenenä luokan, 110 00:05:58,000 --> 00:06:01,000 joten sellainen vaihdettavissa, mutta ei oikeastaan, 111 00:06:01,000 --> 00:06:03,000 joten sisällä minun tapa Haluan luoda uusi menetelmä. 112 00:06:03,000 --> 00:06:06,000 Se tulee takaisin mitään, joten se tulee olemaan tyyppiä void. 113 00:06:06,000 --> 00:06:08,000 Tämä on palautuva tehtäväni. 114 00:06:08,000 --> 00:06:11,000 Nyt meillä on parens täällä koska-en tiedä. 115 00:06:11,000 --> 00:06:14,000 Seuraava tulee olla nimi minun toiminto, 116 00:06:14,000 --> 00:06:17,000 ja lopuksi meillä puolipiste aivan kuten meillä oli C. 117 00:06:17,000 --> 00:06:19,000 Mitä uutta tässä on tämä kaveri täällä. 118 00:06:19,000 --> 00:06:22,000 Tämä tavuviiva on todella tarpeellista, ja mitä tämä sanoo, että 119 00:06:22,000 --> 00:06:26,000 Tätä menetelmää tässä on kehottanut esiintymä luokan. 120 00:06:26,000 --> 00:06:29,000 >> Kun olemme julisti meidän tietueet me varmaan sanoi jotain 121 00:06:29,000 --> 00:06:32,000 struct solmu n, ja että todella luodaan 122 00:06:32,000 --> 00:06:35,000 tai instantiated yksi niistä tietueet niin että voisin oikeastaan ​​aloittaa työt 123 00:06:35,000 --> 00:06:38,000 mitä on sisällä siitä, joten tämä viiva tarkoittaa, että meidän on 124 00:06:38,000 --> 00:06:41,000 instantiate luokan aivan kuten me instantiated että struct 125 00:06:41,000 --> 00:06:43,000 ennen kuin voimme kutsua tätä menetelmää siihen. 126 00:06:43,000 --> 00:06:46,000 Jos haluan aloittaa lisäämällä argumentteja minun menetelmiä 127 00:06:46,000 --> 00:06:48,000 se saa vielä enemmän banaaneja. 128 00:06:48,000 --> 00:06:50,000 Tässä on minun menetelmän nimi. 129 00:06:50,000 --> 00:06:53,000 Sitten aion olla kaksoispiste, ja tämän jälkeen kaksoispiste sanotaan tässä tulee joitakin perusteluja. 130 00:06:53,000 --> 00:06:56,000 Tämä menetelmä vie yhden argumentin. 131 00:06:56,000 --> 00:06:59,000 Tyyppi väite on int, ja nimi väitteen 132 00:06:59,000 --> 00:07:03,000 tai muuttuja aion alkaa käyttää sisällä menetelmää kutsutaan i. 133 00:07:03,000 --> 00:07:05,000 Jälleen kerran, tämä on menetelmä. Se kestää yhden argumentin. 134 00:07:05,000 --> 00:07:10,000 >> Jos haluat aloittaa lisäämällä argumentteja se saa enemmän banaaneja 135 00:07:10,000 --> 00:07:13,000 että olemme tällä kaksoispiste joka sanoo tässä tulee lista argumentteja. 136 00:07:13,000 --> 00:07:15,000 Tämä ensimmäinen argumentti on kokonaisluku. 137 00:07:15,000 --> 00:07:17,000 Nyt tämä toinen väite on mielenkiintoinen. 138 00:07:17,000 --> 00:07:20,000 Muuttuja aion käyttää sisällä minun toiminto 139 00:07:20,000 --> 00:07:23,000 kutsutaan f, joten sisällä minun toiminnon voisin sanoa 140 00:07:23,000 --> 00:07:25,000 f + = 1 tai jotain. 141 00:07:25,000 --> 00:07:30,000 Tämä juttu tässä on pohjimmiltaan avain väitteen tai parametri. 142 00:07:30,000 --> 00:07:34,000 Aivan kuten meillä oli avain arvo-pareja ja jotain JSON tai assosiatiiviset taulukot 143 00:07:34,000 --> 00:07:37,000 Objective-C teki päätöksen sanoa, okei, juuri niin, että se on todella selvä 144 00:07:37,000 --> 00:07:39,000 Kun soitat menetelmä mitä kaikki nämä parametrit eivät 145 00:07:39,000 --> 00:07:41,000 Olen todella tulee nimetä ne kaikki. 146 00:07:41,000 --> 00:07:45,000 Kun soitat menetelmän, sinun todella sanoa andFloat, 147 00:07:45,000 --> 00:07:47,000 ja sitten voit siirtää sen sisään 148 00:07:47,000 --> 00:07:50,000 >> Kiinnostavaa kyllä, tämä ei ole nimetty, mutta kaikki muut parametrit ovat, 149 00:07:50,000 --> 00:07:53,000 joten jos meillä oli kolmas argumentti voisin sanoa andFloat 150 00:07:53,000 --> 00:07:56,000 ja toisen juoksun ja niin edelleen. 151 00:07:56,000 --> 00:08:01,000 Kun Kutsun näitä menetelmiä on tietenkin banaaneja, 152 00:08:01,000 --> 00:08:04,000 joten jos olen esine, ja olen määritellyt menetelmää kutsutaan foo- 153 00:08:04,000 --> 00:08:09,000 ja haluan kutsua sitä kuin sanoa foo / auki parens 154 00:08:09,000 --> 00:08:11,000 Aion avata teline. 155 00:08:11,000 --> 00:08:13,000 Tässä nimi minun menetelmällä. 156 00:08:13,000 --> 00:08:17,000 Aion sulkea teline, ja tämä on esine soitan sen. 157 00:08:17,000 --> 00:08:20,000 Muista, että kaikki nämä menetelmät esiintyy luokkiin 158 00:08:20,000 --> 00:08:23,000 koska luokat voivat olla määritellyt menetelmät sisällä niitä. 159 00:08:23,000 --> 00:08:26,000 >> Täällä olen omavaltaisesti luonut kohde joidenkin luokan 160 00:08:26,000 --> 00:08:28,000 ja tämä on syntaksi näin. 161 00:08:28,000 --> 00:08:31,000 On 2 luon objekti. 162 00:08:31,000 --> 00:08:34,000 Ensimmäinen vaihe on, että haluan jakaa tilaa. 163 00:08:34,000 --> 00:08:37,000 Tämä on sama kuin malloc. Meillä ei ole sanottavaa malloc enää. 164 00:08:37,000 --> 00:08:42,000 Me putosi m, teki alloc, ja korvattiin. C. M.. 165 00:08:42,000 --> 00:08:47,000 Kun olemme alloc meidän sitten täytyy alustaa sen. 166 00:08:47,000 --> 00:08:49,000 Periaatteessa kun luot objekteja saatat haluta olla jotain logiikkaa 167 00:08:49,000 --> 00:08:53,000 että suoritetaan, kun he luotu, joten voit siirtää tietyissä oletusarvot 168 00:08:53,000 --> 00:08:57,000 tai jotain, ja niin tämä init menetelmä on mitä todella luo objektin. 169 00:08:57,000 --> 00:08:59,000 Ensin varata tilaa, aivan kuten teimme C, 170 00:08:59,000 --> 00:09:04,000 ja sitten alustaa se, joka voi tai ei voi tehdä paljon. 171 00:09:04,000 --> 00:09:07,000 Sitten olemme palaamassa tämä asia tulee objekti o. 172 00:09:07,000 --> 00:09:09,000 Siellä tähti täällä, koska tämä on teknisesti osoitin, 173 00:09:09,000 --> 00:09:12,000 mutta älä huoli, osoittimet eivät ole niin iso juttu Objective-C enää. 174 00:09:12,000 --> 00:09:15,000 >> Nyt olemme instantiated tämän luokan nimeltä NSObject, 175 00:09:15,000 --> 00:09:19,000 ja tämä on vain satunnainen luokka, että Apple on. 176 00:09:19,000 --> 00:09:22,000 Olemme instantiated tätä, ja nyt minulla on esimerkiksi tämän luokan 177 00:09:22,000 --> 00:09:25,000 Tässä objektin o, niin se tarkoittaa, että jos on määritelty 178 00:09:25,000 --> 00:09:29,000 Näiden menetelmien Voisin soittaa heille näin. 179 00:09:29,000 --> 00:09:31,000 Samoin jos halusin soittaa menetelmä yhden väitteen, 180 00:09:31,000 --> 00:09:34,000 joten tämä on baari menetelmä, joka vie yksi argumentti, 181 00:09:34,000 --> 00:09:38,000 ja tässä on Baz: qux menetelmä, joten tämä vie 2 argumentteja. 182 00:09:38,000 --> 00:09:44,000 Tämä vaatii yksi toiminto on tämä esine o. 183 00:09:44,000 --> 00:09:46,000 Järkeä? 184 00:09:46,000 --> 00:09:50,000 Syntaksin pitäisi järkeä, mutta tavallaan tottuu. 185 00:09:50,000 --> 00:09:54,000 >> Okei, puhutaanpa muutamia asioita, jotka on rakennettu Objective-C 186 00:09:54,000 --> 00:09:56,000 , joita ei ole välttämättä rakennettu C. 187 00:09:56,000 --> 00:09:59,000 C meillä sellainen piti käsitellä merkkijonoja näitä typeriä merkin matriiseja, 188 00:09:59,000 --> 00:10:01,000 ja se sai todella ärsyttävää. 189 00:10:01,000 --> 00:10:04,000 Objective-C on ne kaikki rakennettu meille, ja se on rakennettu vuonna 190 00:10:04,000 --> 00:10:06,000 Käyttämällä tätä luokkaa kutsutaan NSString. 191 00:10:06,000 --> 00:10:10,000 Kun haluan luoda NSString olemme enemmän mystistä syntaksi. 192 00:10:10,000 --> 00:10:15,000 Sen sijaan sanomalla "cs50" sanomme @ "cs50" 193 00:10:15,000 --> 00:10:17,000 ja tämä on vain syntaksi julistamisesta jousille Objective-C. 194 00:10:17,000 --> 00:10:21,000 Tämä on erittäin helppo unohtaa, joten älä. 195 00:10:21,000 --> 00:10:24,000 Nyt, kun minulla on tämä, tämä on merkkijono, mutta huomaa 196 00:10:24,000 --> 00:10:26,000 se on oikeastaan ​​vain esine. 197 00:10:26,000 --> 00:10:30,000 Sanoin NSString, mikä tarkoittaa minä instantiated luokka 198 00:10:30,000 --> 00:10:32,000 kutsutaan NSString, jotka joku muu kirjoitti minulle, 199 00:10:32,000 --> 00:10:35,000 ja he olivat erittäin mukavia siitä, joten nyt 200 00:10:35,000 --> 00:10:37,000 Voin aloittaa kutsuvan menetelmiä sitä. 201 00:10:37,000 --> 00:10:40,000 Jos minä soittaa menetelmä pituus tämän esineen s 202 00:10:40,000 --> 00:10:43,000 se tulee takaisin minulle langan pituutta. 203 00:10:43,000 --> 00:10:45,000 Tämä on aivan strlen in C 204 00:10:45,000 --> 00:10:47,000 Tämä palauttaa 4. 205 00:10:47,000 --> 00:10:51,000 >> Samoin toinen menetelmä voisin haluta välitä tämä characterAtIndex. 206 00:10:51,000 --> 00:10:54,000 Tämä on menetelmä, joka sanoo tämän string s 207 00:10:54,000 --> 00:10:57,000 Haluan saada nollas merkin, 208 00:10:57,000 --> 00:10:59,000 joten tämä palaisi minulle merkin c, 209 00:10:59,000 --> 00:11:02,000 ja siellä koko joukko enemmän näistä menetelmistä, joita voit googlata todella helposti. 210 00:11:02,000 --> 00:11:07,000 Applen dokumentaatio on suuri, ja me katsomaan, että hieman. 211 00:11:07,000 --> 00:11:09,000 Nämä ovat merkkijonoja. 212 00:11:09,000 --> 00:11:11,000 Olemme myös erikokoisten ryhmät sisäänrakennettu 213 00:11:11,000 --> 00:11:13,000 Muistakaa C kun julisti array 214 00:11:13,000 --> 00:11:16,000 meillä oli sanottavana sinulla on 5 elementtejä, Tarinan loppu. 215 00:11:16,000 --> 00:11:18,000 Kun pääsimme JavaScript ja PHP voisimme aloittaa 216 00:11:18,000 --> 00:11:20,000 tehdä asioita, kuten lisäämällä elementtejä tai liikkuvia osia. 217 00:11:20,000 --> 00:11:22,000 Voimme tehdä saman Objective-C. 218 00:11:22,000 --> 00:11:26,000 Sen sijaan luoda array normaaliin C tapa 219 00:11:26,000 --> 00:11:30,000 meillä on taas toinen luokka kutsutaan NSMutableArray. 220 00:11:30,000 --> 00:11:33,000 Mukana on myös NSArray, 221 00:11:33,000 --> 00:11:35,000 ja tämä tulee periaatteessa kiteyttää joitakin array. 222 00:11:35,000 --> 00:11:38,000 Tämä kertoo ensimmäinen asia jonka haluan tehdä on haluan jakaa 223 00:11:38,000 --> 00:11:41,000 tilaa uudelle array, ja sen jälkeen olen jakaa sen 224 00:11:41,000 --> 00:11:43,000 Sitten täytyy alustaa sen. 225 00:11:43,000 --> 00:11:45,000 Jälleen vain soittamalla nämä 2 menetelmiä. 226 00:11:45,000 --> 00:11:48,000 Nyt tämä tarkoittaa, että sisällä tämän kohteen 227 00:11:48,000 --> 00:11:50,000 Olen tyhjä joukko istuu siellä. 228 00:11:50,000 --> 00:11:54,000 Jos haluan lisätä jotain tähän array, voin soittaa addObject menetelmällä. 229 00:11:54,000 --> 00:11:59,000 Haluan lisätä objektin array, ja haluan lisätä merkkijono CS50. 230 00:11:59,000 --> 00:12:02,000 Jos halusin toisaalta poistaa, että voin sanoa haluan 231 00:12:02,000 --> 00:12:09,000 poista esine ensimmäisessä paikka array tai vastustaa. 232 00:12:09,000 --> 00:12:11,000 >> Järkeä? 233 00:12:11,000 --> 00:12:14,000 Okei, olet tavallaan tottua tähän hakasulje juttu. 234 00:12:14,000 --> 00:12:18,000 Muuten, sisällä paljon Applen kirjastojen näet tämän NS. 235 00:12:18,000 --> 00:12:21,000 NS oikeastaan ​​tarkoittaa seuraava askel, joka oli yksi Steve Jobs ensimmäisistä yrityksistä, 236 00:12:21,000 --> 00:12:24,000 ja se jos hän todella alkoi kirjoittaa paljon koodia 237 00:12:24,000 --> 00:12:27,000 eräänlaisena perustana Mac OS X ja kaikki muita juttuja, 238 00:12:27,000 --> 00:12:32,000 ja niin tämä NS on tavallaan tämä mukava perintö huutaa yhteen aikaisempien yritysten 239 00:12:32,000 --> 00:12:34,000 takaisin, kun Apple oli ensimmäinen alkaa. 240 00:12:34,000 --> 00:12:36,000 Se on kaikkialla. 241 00:12:36,000 --> 00:12:41,000 Katsotaanpa katsomaan kokonaisvaltaisempaa Objective-C esimerkki. 242 00:12:41,000 --> 00:12:44,000 Tässä olen sisällä XCode. 243 00:12:44,000 --> 00:12:47,000 Tänne, olen ladannut ensimmäisen XCode App Storesta, 244 00:12:47,000 --> 00:12:50,000 avasi sen, ja sitten menin tänne tiedoston, 245 00:12:50,000 --> 00:12:54,000 tänne uusia, ja sitten projekti. 246 00:12:54,000 --> 00:12:57,000 Kun minä, että minulla on kaikki nämä vaihtoehdot, mitä haluan luoda, 247 00:12:57,000 --> 00:12:59,000 ja niin me katsomaan asetuksia myöhemmin, 248 00:12:59,000 --> 00:13:03,000 mutta vain tässä esimerkissä, koska emme oikeastaan ​​olemaan app vielä, 249 00:13:03,000 --> 00:13:06,000 Tulin tänne, ja sanoin komentorivityökalu, 250 00:13:06,000 --> 00:13:09,000 ja tämä on sovellus, jonka voisin ajaa komentoriviltä 251 00:13:09,000 --> 00:13:12,000 aivan kuten olemme pakoillut C. 252 00:13:12,000 --> 00:13:16,000 Niin olen luonut tämän projektin, joten nyt olen täällä, 253 00:13:16,000 --> 00:13:20,000 joten katsotaanpa ensin katsoa tämän tiedoston, ja tämä pitäisi näyttää aika tutulta. 254 00:13:20,000 --> 00:13:24,000 Olen int nimeä. Siellä on ystäväni argc, toinen kaveri argv. 255 00:13:24,000 --> 00:13:30,000 Ja niin me voimme nähdä, että tämä on yhteyspiste ensimmäinen Objective-C sovellus. 256 00:13:30,000 --> 00:13:32,000 Täällä voimme jättää tämän nyt. 257 00:13:32,000 --> 00:13:35,000 Tämä on pohjimmiltaan muistia johto kamaa, että et todellakaan 258 00:13:35,000 --> 00:13:37,000 koskaan tarvitse murehtia. 259 00:13:37,000 --> 00:13:39,000 >> Katsotaanpa tämän ensimmäisen lohkon täällä. 260 00:13:39,000 --> 00:13:46,000 Tämä ensimmäinen rivi, jos sanon Opiskelijan * Alice = [[Opiskelijan alloc] init] mitä se tekee? 261 00:13:46,000 --> 00:13:50,000 Tämä ensimmäinen opiskelija täällä, tämä on luultavasti luokkaa. 262 00:13:50,000 --> 00:13:54,000 Tämä ei ole luokkaa, että Apple kirjoitti, mutta se luokka, että olen kirjoittanut. 263 00:13:54,000 --> 00:13:57,000 Ensimmäinen asia mitä haluan tehdä on haluan jakaa tilaa uusi opiskelija, 264 00:13:57,000 --> 00:14:00,000 ja sitten haluan alustaa sitä, joten tämä antaa minulle takaisin 265 00:14:00,000 --> 00:14:05,000 Tämä uusi opiskelija esine, ja olen tallentamalla tämän muuttujan nimeltä Alice. 266 00:14:05,000 --> 00:14:07,000 Mistä tuo luokka tuli? 267 00:14:07,000 --> 00:14:12,000 No, täällä vasemmalla puolella nämä ovat kaikki eri tiedostojen sisällä projektin. 268 00:14:12,000 --> 00:14:16,000 Voimme nähdä täällä olen Student.h ja Student.m. 269 00:14:16,000 --> 00:14:20,000 . H tiedostoa, muistan, on kun julistan kaikki asiat 270 00:14:20,000 --> 00:14:22,000 että on olemassa luokan sisällä. 271 00:14:22,000 --> 00:14:25,000 >> Katsotaanpa katsomaan sitä. 272 00:14:25,000 --> 00:14:29,000 Selvä, tässä meillä on tämä @ käyttöliittymä, ja tämä sanoo, että tästä tulee 273 00:14:29,000 --> 00:14:33,000 julistukset kaiken ovat olemassa sisällä minun luokassa. 274 00:14:33,000 --> 00:14:36,000 Sitten on kaksoispiste. Sitten on tämä NSObject juttu. 275 00:14:36,000 --> 00:14:40,000 Tämä kaksoispiste osoittaa, että perinnön vähän keskustelimme hieman aikaisemmin. 276 00:14:40,000 --> 00:14:43,000 Tämä kertoo kaiken NSObject voi tehdä 277 00:14:43,000 --> 00:14:46,000 jos NSObject tämä luokka kirjoittanut joku muu, 278 00:14:46,000 --> 00:14:50,000 kaikkea tätä NSObject voi tehdä haluan pystyä tekemään se. 279 00:14:50,000 --> 00:14:54,000 Sanomalla: NSObject se tarkoittaa, että olen periaatteessa 280 00:14:54,000 --> 00:14:58,000 perinyt kaikki toiminnot ja toisen luokan. 281 00:14:58,000 --> 00:15:02,000 Se todella antoi minulle läjän erilaisia ​​menetelmiä ja ominaisuuksia, että voin käyttää. 282 00:15:02,000 --> 00:15:05,000 Täällä Luon 2 kiinteistöä. 283 00:15:05,000 --> 00:15:08,000 Tämä tarkoittaa minun opiskelija, jos tämä olisi struct, nämä olisivat 2 asioita 284 00:15:08,000 --> 00:15:11,000 sisällä minun struct, joten jokainen opiskelija on nimi 285 00:15:11,000 --> 00:15:14,000 että on merkkijono, ja opiskelijan on myös laatu, 286 00:15:14,000 --> 00:15:17,000 joka on int. 287 00:15:17,000 --> 00:15:23,000 >> Lopuksi, täällä aion luoda menetelmä minun opiskelija. 288 00:15:23,000 --> 00:15:26,000 Kutsuin menetelmä, initWithName, ja se kestää yhden argumentin, 289 00:15:26,000 --> 00:15:31,000 ja tämä väite on merkkijono, ja kutsuin sitä nimeä. 290 00:15:31,000 --> 00:15:35,000 Nyt katsokaamme miten tosiasiallisesti täytäntöön tämän luokan. 291 00:15:35,000 --> 00:15:38,000 Tässä nyt olen sisällä minun. M-tiedosto, 292 00:15:38,000 --> 00:15:40,000 m täytäntöönpanoon, luulisin. 293 00:15:40,000 --> 00:15:44,000 Minulla on täytäntöönpanoa, minun pää, ja tässä kohtaa olen itse määritellä 294 00:15:44,000 --> 00:15:47,000 mitä initWithName tekee. 295 00:15:47,000 --> 00:15:50,000 Olen initWithName, nimi minun parametrin, ja sitten tämä 296 00:15:50,000 --> 00:15:53,000 Siellä olen itse luoda opiskelijan, 297 00:15:53,000 --> 00:15:56,000 ja niin tämä on hieman arvoituksellisesti, mutta tämä on tavallaan boilerplate 298 00:15:56,000 --> 00:15:58,000 jotka haluat sisällyttää rakentajille. 299 00:15:58,000 --> 00:16:02,000 Tämä alustus toiminto täällä, initWithName, on tyyppi rakentaja. 300 00:16:02,000 --> 00:16:05,000 Olet periaatteessa rakentaa uusi opiskelija esine 301 00:16:05,000 --> 00:16:07,000 ja ehkä lähettää joitakin tietoja sen sisälle. 302 00:16:07,000 --> 00:16:11,000 Ensimmäinen asia mitä haluan tehdä on haluan kutsua init tässä erittäin juttu. 303 00:16:11,000 --> 00:16:15,000 >> Muista, että kun sanoin takaisin täällä. H tiedosto 304 00:16:15,000 --> 00:16:21,000 että kaikki NSObject on opiskelija myös. 305 00:16:21,000 --> 00:16:24,000 Tämä tarkoittaa, kun luon opiskelija mitä minäkin tarvitsee tehdä on 306 00:16:24,000 --> 00:16:28,000 Varmista että NSObject että olen perinyt kaikki, että tiedot 307 00:16:28,000 --> 00:16:32,000 on myös alustettu oikein. 308 00:16:32,000 --> 00:16:36,000 Mitä minun täytyy sanoa tämä erittäin ylipäänsä viitata vanhemman luokan 309 00:16:36,000 --> 00:16:39,000 että olen periä päässä, joten haluan varmistaa minun alustaa 310 00:16:39,000 --> 00:16:43,000 kaiken olen riippuen ennen kuin alkaa yrittää käyttää sitä. 311 00:16:43,000 --> 00:16:46,000 Sitten jos alustettu oikein tämä on aivan kuin sanoisi, jos malloc 312 00:16:46,000 --> 00:16:50,000 ei palauta null voin aloittaa asettamalla joitakin ominaisuuksia. 313 00:16:50,000 --> 00:16:54,000 >> JavaScript ja PHP olimme tällä avainsanalla kutsui tätä, 314 00:16:54,000 --> 00:16:58,000 ja tämä viittasi nykyiseen esiintymä luokan. 315 00:16:58,000 --> 00:17:00,000 Objective-C kutsumme tätä itse. 316 00:17:00,000 --> 00:17:04,000 Kun sanon self.name, se tarkoittaa, että esine 317 00:17:04,000 --> 00:17:07,000 Olen juuri luonut kun sanoin opiskelija alloc init, 318 00:17:07,000 --> 00:17:09,000 että menee antamaan minulle takaisin esineen. 319 00:17:09,000 --> 00:17:12,000 Tämä tarkoittaa Haluan asettaa nimen että esine 320 00:17:12,000 --> 00:17:15,000 ja mitä olen juuri läpäissyt sisään 321 00:17:15,000 --> 00:17:18,000 Aivan kuten C meillä pääsy jäseniä tämän pisteen 322 00:17:18,000 --> 00:17:21,000 joten self.name kertoo opiskelijan nimi esineen 323 00:17:21,000 --> 00:17:24,000 nyt olemaan mitä juuri läpäissyt sisään 324 00:17:24,000 --> 00:17:28,000 Ja niin lopuksi voin palauttaa sen niin olen todella saada jotain takaisin. 325 00:17:28,000 --> 00:17:30,000 >> Kysymyksiä? 326 00:17:30,000 --> 00:17:34,000 Okei, joten tämä itsestään = erittäin init, 327 00:17:34,000 --> 00:17:37,000 Jos et täysin ymmärrä perintönä kamaa ei hätää. 328 00:17:37,000 --> 00:17:40,000 Vain tietäkää, että jos joskus haluat tehdä oman init menetelmä vain 329 00:17:40,000 --> 00:17:42,000 tehdä, ja sinun on hyvä mennä. 330 00:17:42,000 --> 00:17:44,000 Joo. >> [Opiskelija] Mitä jos itse tarkoittaa? 331 00:17:44,000 --> 00:17:49,000 Tämä tarkoittaa, kun me malloc me aina tarkistaa, jos se oli sama null, 332 00:17:49,000 --> 00:17:51,000 ja jos se oli nolla, sitten me poistutaan. 333 00:17:51,000 --> 00:17:55,000 Tämä on sama asia, sillä jos tämä palaa null, niin olemme luultavasti menossa segmenteille vika 334 00:17:55,000 --> 00:17:57,000 jos alamme yrittää manipuloida sitä. 335 00:17:57,000 --> 00:18:01,000 Se on meidän opiskelija luokassa. 336 00:18:01,000 --> 00:18:03,000 Tämä tarkoittaa, että voimme alustaa opiskelijoille kahdella eri tavalla. 337 00:18:03,000 --> 00:18:08,000 Jos sanon opiskelija alloc init en käytä tätä menetelmää, että minä vain kirjoitti, 338 00:18:08,000 --> 00:18:11,000 vaan voin yksinkertaisesti sanoa alice.name, 339 00:18:11,000 --> 00:18:14,000 ja nyt aion asettaa, että kiinteistön nimi. 340 00:18:14,000 --> 00:18:17,000 >> Samoin jos haluan käyttää tätä initWithName menetelmää 341 00:18:17,000 --> 00:18:20,000 Voin vain sanoa alloc, ja sitten kuin sanomalla init 342 00:18:20,000 --> 00:18:24,000 Aion soittaa että menetelmä, että olen juuri luonut, ja aion kulkea Bob. 343 00:18:24,000 --> 00:18:30,000 Tässä vaiheessa tämä tavoite Bob on nimi yhtä Bob. 344 00:18:30,000 --> 00:18:35,000 Okei, täällä olen käyttäen, että NSMutableArray että me katsoimme aikaisemmin. 345 00:18:35,000 --> 00:18:38,000 Olen jaettaessa space.Then Olen alustaa uuden taulukon. 346 00:18:38,000 --> 00:18:40,000 Aion lisätä 2 asioita sitä. 347 00:18:40,000 --> 00:18:43,000 Tämä joukko omistaa nyt opiskelija esineitä. 348 00:18:43,000 --> 00:18:46,000 Huomaa, että missään ei minun on sanottava tämä on joukko opiskelijoita. 349 00:18:46,000 --> 00:18:48,000 Sanoin se array, ajan. 350 00:18:48,000 --> 00:18:50,000 Sitten voi laittaa mitä sen sisällä että haluan. 351 00:18:50,000 --> 00:18:52,000 Täällä on 2 objekteja. 352 00:18:52,000 --> 00:18:56,000 >> Lopuksi, minulla on toinen kohde täällä, tämä TF. 353 00:18:56,000 --> 00:18:59,000 Yli täällä TF.h periaatteessa sama asia. 354 00:18:59,000 --> 00:19:01,000 Olen periä päässä NSObject, ja siten, 355 00:19:01,000 --> 00:19:03,000 Kun luot luokat tämä kaikki tapahtuu sinulle, 356 00:19:03,000 --> 00:19:06,000 tällainen liitäntä boilerplate. 357 00:19:06,000 --> 00:19:08,000 Se on ominaisuus opiskelijoita. 358 00:19:08,000 --> 00:19:15,000 Minulla on pari menetelminä, jotka eivät oikeastaan ​​tee paljon, 359 00:19:15,000 --> 00:19:18,000 ja niin se tarkoittaa kun olen luoda tätä TF objekti 360 00:19:18,000 --> 00:19:23,000 Voin soittaa tätä menetelmää palkkaluokan näin. 361 00:19:23,000 --> 00:19:26,000 Kysyttävää Objective-C syntaksi ennen kuin alkavat siirtyä hieman 362 00:19:26,000 --> 00:19:30,000 mielenkiintoinen apps kehitys kamaa? 363 00:19:30,000 --> 00:19:34,000 >> Okei, joten katsotaanpa itse tehdä iPhone. 364 00:19:34,000 --> 00:19:39,000 Ydin luokkaa, että voit käyttää sisällä iPhonen App kutsutaan näkymä ohjaimet, 365 00:19:39,000 --> 00:19:42,000 ja näkymä ohjain pohjimmiltaan edustaa yhdessä näytössä 366 00:19:42,000 --> 00:19:46,000 sisällä oman app, joten jos olen musiikin app, esimerkiksi 367 00:19:46,000 --> 00:19:50,000 Yhden näkemyksen ohjain voisi olla näkymä, jossa näen kaikki kappaleet minun iPhone. 368 00:19:50,000 --> 00:19:53,000 Toinen näkemys ohjain voisi olla kun klikkaa kappaletta ja ala soittaa sitä 369 00:19:53,000 --> 00:19:55,000 tai olen poraus alas taiteilijoita. 370 00:19:55,000 --> 00:19:59,000 Jokainen näistä eri näyttöjä voitaisiin edustettuina eri mieltä ohjain, 371 00:19:59,000 --> 00:20:04,000 ja näkymä ohjain on oikeastaan ​​vain luokka, joka kertoo kuinka tämä näyttö toimii. 372 00:20:04,000 --> 00:20:07,000 Asiat sisällä View Controller, aiomme olla ominaisuuksia, 373 00:20:07,000 --> 00:20:10,000 joten asioita, kuten painike tulee olemaan omaisuutta mielestämme ohjaimen. 374 00:20:10,000 --> 00:20:13,000 >> Olemme myös menossa on menetelmiä, ja nämä ovat pohjimmiltaan tapahtuman käsittelijät. 375 00:20:13,000 --> 00:20:16,000 Tämä menetelmä sanoo, kun painat tätä painiketta 376 00:20:16,000 --> 00:20:19,000 Haluan tehdä jotain, ja lopuksi jälleen 377 00:20:19,000 --> 00:20:24,000 aiomme käyttää tätä itse avainsanan käyttää nykyisen ilmentymän. 378 00:20:24,000 --> 00:20:29,000 Rakentaa rajapintoja iOS on oikeastaan ​​todella, todella helppoa. 379 00:20:29,000 --> 00:20:32,000 Heillä on mukava vedä ja pudota-käyttöliittymä nimeltään Interface Builder, 380 00:20:32,000 --> 00:20:37,000 ja 2 keskeiset käsitteet johto up your Objective-C Interface Builder 381 00:20:37,000 --> 00:20:40,000 ovat IBOutlet ja IBAction. 382 00:20:40,000 --> 00:20:44,000 IBOutlet yksinkertaisesti sanoo, että jos julistaa ominaisuus, joka on painike, 383 00:20:44,000 --> 00:20:47,000 ja haluat kytkeä se jopa jotain todellista UI, 384 00:20:47,000 --> 00:20:49,000 aiot sanoa se pistorasiaan. 385 00:20:49,000 --> 00:20:51,000 Samoin, jos haluat edustaa tapahtumakäsittelijän 386 00:20:51,000 --> 00:20:54,000 sitten aiot sanoa se kanteen. 387 00:20:54,000 --> 00:20:57,000 >> Todella johdottaa tämä graafinen esitys 388 00:20:57,000 --> 00:21:00,000 ja koodi on todella yksinkertaista. 389 00:21:00,000 --> 00:21:03,000 Jos haluat liittää IBOutlet, kaikki sinun tarvitsee vain voit hallita click, 390 00:21:03,000 --> 00:21:05,000 ja näemme esimerkin tästä todella nopeasti. 391 00:21:05,000 --> 00:21:07,000 Ohjaat Napsauta jossa sanotaan View Controller. 392 00:21:07,000 --> 00:21:09,000 Olet menossa vetää osaksi käyttöliittymän, tai päinvastoin, 393 00:21:09,000 --> 00:21:13,000 Jos haluat kytkeä tapahtumakäsittelijän aiot vetämällä käyttöliittymän 394 00:21:13,000 --> 00:21:15,000 toiseen suuntaan. 395 00:21:15,000 --> 00:21:20,000 Katsotaanpa katsomaan todella yksinkertainen iOS esimerkki. 396 00:21:20,000 --> 00:21:23,000 >> Luodaan uusi projekti. 397 00:21:23,000 --> 00:21:25,000 Aion tulla tänne Sovellus, 398 00:21:25,000 --> 00:21:28,000 ja aion valitse Single View Application. 399 00:21:28,000 --> 00:21:31,000 Aion klikkaa Next. Annan projektin nimi. 400 00:21:31,000 --> 00:21:33,000 Soitan sitä Hei. 401 00:21:33,000 --> 00:21:36,000 Kiinnostavaa, Apple luot tuote 402 00:21:36,000 --> 00:21:38,000 niin että voit myydä sen ja he voivat tehdä rahaa. 403 00:21:38,000 --> 00:21:41,000 Täällä aion sanoa, että tämä on iPhone. 404 00:21:41,000 --> 00:21:44,000 Voit luoda iPad, tai jos haluat luoda yksi niistä apps 405 00:21:44,000 --> 00:21:47,000 joka tukee molempien laitteiden voit tehdä senkin. 406 00:21:47,000 --> 00:21:49,000 Nämä ovat mitä haluat valintamerkit näyttää. 407 00:21:49,000 --> 00:21:51,000 >> Haluat käyttää kuvakäsikirjoituksia, jonka näemme myöhemmin, 408 00:21:51,000 --> 00:21:54,000 ja et varmasti halua käyttää automaattista viite laskenta, 409 00:21:54,000 --> 00:21:58,000 mikä on mukava ominaisuus, joka estää sinua saamasta sanoa malloc ja free. 410 00:21:58,000 --> 00:22:03,000 Ellet halua soittaa malloc ja free, jättäisin tämän kirjattua. 411 00:22:03,000 --> 00:22:07,000 Minä sitten seuraavaksi, ja lopuksi, tämä tulee kysyä minulta minne haluan tallentaa sen. 412 00:22:07,000 --> 00:22:14,000 Minä lyön luo, ja täällä mennään. 413 00:22:14,000 --> 00:22:16,000 Olen luonut uuden projektin. 414 00:22:16,000 --> 00:22:19,000 Tänne vasemmalle kaikki tiedostot, jotka ovat sisällä minun hankkeen 415 00:22:19,000 --> 00:22:22,000 ja huomaa, että sain koko joukko, ja en edes tee mitään. 416 00:22:22,000 --> 00:22:24,000 IOS on suuri. 417 00:22:24,000 --> 00:22:27,000 >> Esimerkiksi täällä ViewController.h, 418 00:22:27,000 --> 00:22:30,000 tämä tulee edustamaan minun ensimmäinen View Controller, 419 00:22:30,000 --> 00:22:32,000 joten ensimmäinen näytön sisällä minun app. 420 00:22:32,000 --> 00:22:34,000 Nyt tiedämme, mitä tämä sanoo. 421 00:22:34,000 --> 00:22:36,000 Me sanomme Soitan tämän luokan ViewController, 422 00:22:36,000 --> 00:22:40,000 ja ViewController tekee kaiken UIViewController tekee, 423 00:22:40,000 --> 00:22:43,000 ja tämä taas on joitakin luokka että Apple kirjoitti, että ei paljon kätevä tavaraa meille 424 00:22:43,000 --> 00:22:46,000 kuten näytön näkyviin. 425 00:22:46,000 --> 00:22:50,000 Tässä kohtaa voin todella alkaa määritellä mitä mielestäni ohjain ei, 426 00:22:50,000 --> 00:22:52,000 ja käy ilmi, että en todellakaan tarvitse tätä. 427 00:22:52,000 --> 00:22:55,000 Tämä on boilerplate koodia että Apple antaa minulle ilmaiseksi. 428 00:22:55,000 --> 00:22:59,000 Tein tarvitaan että ensimmäisellä rivillä, tai en ole luokkaa, 429 00:22:59,000 --> 00:23:02,000 jotta voimme päästä eroon ja päästä eroon tästä. 430 00:23:02,000 --> 00:23:05,000 Okei, joten tämä on minun tyhjä näyttö. 431 00:23:05,000 --> 00:23:08,000 >> Nyt klikkaa tästä MainStoryboard.storyboard, 432 00:23:08,000 --> 00:23:11,000 ja tästä se alkaa saada mielenkiintoisia. 433 00:23:11,000 --> 00:23:14,000 Tämä on ensimmäinen näyttö minun app. 434 00:23:14,000 --> 00:23:17,000 Jos haluan lisätä painikkeen, HTML jouduin luoda painikkeen tunnisteen. 435 00:23:17,000 --> 00:23:20,000 Android täytyy luoda painikkeen tunnisteen, 436 00:23:20,000 --> 00:23:23,000 mutta iOS jos olen juuri tullut tänne oikeaan alakulmaan 437 00:23:23,000 --> 00:23:27,000 ja jos minä klikkaa tästä 3rd yksi täällä, jossa sanotaan Objects, 438 00:23:27,000 --> 00:23:31,000 ja voin vierittää alaspäin, tai voin alkaa etsiä painiketta. 439 00:23:31,000 --> 00:23:35,000 Ja katso, nappi, joten jos olen itse vetää ja pudottaa tämän oikeassa, 440 00:23:35,000 --> 00:23:38,000 Olen juuri lisännyt painiketta tämän näytön minun app. 441 00:23:38,000 --> 00:23:41,000 Jos haluan muuttaa tekstiä, voin kaksoisnapsauta sitä, 442 00:23:41,000 --> 00:23:47,000 sanoa jotain Houkuttelemalla tyyliin "Paina minua." 443 00:23:47,000 --> 00:23:51,000 Okei, nyt jos juoksen tämän app, joten kääntää se, 444 00:23:51,000 --> 00:23:54,000 niin ajaa sitä en osoita toistopainiketta vasemmassa yläkulmassa, ja siellä minun app. 445 00:23:54,000 --> 00:23:58,000 En tee mitään, ja sain makea näköinen iPhone. 446 00:23:58,000 --> 00:24:01,000 Jos haluan lopettaa sen, voit napsauttaa pysäytyspainiketta 447 00:24:01,000 --> 00:24:03,000 koska se on hauskempaa. 448 00:24:03,000 --> 00:24:07,000 >> Sanotaan, että olen todella haluavat jotain tapahtuu kun painan tätä nappia. 449 00:24:07,000 --> 00:24:09,000 Voit tehdä, että mitä minun pitää tehdä, minun tarvitsee luoda 450 00:24:09,000 --> 00:24:13,000 uusi tapahtumakäsittely tai toimintaa. 451 00:24:13,000 --> 00:24:16,000 Tämä tarkoittaa, että minun täytyy luoda jotain menetelmää, jota haluan kutsua 452 00:24:16,000 --> 00:24:18,000 kun painan nappia, joten katsotaanpa luoda uuden menetelmän. 453 00:24:18,000 --> 00:24:20,000 Olen sisällä ViewController.h. 454 00:24:20,000 --> 00:24:22,000 Minun täytyy sanoa, että menetelmä on olemassa. 455 00:24:22,000 --> 00:24:26,000 Tarvitsen yhdysmerkin ensin, koska aion olla kutsumassa tämä näkymä ohjaimen. 456 00:24:26,000 --> 00:24:28,000 Minun täytyy antaa tämän tyyppinen. 457 00:24:28,000 --> 00:24:31,000 Tyyppi tämä tulee olemaan, että IBAction asia näimme aiemmin. 458 00:24:31,000 --> 00:24:35,000 Tämä on tapahtumakäsittelijän, joten se tulee palauttaa IBAction, 459 00:24:35,000 --> 00:24:38,000 ja tämä on vihje XCode sanoa, että 460 00:24:38,000 --> 00:24:40,000 tämä on jotain haluan lanka jotain. 461 00:24:40,000 --> 00:24:45,000 Voin antaa sille nimi, kuten buttonPressed, puolipiste. 462 00:24:45,000 --> 00:24:48,000 >> Nyt olen ilmoittanut uuden menetelmän sisällä oman luokkani. 463 00:24:48,000 --> 00:24:50,000 Olen sanonut tämän menetelmän on olemassa. 464 00:24:50,000 --> 00:24:53,000 Nyt tulevat ViewController.m, 465 00:24:53,000 --> 00:24:56,000 ja sanotaan mitä tämä menetelmä voi tehdä. 466 00:24:56,000 --> 00:25:03,000 Jos aloitan kirjoittamalla, esimerkiksi (void) buttonPressed 467 00:25:03,000 --> 00:25:06,000 ilmoitus Xcode on todella mukavaa ja autocompletes minulle. 468 00:25:06,000 --> 00:25:09,000 Se on todella hienoa. 469 00:25:09,000 --> 00:25:12,000 Huomaa tässä, että sisällä. Metrin tiedosto Voin myös sanoa mitätön, 470 00:25:12,000 --> 00:25:15,000 ja tämä johtuu siitä, että IBAction ei ole todellisuudessa tyyppiä. 471 00:25:15,000 --> 00:25:19,000 Se on oikeastaan ​​hashtag määritelty jossain olla mitätön, 472 00:25:19,000 --> 00:25:22,000 ja taas, tämä on vain vihje XCode joka sanoo 473 00:25:22,000 --> 00:25:25,000 Haluan tämän olla tapahtumakäsittelijän, ja näemme, miksi vain toinen. 474 00:25:25,000 --> 00:25:28,000 Kun tätä painiketta painetaan aion tehdä jotain ärsyttävää 475 00:25:28,000 --> 00:25:30,000 kuten näyttää popup. 476 00:25:30,000 --> 00:25:35,000 >> Voit tehdä, että voin luoda uuden esiintymän tämän luokan nimeltä UIAlertView, 477 00:25:35,000 --> 00:25:39,000 ja tämä on luokka, että Apple kirjoitti, että on menossa näyttämään ärsyttäviä ponnahdusikkunoita. 478 00:25:39,000 --> 00:25:43,000 Me kutsumme tätä popup hälytys, ja minulla on 2 askeleen, muista, luomaan tämän esineen. 479 00:25:43,000 --> 00:25:46,000 Ensimmäinen asia mitä tarvitsee tehdä on jakaa tilaa. 480 00:25:46,000 --> 00:25:48,000 Haluan UIAlertView. 481 00:25:48,000 --> 00:25:51,000 Haluan jakaa tilaa. Se on minun ensimmäinen menetelmä. 482 00:25:51,000 --> 00:25:53,000 Minun seuraava menetelmä on haluan alustaa sitä, 483 00:25:53,000 --> 00:25:58,000 joten olen näin iso, pitkä menetelmää kutsutaan initWithTitle. 484 00:25:58,000 --> 00:26:01,000 Se on pohjimmiltaan tulee valvoa, mitä tämä popup sanoo. 485 00:26:01,000 --> 00:26:04,000 Otsikko minun popup voi olla hei. 486 00:26:04,000 --> 00:26:08,000 Viestin tämän ikkunan voi olla "Tämä on iOS." 487 00:26:08,000 --> 00:26:10,000 Delegate juttu, en tiedä mikä se on. 488 00:26:10,000 --> 00:26:13,000 Sanotaan se mitään. 489 00:26:13,000 --> 00:26:18,000 Nyt painiketta, joka tulee näkyviin voi sanoa jotain tyyliin "Se varmasti on" 490 00:26:18,000 --> 00:26:24,000 enkä todellakaan halua mitään muita painikkeita, joten katsotaanpa poistaa tämä ja sulje kiinnike. 491 00:26:24,000 --> 00:26:27,000 >> Okei, olen luonut ylimääräistä yksi. Siellä mennään. 492 00:26:27,000 --> 00:26:30,000 Näin voin luoda uuden popup. 493 00:26:30,000 --> 00:26:35,000 Jos haluan todella näyttää popup haluan soittaa Show menetelmällä. 494 00:26:35,000 --> 00:26:38,000 Voit tehdä, että voin sanoa hälytyksen ja osoittavat, 495 00:26:38,000 --> 00:26:40,000 ja taas, Automaattinen täydennys oli super nice. 496 00:26:40,000 --> 00:26:42,000 Jos unohdin mitä se oli, jos olen vain kirjoitettu s, 497 00:26:42,000 --> 00:26:45,000 Voin selata täällä selvittää, mitä se oli, 498 00:26:45,000 --> 00:26:48,000 ja se suodattaa hienosti. 499 00:26:48,000 --> 00:26:52,000 Nyt olen luonut tämän uuden popup. 500 00:26:52,000 --> 00:26:55,000 Palaamme siihen, mitä valtuutettu tarkoittaa myöhemmin, 501 00:26:55,000 --> 00:26:58,000 ja nyt haluan sanoa Haluan tämän menetelmän potkut 502 00:26:58,000 --> 00:27:01,000 kun painan nappia, niin aion tulla takaisin minun kuvakäsikirjoituksen, 503 00:27:01,000 --> 00:27:04,000 ja haluan nyt kiinnittää tähän IBAction. 504 00:27:04,000 --> 00:27:06,000 Ensimmäinen asia, jonka haluat tehdä, on painiketta. 505 00:27:06,000 --> 00:27:08,000 Kun painan tätä nappia haluan jotain tapahtuvan. 506 00:27:08,000 --> 00:27:10,000 En aio pidä valvontaa. 507 00:27:10,000 --> 00:27:13,000 Aion napsauttamalla ja vetämällä painikkeen 508 00:27:13,000 --> 00:27:15,000 yli tänne jossa lukee View Controller. 509 00:27:15,000 --> 00:27:17,000 Voimme nähdä, että hienosti syttyy. 510 00:27:17,000 --> 00:27:22,000 >> Jos annan mennä minun hiiri minä nyt tätä ponnahdusikkuna täällä missä minulla on joitakin vaihtoehtoja. 511 00:27:22,000 --> 00:27:24,000 Yksi näistä on tapahtumia, että voin rekisteröityä. 512 00:27:24,000 --> 00:27:28,000 Nämä ovat kaikki nämä menetelmät I julisti minun h tiedoston IBActions. 513 00:27:28,000 --> 00:27:31,000 Näin XCode tietää, mitä pitäisi näkyä tässä pieni luettelo, 514 00:27:31,000 --> 00:27:33,000 niin että on vain vihje. 515 00:27:33,000 --> 00:27:37,000 Jos minä klikkaa painiketta painetaan, olen nyt rekisteröitynyt tapahtumakäsittelijän. 516 00:27:37,000 --> 00:27:41,000 JavaScript jouduimme sanoa joitakin koodin että rekisteröidyt tapahtumakäsittelijän. 517 00:27:41,000 --> 00:27:43,000 Objective-C oli todella niin helppoa. 518 00:27:43,000 --> 00:27:46,000 Jos minä suorittaa tämän uudelleen 519 00:27:46,000 --> 00:27:49,000 Nyt kun painan nappia minun tapahtumakäsittely on menossa ampumaan, 520 00:27:49,000 --> 00:27:51,000 ja aion saada tämän ikkunan. 521 00:27:51,000 --> 00:27:54,000 Super, super yksinkertainen siellä. 522 00:27:54,000 --> 00:27:57,000 >> Jos joskus haluat nähdä kaikki tapahtumat, jotka sattuvat rekisteröidään 523 00:27:57,000 --> 00:28:00,000 on komponentti, jos en klikkaa tätä painiketta 524 00:28:00,000 --> 00:28:02,000 ja tulen tänne oikealle puolelle 525 00:28:02,000 --> 00:28:05,000 Ensin voit nähdä täällä voin tehdä asioita, kuten tyypin painiketta, 526 00:28:05,000 --> 00:28:08,000 joten jos haluat yhden niistä I: n tai Lisää yhteystieto painiketta 527 00:28:08,000 --> 00:28:10,000 tai mitä tahansa. 528 00:28:10,000 --> 00:28:13,000 Jos haluan nähdä kaikki tapahtumat, jotka ovat tällä painikkeella 529 00:28:13,000 --> 00:28:16,000 jos tulen aina tänne oikealle puolelle 530 00:28:16,000 --> 00:28:19,000 näemme täällä tapahtumissa minulla on kaikki nämä eri tapahtumissa. 531 00:28:19,000 --> 00:28:23,000 Voin painaa nappia, kun päästää painikkeen, kun kaksoiskoskettamalla tai mitä tahansa, 532 00:28:23,000 --> 00:28:26,000 ja yksi juuri rekisteröitynyt tämä tapahtuma nimeltä Touch Up Inside, 533 00:28:26,000 --> 00:28:29,000 ja tämä sanoo, että niin pian kuin minun sormi irtoaa painiketta 534 00:28:29,000 --> 00:28:32,000 Tällöin tulee tulta, ja se on juuri mitä juuri tapahtui. 535 00:28:32,000 --> 00:28:36,000 Tämä on tavallaan oletuksena painettuna tapahtuma. 536 00:28:36,000 --> 00:28:39,000 >> Kaikki kysymykset tähän mennessä? 537 00:28:39,000 --> 00:28:43,000 Okei, miten voimme alkaa johdottaa asioita meidän koodi 538 00:28:43,000 --> 00:28:46,000 osaksi asioita sisällä meidän käyttöliittymän. 539 00:28:46,000 --> 00:28:49,000 Muista Ensiksi meidän täytyi vain löytää koodin, 540 00:28:49,000 --> 00:28:54,000 ja sitten me läpiladottava käyttöliittymän koodin, 541 00:28:54,000 --> 00:28:57,000 ja siellä on ensimmäinen sovellus. 542 00:28:57,000 --> 00:29:00,000 Okei, se oli todella siistiä, ja loimme tätä painiketta. 543 00:29:00,000 --> 00:29:03,000 Mitä jos emme halua olla luoda joukko ominaisuuksia 544 00:29:03,000 --> 00:29:05,000 edustaa näitä painikkeita? 545 00:29:05,000 --> 00:29:08,000 Esimerkiksi Tic Tac Toe Olen 9 napit, 546 00:29:08,000 --> 00:29:11,000 ja se olis super, super ärsyttävää on vetää ja pudottaa 9 kertaa 547 00:29:11,000 --> 00:29:14,000 tai jos jouduin tekemään Tic Tac Toe kanssa 81 eikä 9 548 00:29:14,000 --> 00:29:17,000 ja minun täytyi vetää ja pudottaa 81 kertaa, ja se on ontuva. 549 00:29:17,000 --> 00:29:20,000 Mitä me voimme tehdä sen sijaan on paljon, kuten HTML 550 00:29:20,000 --> 00:29:23,000 kun meillä oli asioita, kuten tunnukset ja nimet, ja voimme etsiä asioita 551 00:29:23,000 --> 00:29:27,000 niiden ID, siellä samanlainen käsite iOS nimeltään tageja. 552 00:29:27,000 --> 00:29:31,000 >> Tunniste on yksinkertaisesti yksilöllisen numeerisen tunnisteen komponentin. 553 00:29:31,000 --> 00:29:34,000 Jos Sanon tämän on tunnistetta 0 mm 554 00:29:34,000 --> 00:29:38,000 jos luon-painiketta ja anna se tag 0, ja näemme miten tehdä, että vain toinen, 555 00:29:38,000 --> 00:29:41,000 jos haluan saada että painikkeen voin vain sanoa haluan soittaa 556 00:29:41,000 --> 00:29:45,000 viewWithTag menetelmää kohteen tänne, 557 00:29:45,000 --> 00:29:48,000 self.view, joka edustaa nykyisen näytön, esimerkiksi. 558 00:29:48,000 --> 00:29:53,000 Jos pyydän että viewWithTag menetelmä, aion vetäytyä painiketta tag 0. 559 00:29:53,000 --> 00:29:58,000 Katsotaanpa katsomaan tätä rakennusta Tic Tac Toe. 560 00:29:58,000 --> 00:30:01,000 Ensinnäkin, tämä on minun kuvakäsikirjoituksen. 561 00:30:01,000 --> 00:30:05,000 Olen luonut nämä 10 UI painikkeita. 562 00:30:05,000 --> 00:30:07,000 Huomaa ne ovat kaikki samaa kokoa. 563 00:30:07,000 --> 00:30:11,000 Jos painan yksi näistä ja tulen takaisin tänne tällä oikealla puolella 564 00:30:11,000 --> 00:30:15,000 näet minun muuttaa fontin täällä, joten tein font hieman isompi, 565 00:30:15,000 --> 00:30:19,000 mutta mitä tein myös minä olin asettaa tämän tunnisteen. 566 00:30:19,000 --> 00:30:23,000 Sanoin, että tämä on tagi 1, ja se on ylhäällä vasemmalla. 567 00:30:23,000 --> 00:30:26,000 >> Nyt, jos painan toista nappia, kuten tämä toinen täällä, 568 00:30:26,000 --> 00:30:29,000 Nyt huomaat, että minun tag on 2. 569 00:30:29,000 --> 00:30:32,000 Jokainen näistä painikkeista vain on ainutlaatuinen tunniste, 570 00:30:32,000 --> 00:30:35,000 joten tämä on myöhemmin miten aion aloittaa vuorovaikutuksessa 571 00:30:35,000 --> 00:30:38,000 minun app. 572 00:30:38,000 --> 00:30:40,000 Tämä kaikki on sisällä yksi näkymä ohjain, 573 00:30:40,000 --> 00:30:42,000 mutta tässä on mitä meillä on. 574 00:30:42,000 --> 00:30:44,000 Meillä on 3 ominaisuuksia täällä. 575 00:30:44,000 --> 00:30:49,000 Ensimmäinen ja viimeinen ovat menossa edustaa tilaa minun aluksella. 576 00:30:49,000 --> 00:30:53,000 Pohjimmiltaan tämä ensimmäinen on matriisi edustaa joissa XS ja Os ovat. 577 00:30:53,000 --> 00:30:57,000 Tämä toinen täällä kertoo kenen vuoro on. 578 00:30:57,000 --> 00:31:01,000 Huomaat, että minulla on myös näitä asioita täällä. 579 00:31:01,000 --> 00:31:05,000 Ennen kun ilmoitetut ominaisuutensa annoimme heille nimen ja tyypin. 580 00:31:05,000 --> 00:31:08,000 Voimme myös antaa heille joitakin lisätietoja täältä. 581 00:31:08,000 --> 00:31:11,000 Tämä ensimmäinen sanoo nonatomic, ja mitä tämä sanoo 582 00:31:11,000 --> 00:31:16,000 on pohjimmiltaan vain yksi asia koskaan yrittää käyttää tätä muuttujaa kerrallaan. 583 00:31:16,000 --> 00:31:19,000 Voisit tehdä monimutkaisempia sovelluksia ovat monisäikeinen, 584 00:31:19,000 --> 00:31:22,000 ja niin takaisin Scratch meillä oli eri kierteet, 585 00:31:22,000 --> 00:31:25,000 ja eri sprites voisi tehdä eri asioita samaan aikaan. 586 00:31:25,000 --> 00:31:29,000 >> Jos se ei ole asia, jota se ei ole mitään, että me tarkastelemme, 587 00:31:29,000 --> 00:31:33,000 jos sanomme nonatomic se todella aikoo tehdä asioita hieman nopeammin. 588 00:31:33,000 --> 00:31:37,000 Meillä on myös tämä asia sanottu luovuttaa, vahva tai heikko. 589 00:31:37,000 --> 00:31:40,000 Tämä osoittaa vain sanoo, että tämä on tavallinen tyyppi. 590 00:31:40,000 --> 00:31:43,000 Tämä ei ole esine tai osoitin, koska tämä on vain bool, 591 00:31:43,000 --> 00:31:46,000 joten bool on rakennettu Objective-C. 592 00:31:46,000 --> 00:31:49,000 Tämä kertoo älä yritä tehdä mitään fancy osoittimet täällä. 593 00:31:49,000 --> 00:31:51,000 Se on tavallinen vanha skaalain. 594 00:31:51,000 --> 00:31:54,000 Vahva ja heikko, tämä heikko kertoo, että todellisuudessa 595 00:31:54,000 --> 00:31:57,000 Haluan tämän voidaan osoittaa jotain mieltä ohjaimen. 596 00:31:57,000 --> 00:32:00,000 En aio itse jakaa tai init tämän itselleni. 597 00:32:00,000 --> 00:32:04,000 Interface Builder, kun ajaa app, tulee hoitaa kaiken alustusta. 598 00:32:04,000 --> 00:32:07,000 Jos sanon heikko, että sanoo joku aiotaan luoda tähän. 599 00:32:07,000 --> 00:32:09,000 Jos sanon vahva, tämä sanoo, että aion olla yksi 600 00:32:09,000 --> 00:32:12,000 joka on luomassa board esine, 601 00:32:12,000 --> 00:32:14,000 joten tässä olen hieman menetelmänä, 602 00:32:14,000 --> 00:32:18,000 esimerkiksi kanteen, kun uusi peli-painiketta painetaan, 603 00:32:18,000 --> 00:32:20,000 kanteen, kun jokin muista painikkeista painetaan, 604 00:32:20,000 --> 00:32:23,000 ja jne.. 605 00:32:23,000 --> 00:32:26,000 >> Emme pääse liikaa logiikkaa Tic Tac Toe, 606 00:32:26,000 --> 00:32:30,000 vaikka se on hyvin jännittävää, mutta katsotaanpa katsomaan 607 00:32:30,000 --> 00:32:33,000 joitakin asioita, joita voimme tehdä sisällä iOS. 608 00:32:33,000 --> 00:32:35,000 Tämän uuden pelin menetelmä potkut 609 00:32:35,000 --> 00:32:37,000 kun painan uusi peli painiketta. 610 00:32:37,000 --> 00:32:41,000 Kytkeä että jopa minä yksinkertaisesti tulla minun kuvakäsikirjoituksen. 611 00:32:41,000 --> 00:32:43,000 I napsautti uuden pelin. 612 00:32:43,000 --> 00:32:47,000 Jos tulen tänne oikeaan näen että 613 00:32:47,000 --> 00:32:50,000 Kosketa Up Inside on kytketty newGame menetelmällä. 614 00:32:50,000 --> 00:32:53,000 Siksi tämä on menossa potkut. 615 00:32:53,000 --> 00:32:56,000 NewGame menetelmä aikoo tehdä joitakin perustaa. 616 00:32:56,000 --> 00:32:59,000 Se tulee sanoa Haluan sinun tyhjentää tilaa aluksella. 617 00:32:59,000 --> 00:33:01,000 Tämä on mukava tapa on epävakainen taulukot. 618 00:33:01,000 --> 00:33:03,000 Tämä tulee sanoa se nyt X puolestaan 619 00:33:03,000 --> 00:33:07,000 ja nyt aion hyödyntää tätä viewWithTag juttu. 620 00:33:07,000 --> 00:33:11,000 >> Tiedän, että minun painikkeilla on tunnisteet 1-9, 621 00:33:11,000 --> 00:33:13,000 ja se on jotain mielivaltaisesti poimittuja. 622 00:33:13,000 --> 00:33:15,000 Jos haluan asettaa tekstin jokaisesta painikkeesta tyhjä 623 00:33:15,000 --> 00:33:17,000 koska olen juuri aloittanut uuden pelin, ja en halua mitään 624 00:33:17,000 --> 00:33:20,000 Xs tai Os jättää yli pystynkö tähän. 625 00:33:20,000 --> 00:33:24,000 Voin sanoa haluan mieltä tagilla, 1, 2, 3, 4 jne.. 626 00:33:24,000 --> 00:33:27,000 Tämä vetää erilaista nappia joka kerta. 627 00:33:27,000 --> 00:33:30,000 Täällä aion heittää sen UIButton. 628 00:33:30,000 --> 00:33:33,000 Aivan kuten voisimme heittää ints on kellukkeet ja päinvastoin 629 00:33:33,000 --> 00:33:37,000 Tämä sanoo, että haluan heittää tämän UIButton. 630 00:33:37,000 --> 00:33:40,000 Tämä tarkoittaa, että tyypin tämä on UIButton * 631 00:33:40,000 --> 00:33:43,000 koska osoittimia, mutta älä huoli, he eivät pelottavia enää. 632 00:33:43,000 --> 00:33:47,000 >> Kun olen tätä painiketta aion kutsua menetelmää sen. 633 00:33:47,000 --> 00:33:50,000 Tätä menetelmää kutsutaan setTitle forState, ja niin tämä kertoo 634 00:33:50,000 --> 00:33:53,000 Haluan asettaa tekstin painikkeen olla tyhjä merkkijono, 635 00:33:53,000 --> 00:33:57,000 ja haluan sen olevan tyhjä merkkijono, jos se ei paineta. 636 00:33:57,000 --> 00:34:01,000 Jos olen tällä menetelmällä, voin vaihtaa tekstin painikkeen 637 00:34:01,000 --> 00:34:04,000 heti kun joku osuu siihen, mutta haluamme sanoa, kun painike on vain istuu siellä 638 00:34:04,000 --> 00:34:07,000 Haluan tekstin olevan tyhjä. 639 00:34:07,000 --> 00:34:10,000 Lopuksi, me aiomme alustaa minun aluksella, 640 00:34:10,000 --> 00:34:12,000 ja aion sanoa, että kaikki on tällä hetkellä 0, 641 00:34:12,000 --> 00:34:15,000 joten hallituksen jäsenet muuttumaton on vaihteleva joukko, 642 00:34:15,000 --> 00:34:21,000 mikä tarkoittaa, että voin soittaa addObject menetelmä ja vain 0 sisälle. 643 00:34:21,000 --> 00:34:23,000 Se mitä tapahtuu, kun luon uuden pelin. 644 00:34:23,000 --> 00:34:25,000 >> Katsotaanpa katsomaan toiseen. 645 00:34:25,000 --> 00:34:28,000 Tämä menetelmä tässä on IBAction joka tulee painaa 646 00:34:28,000 --> 00:34:31,000 aina yksi niistä neliöt painetaan. 647 00:34:31,000 --> 00:34:33,000 Nyt meillä on Tic Tac Toe logiikkaa täällä. 648 00:34:33,000 --> 00:34:36,000 Me selvittää, kenen vuoro on, 649 00:34:36,000 --> 00:34:39,000 ja perustuu siihen, että me joko asettaa X-tai O, 650 00:34:39,000 --> 00:34:43,000 mutta huomaa että olemme uudelleenkäyttö saman tapahtumakäsittelijää 651 00:34:43,000 --> 00:34:45,000 joka ikinen yksi niistä painikkeilla. 652 00:34:45,000 --> 00:34:49,000 Tämä tarkoittaa sitä, että minulla ei ole menetelmää vasemmassa yläkulmassa painike, 653 00:34:49,000 --> 00:34:52,000 eri tapaa alhaalla oikealla painikkeella, vaikka olisin voinut tehdä sitä. 654 00:34:52,000 --> 00:34:54,000 Se ei todellakaan olisi hyvä suunnittelu. 655 00:34:54,000 --> 00:34:57,000 Mitä teen tässä olen todella menossa määrittää 656 00:34:57,000 --> 00:35:00,000 mitä tag painiketta, joka painettiin on. 657 00:35:00,000 --> 00:35:04,000 Huomaat, että tämä näytelmä menetelmä ottaa yhden argumentin. 658 00:35:04,000 --> 00:35:07,000 Sitä kutsutaan lähettäjän ja mitä lähettäjä on on lähettäjän tulee 659 00:35:07,000 --> 00:35:10,000 edustavat mitä oli ryhtynyt toimiin heti. 660 00:35:10,000 --> 00:35:15,000 Jos painan nappia, tämä lähettäjän tulee olla, että UIButton 661 00:35:15,000 --> 00:35:18,000 että olen itse puristettu, niin se tarkoittaa, että UIButton 662 00:35:18,000 --> 00:35:20,000 on tag koska olen luonut tunnisteen. 663 00:35:20,000 --> 00:35:23,000 >> Jos haluan saada at tag voin yksinkertaisesti sanoa 664 00:35:23,000 --> 00:35:26,000 Haluan tunnistetta lähettäjän, 665 00:35:26,000 --> 00:35:28,000 ja taas, olen juuri valettu sen UIButton. 666 00:35:28,000 --> 00:35:32,000 Satun tietämään, että lähettäjä on UIButton. 667 00:35:32,000 --> 00:35:34,000 Se ei aina tarvitse olla UIButton. 668 00:35:34,000 --> 00:35:36,000 Voisin esimerkiksi rekisteröidä saman tapahtumakäsittelijän 669 00:35:36,000 --> 00:35:38,000  ja yksi painike, yksi liukusäädintä. 670 00:35:38,000 --> 00:35:40,000 Tässä tapauksessa tiedän ne kaikki painikkeet, joten aion sanoa 671 00:35:40,000 --> 00:35:43,000 Haluan tämän olevan painiketta ja sitten saan tag, 672 00:35:43,000 --> 00:35:48,000 ja tag nyt tiedän missä olen sisällä aluksella. 673 00:35:48,000 --> 00:35:51,000 Sitten voi yksinkertaisesti asettaa joko X tai O, voi kääntää puolestaan 674 00:35:51,000 --> 00:35:54,000 tarkistaa, kuka on voittanut, jne.. 675 00:35:54,000 --> 00:35:59,000 >> Kysyttävää tästä toistaiseksi? 676 00:35:59,000 --> 00:36:02,000 Okei, kaikki koodi me lähetetty verkossa-emme halua päästä liikaa 677 00:36:02,000 --> 00:36:06,000 on Tic Tac Toe logiikkaa, mutta nyt voit nähdä, että todella 678 00:36:06,000 --> 00:36:09,000 Kaikki me teemme on me looping tänä array, 679 00:36:09,000 --> 00:36:13,000 joten meillä on pari silmukoita täällä, ja me vain vertaamalla nähdä 680 00:36:13,000 --> 00:36:18,000 meillä ottelun kaikki rivit, ottelu sarakkeen tai mitään sellaista. 681 00:36:18,000 --> 00:36:21,000 Todella ajaa tätä app, jos painat jotakin näistä painikkeista 682 00:36:21,000 --> 00:36:24,000 että näytelmä menetelmä oli ammuttu, niin se tarkoittaa, että olen vain asettaa 683 00:36:24,000 --> 00:36:31,000 painiketta on X, joten nyt tätä painiketta on O, ja niin edelleen, 684 00:36:31,000 --> 00:36:35,000 ja niin se miten olemme alkaneet vuorovaikutuksessa tämän yhden sivun sovellus. 685 00:36:35,000 --> 00:36:38,000 >> Lähetämme koodin, joten voit tutkia, että 686 00:36:38,000 --> 00:36:43,000 mutta katsotaanpa nyt puhua joitakin apps, jotka ovat enemmän kuin vain yhden sivun. 687 00:36:43,000 --> 00:36:47,000 Niin jännittävä kuin Tic Tac Toe oli paljon apps sisällä iOS 688 00:36:47,000 --> 00:36:50,000 ovat tavallaan nämä porautua asioita useita näyttöjä. 689 00:36:50,000 --> 00:36:54,000 Ensimmäinen ajatus, että meidän täytyy puhua ovat protokollia, 690 00:36:54,000 --> 00:36:57,000 ja protokolla on yksinkertaisesti joukko menetelmiä 691 00:36:57,000 --> 00:36:59,000 että voit luvata määritellä. 692 00:36:59,000 --> 00:37:02,000 Jos luon uuden pöytäkirjan kanssa 2 menetelmin, tämä ensimmäinen, 693 00:37:02,000 --> 00:37:05,000 jos paluu tyyppi on mitätön, kutsuin sitä foo. 694 00:37:05,000 --> 00:37:07,000 Siinä ei argumentteja. Minulla on toinen tapa. 695 00:37:07,000 --> 00:37:11,000 Se palauttaa int. Kutsuin sitä estää, ja se kestää yhden argumentin. 696 00:37:11,000 --> 00:37:14,000 Kaikki tämä protokolla on, että kutsutaan SomeProtocol täällä, 697 00:37:14,000 --> 00:37:19,000 Tämä on joukko asioita, joita joku voi toteuttaa. 698 00:37:19,000 --> 00:37:22,000 En ole sisälle tämän pöytäkirjan sanoi mitä foo tekee. 699 00:37:22,000 --> 00:37:26,000 Sen sijaan sanon vain voisitte määritellä foo jos haluat. 700 00:37:26,000 --> 00:37:30,000 Jos Luon View Controller tai luoda luokka 701 00:37:30,000 --> 00:37:33,000 Voin sisällä tämän luokan lupaus toteuttaa 702 00:37:33,000 --> 00:37:40,000 jotkut näistä menetelmistä, joten jos esimerkiksi sanoa 703 00:37:40,000 --> 00:37:43,000 Tämän nyt sanoo Teen lupauksen, että sisällä 704 00:37:43,000 --> 00:37:50,000 Tämän näkemyksen ohjaimen luokan joudun määritelmät sekä foo ja bar. 705 00:37:50,000 --> 00:37:52,000 >> Miksi se hyödyllistä? 706 00:37:52,000 --> 00:37:55,000 Paljon osien sisällä iOS hyödyntää tätä 707 00:37:55,000 --> 00:37:58,000 suunnittelumalli kutsutaan valtuuskunta, ja mitä valtuuskunta sanoo 708 00:37:58,000 --> 00:38:01,000 on, että esimerkiksi, jos minulla tekstikenttään 709 00:38:01,000 --> 00:38:04,000 ja joitakin tapahtumia, jotka voitaisiin rekisteröidä sisällä minun tekstiruutuun 710 00:38:04,000 --> 00:38:07,000 kuin luoda erillisiä tapahtumia, mitä voin tehdä, on voin sanoa 711 00:38:07,000 --> 00:38:10,000 edustaja tämän tekstikenttään tulee jonkun esineen. 712 00:38:10,000 --> 00:38:13,000 Kun sanon, että tämä on edustaja nyt se tarkoittaa, että 713 00:38:13,000 --> 00:38:16,000 kun jokin tapahtuma olisi ammuttu tekstikenttään 714 00:38:16,000 --> 00:38:18,000 eikä sen rekisteröinti tai jotain sellaista 715 00:38:18,000 --> 00:38:21,000 se vain tulee kutsua menetelmää edustaja. 716 00:38:21,000 --> 00:38:24,000 Esimerkiksi sisällä minun tekstikenttään olen menetelmä, kun painan 717 00:38:24,000 --> 00:38:27,000 että tehdään painiketta oikeassa alakulmassa, 718 00:38:27,000 --> 00:38:30,000 ja niin kuin rekisteröitymättä tapahtumakäsittelijä mitä voin sanoa on 719 00:38:30,000 --> 00:38:34,000 tekstikenttään, tässä on objekti, haluan sinun soittaa menetelmää 720 00:38:34,000 --> 00:38:37,000 aina joku painaa valmis-painiketta, 721 00:38:37,000 --> 00:38:40,000 ja se tarkoittaa, että kohde on toteuttaa joitakin protokollan 722 00:38:40,000 --> 00:38:45,000 joka sanoo Lupaan määrittää, että tehtävä-painiketta toiminta, 723 00:38:45,000 --> 00:38:47,000 koska jos se ei määrittele, että menetelmä ja painat Valmis, 724 00:38:47,000 --> 00:38:49,000 niin se tulee olemaan sekava. 725 00:38:49,000 --> 00:38:55,000 >> Katsotaanpa katsomaan esimerkki. 726 00:38:55,000 --> 00:38:58,000 Tässä olen vain yksi tekstiruutuun 727 00:38:58,000 --> 00:39:04,000 ja yksi ominaisuuksista tekstikenttään tänne tällä oikealla puolella on edustaja. 728 00:39:04,000 --> 00:39:06,000 Tämä on luokan ominaisuus. 729 00:39:06,000 --> 00:39:09,000 Mitä tein tässä on minun kontrolloida napsautetaan, ja raahasin tämän paikan tänne 730 00:39:09,000 --> 00:39:13,000 sen mielestä ohjain, ja joka sanoo nyt edustaja tämän tekstikenttään 731 00:39:13,000 --> 00:39:18,000 tulee olemaan näkymän ohjain. 732 00:39:18,000 --> 00:39:20,000 Tämä tarkoittaa sitä, että kun jotkut toimia tapahtuu sen sijaan, että rekisteröitymättä 733 00:39:20,000 --> 00:39:25,000 erillinen tapahtumakäsittelijät haluan sinun lähettää ne edustajalle. 734 00:39:25,000 --> 00:39:28,000 Nyt katsomaan mielestäni ohjain. 735 00:39:28,000 --> 00:39:32,000 Sisällä. H tiedosto Olen tehnyt lupauksen. 736 00:39:32,000 --> 00:39:36,000 Olen luvannut toteuttaa joitakin menetelmiä sisällä tämän pöytäkirjan 737 00:39:36,000 --> 00:39:38,000 kutsutaan UITextFieldDelegate, ja jälleen, 738 00:39:38,000 --> 00:39:42,000 tämä on vain joitakin lista asioita, joita en voi halutessaan panna täytäntöön. 739 00:39:42,000 --> 00:39:46,000 >> Jos tulen tänne minun. M-tiedosto, olen toteuttanut yhden tällaisen menetelmän. 740 00:39:46,000 --> 00:39:49,000 Olen kutsunut sitä textFieldShouldReturn 741 00:39:49,000 --> 00:39:52,000 koska sitähän se oli nimeltään sisällä protokollaa. 742 00:39:52,000 --> 00:39:57,000 Ja nyt kun painan painiketta Valmis sisällä että tekstikentän 743 00:39:57,000 --> 00:40:00,000 Tämä on mitä menossa nimeltä, joten en rekisteröidä tapahtumakäsittelijän. 744 00:40:00,000 --> 00:40:03,000 Olen liittänyt edustaja, ja kun tämä tapahtuma on ammuttu 745 00:40:03,000 --> 00:40:08,000 Tämä on menetelmä, että saavat kutsutaan, joten jos tulen tänne minun kuvakäsikirjoituksen ja suorita se- 746 00:40:08,000 --> 00:40:11,000 Vaikka se latautuu voimme nähdä, mitä tämä tekee. 747 00:40:11,000 --> 00:40:13,000 Minun näytöllä olen 2 asioita. 748 00:40:13,000 --> 00:40:16,000 Olen tämän tekstikenttään ja minulla on tämä etiketti. 749 00:40:16,000 --> 00:40:19,000 En yksinkertaisesti sanomalla haluan tekstin tämän merkinnän 750 00:40:19,000 --> 00:40:23,000 on yhtä suuri kuin mitä käyttäjän kirjoitettu sisällä tekstikenttään. 751 00:40:23,000 --> 00:40:26,000 Tämä seuraava rivi tässä on yksinkertaisesti menetelmä, soitan 752 00:40:26,000 --> 00:40:29,000 tekstikentässä sanotaan haluan sinun piilottaa näppäimistön. 753 00:40:29,000 --> 00:40:33,000 Tämä on vain mielivaltainen tapa, että Apple valitsi. 754 00:40:33,000 --> 00:40:38,000 >> Jälleen ennen tein mitään jouduin lanka kaiken ylös, joten tulin tänne. 755 00:40:38,000 --> 00:40:42,000 Alkaen View Controller vedän yli tekstikenttään. 756 00:40:42,000 --> 00:40:46,000 Annoin mennä, ja näen täällä, että voin tehdä tämän tekstikenttään omaisuus 757 00:40:46,000 --> 00:40:49,000 koska täällä on näkymä säätimen olen määritellyt kiinteistön 758 00:40:49,000 --> 00:40:52,000 , joka on IBOutlet on tekstikenttään. 759 00:40:52,000 --> 00:40:55,000 Tämä sanoo, että voin wire Tämä ominaisuus ylös 760 00:40:55,000 --> 00:40:59,000 jotta tekstikenttään minun UI. 761 00:40:59,000 --> 00:41:03,000 Nyt kun klikkaa tästä voin aloittaa kirjoittamisen. 762 00:41:03,000 --> 00:41:06,000 Nyt jos painan tehnyt painiketta tämä tulee palo 763 00:41:06,000 --> 00:41:08,000 Jos voin nyt vastata. 764 00:41:08,000 --> 00:41:10,000 Ei tapahtumakäsittelijät. 765 00:41:10,000 --> 00:41:13,000 Niin minä vain vastannut, että Valmis-painiketta. 766 00:41:13,000 --> 00:41:15,000 Järkeä? 767 00:41:15,000 --> 00:41:20,000 >> Tämä ei ole suunnittelumalli, joka-et ehkä koskaan löytää itsesi 768 00:41:20,000 --> 00:41:23,000 luoda oman protokolla, mutta vain tietää, että jotkut 769 00:41:23,000 --> 00:41:27,000 Eri iOS komponentteja rekisteröityä tapahtumia eri tavoin. 770 00:41:27,000 --> 00:41:29,000 Painikkeet, esimerkiksi käyttää niitä IBActions. 771 00:41:29,000 --> 00:41:32,000 Teksti kentät, toisaalta, eivät aio käyttää edustajaa. 772 00:41:32,000 --> 00:41:36,000 Voimme nähdä ja voit katsoa kaikki, että jopa sisällä asiakirja. 773 00:41:36,000 --> 00:41:41,000 Muuten, siellä oikeastaan ​​ton UI juttuja rakennettu iOS sinulle, 774 00:41:41,000 --> 00:41:46,000 niin esimerkiksi niin tein, jotka sanovat tehty oikeassa alareunassa 775 00:41:46,000 --> 00:41:48,000 on Olen valinnut tähän kenttään. 776 00:41:48,000 --> 00:41:50,000 Tulin tänne. 777 00:41:50,000 --> 00:41:53,000 Olen vieritetty hieman palata avain, 778 00:41:53,000 --> 00:41:56,000 ja voin itse tehdä tästä koko joukko asioita, kuten jos haluan että sanoa 779 00:41:56,000 --> 00:42:00,000 hätäpuhelun sijaan voin tehdä sitä, mikä on täysin satunnainen, 780 00:42:00,000 --> 00:42:02,000 ja en tiedä miksi siellä sisäänrakennettu hätäpuhelun painiketta, 781 00:42:02,000 --> 00:42:06,000 mutta siellä, se sanoo hätäpuhelu todella pieniä kirjaimia. 782 00:42:06,000 --> 00:42:08,000 Siellä mennään. 783 00:42:08,000 --> 00:42:12,000 >> Ehdottomasti tutkia kaikkia näitä eri vaihtoehtoja iOS. 784 00:42:12,000 --> 00:42:14,000 Kysyttävää edustajat? 785 00:42:14,000 --> 00:42:18,000 Jälleen vain mielenkiintoinen suunnittelumalli, että sinun pitäisi olla tietoinen. 786 00:42:18,000 --> 00:42:22,000 Okei, seuraavaksi katsomaan pöydän näkemyksiä. 787 00:42:22,000 --> 00:42:26,000 Taulukko näkymä on pohjimmiltaan siitä, että luettelo kohteista, jotka on kaikki yli paikka iOS. 788 00:42:26,000 --> 00:42:29,000 Kun olet selailee kaikki yhteystiedot, etsit 789 00:42:29,000 --> 00:42:34,000 asettaa sivun, ja sellainen lista asioita kutsutaan pöydän näkymä. 790 00:42:34,000 --> 00:42:37,000 Toteuttaminen taulukkonäkymää iOS on melko yksinkertainen. 791 00:42:37,000 --> 00:42:41,000 Sen sijaan, että luokan, joka laskeutuu, että UIViewController 792 00:42:41,000 --> 00:42:44,000 kuten olemme tehneet aiemmin, vaan meidän pitää sanoa kuin 793 00:42:44,000 --> 00:42:46,000 kaiken UIViewController ei haluan tehdä, 794 00:42:46,000 --> 00:42:50,000 Sanon kaiken UITableViewController ei haluan tehdä, 795 00:42:50,000 --> 00:42:54,000 niin että yksinkertaisesti lisätään joitakin uusia asioita, jotka ovat täysin tehnyt meille. 796 00:42:54,000 --> 00:42:58,000 Meidän täytyy tehdä hyvin vähän periaatteessa täytä tyhjät sisällä pöydän. 797 00:42:58,000 --> 00:43:02,000 >> Jotta näyttää taulukon minun täytyy vastata joihinkin kysymyksiin. 798 00:43:02,000 --> 00:43:06,000 Ensimmäinen kysymys minun täytyy vastata, kuinka monta osaa on taulukossa? 799 00:43:06,000 --> 00:43:08,000 Kun olet selailee yhteystiedot app huomaat että se on eräänlainen 800 00:43:08,000 --> 00:43:12,000 järjestämä Kuten, niin sinulla on Bs, ja sinulla on se pieni osa otsikkoa. 801 00:43:12,000 --> 00:43:14,000 Kukin näistä kutsutaan osassa. 802 00:43:14,000 --> 00:43:16,000 Saatat tai ei ehkä tarvitse näitä. 803 00:43:16,000 --> 00:43:19,000 Ensimmäinen asia mitä sinun tarvitsee tehdä on toteuttaa menetelmä 804 00:43:19,000 --> 00:43:22,000 kutsutaan Tableview: numberOfSectionsInTableView. 805 00:43:22,000 --> 00:43:25,000 Se yksinkertaisesti palauttaa kuinka monta osaa sinulla on, 806 00:43:25,000 --> 00:43:29,000 joten voisi sanoa palauttaa yhden jos sinulla on yksi iso pöytä näyttö. 807 00:43:29,000 --> 00:43:33,000 Seuraava kysymys, että iOS tarvitsee tietää kuinka monta riviä sinulla on? 808 00:43:33,000 --> 00:43:36,000 Esimerkiksi, olet selailee taulukko näkymä. 809 00:43:36,000 --> 00:43:39,000 Sinulla on kiinteä kappaleita etsit tai kiinteän määrän kontakteja. 810 00:43:39,000 --> 00:43:41,000 Jos olet minulle, tietenkään, ei ole kovin paljon, 811 00:43:41,000 --> 00:43:44,000 ja niin se miten iOS tietää kuinka monta solut näkyviin. 812 00:43:44,000 --> 00:43:46,000 >> Jälleen kerran, tämä voisi sanoa jotain tuottoa 3. 813 00:43:46,000 --> 00:43:49,000 Oma pöytä näkymä on 3 riviä. 814 00:43:49,000 --> 00:43:52,000 Lopuksi, iOS tarvitsee tietää, mitä kukin solu näyttää, 815 00:43:52,000 --> 00:43:54,000 niin mitä se todella aikoo tehdä, on kutsua tätä menetelmää tänne, 816 00:43:54,000 --> 00:43:57,000 Tämän Tableview: cellForRowAtIndexPath. 817 00:43:57,000 --> 00:44:01,000 Se tulee kutsua tätä menetelmää joka ikinen solu sisällä pöydän. 818 00:44:01,000 --> 00:44:03,000 Miten se tietää, kuinka monta kertaa sitä kutsua? 819 00:44:03,000 --> 00:44:06,000 No, sinä kerroit sen sisällä rivien jaksossa. 820 00:44:06,000 --> 00:44:08,000 Me aiomme kutsua tätä jokaiselle meidän solut, 821 00:44:08,000 --> 00:44:11,000 ja sisällä tämä on, jossa voit itse tehdä asioita, kuten 822 00:44:11,000 --> 00:44:16,000 aseta teksti tai kertoa, mitä se pieni sininen painike oikealla puolella ei. 823 00:44:16,000 --> 00:44:19,000 Malli saada nämä solut, aiomme käyttää tätä menetelmää 824 00:44:19,000 --> 00:44:22,000 kutsutaan dequeueReusableCellWithIdentifier. 825 00:44:22,000 --> 00:44:29,000 >> Objective-C on todella hyvin tunnettu naurettava pituudesta menetelmän nimiä, 826 00:44:29,000 --> 00:44:32,000 ja tämä on todella mukava esimerkki esimerkki. 827 00:44:32,000 --> 00:44:37,000 Mitä tämä tapa on tämä sanoo vain haluan sinun antaa minulle solu. 828 00:44:37,000 --> 00:44:39,000 Vain iOS juttu. 829 00:44:39,000 --> 00:44:41,000 Jos sinulla on jotain 100000 kappaleita iPodissa 830 00:44:41,000 --> 00:44:45,000 Mitä iOS ei halua tehdä, on jakaa 100000 soluja, 831 00:44:45,000 --> 00:44:48,000 koska jos olet yläreunassa listasi, oletteko todella tarvitse varata muistia 832 00:44:48,000 --> 00:44:51,000 solulle, joka on 99000 riviä alas? 833 00:44:51,000 --> 00:44:55,000 Ei, koska kuten olet selaamalla voit eräänlainen jakaa matkan varrella. 834 00:44:55,000 --> 00:44:57,000 Tämä on sinulle tehnyt. 835 00:44:57,000 --> 00:44:59,000 Sinun ei tarvitse huolehtia kaikki tyhmä suorituskykyä kamaa. 836 00:44:59,000 --> 00:45:02,000 Kaikki te sanotte on soitat tätä menetelmää dequeueReusableCellWithIdentifier, 837 00:45:02,000 --> 00:45:06,000 ja tämä sanoo, okei, jos haluat aion luoda uuden solun sinulle. 838 00:45:06,000 --> 00:45:09,000 >> Mutta jos olet alareunassa taulukon ja olet jo myönnetty joitakin soluja 839 00:45:09,000 --> 00:45:12,000 yläreunassa taulukon että et todellakaan ole menossa lähiaikoina 840 00:45:12,000 --> 00:45:15,000 Aion antaa teille yksi niistä takana sijasta kohdentaa uuden, 841 00:45:15,000 --> 00:45:17,000 joten tämä on mukava suorituskyky huolenaihe. 842 00:45:17,000 --> 00:45:21,000 Sinun ei tarvitse jakaa solut itse. 843 00:45:21,000 --> 00:45:23,000 Se tulee antamaan sinulle takaisin soluun. 844 00:45:23,000 --> 00:45:25,000 Se tulee takaisin sinulle soluun objekti. 845 00:45:25,000 --> 00:45:28,000 Kun olet solu objekti voit tehdä juttuja siihen. 846 00:45:28,000 --> 00:45:32,000 Voit määrittää tekstin solun tämä ominaisuus nimeltä tekstistä. 847 00:45:32,000 --> 00:45:36,000 Voit lisätä että nuoli oikealle tai jokin muu satunnainen juttuja 848 00:45:36,000 --> 00:45:41,000 Tämän muuta omaisuutta nimeltään accessoryType, ja niin edelleen ja niin edelleen. 849 00:45:41,000 --> 00:45:46,000 >> Katsotaanpa katsomaan todella täytäntöön pöytänäkymän nyt. 850 00:45:46,000 --> 00:45:49,000 Kun olen luonut tämän hankkeen 851 00:45:49,000 --> 00:45:53,000 mieluummin kuin sanomalla yhden näkymän sovellus Olen itse tullut tänne 852 00:45:53,000 --> 00:45:57,000 isäntä-yksityiskohtia sovellus, joten periaatteessa tämä vastaa postin app 853 00:45:57,000 --> 00:46:01,000 iPadin kanssa pöydän näkymä vasemmalle ja sitten sisällön oikealla. 854 00:46:01,000 --> 00:46:07,000 IPod tai iPhone tämä tulee vastaamaan yhden pöydän näkymä. 855 00:46:07,000 --> 00:46:10,000 Siellä sain käynnistin koodi. 856 00:46:10,000 --> 00:46:13,000 >> Katsotaanpa ensiksi katsomaan kuvakäsikirjoituksen. 857 00:46:13,000 --> 00:46:15,000 Kaikki tämä tehtiin minulle, pohjimmiltaan luotu. 858 00:46:15,000 --> 00:46:18,000 Tämä navigointipalkin näytti mitä esimerkiksi solu voisi näyttää, 859 00:46:18,000 --> 00:46:22,000 ja voin kaksoisnapsauta tämän muuttamalla otsikko. 860 00:46:22,000 --> 00:46:25,000 Kaikki muut UI huolenaiheet pärjään siellä. 861 00:46:25,000 --> 00:46:27,000 Header tiedosto näyttää todella yksinkertaista. 862 00:46:27,000 --> 00:46:30,000 Sen sijaan sano tätä UIViewController me nyt sano tätä 863 00:46:30,000 --> 00:46:35,000 TableViewController, joten tiedämme, että haluamme kutsua kaikki pöydän menetelmät. 864 00:46:35,000 --> 00:46:38,000 Seuraavaksi haluan luoda omaisuutta, joka tulee edustamaan 865 00:46:38,000 --> 00:46:40,000 asioita sisällä minun pöydän. 866 00:46:40,000 --> 00:46:43,000 Tämä taulukko on menossa mielivaltaisesti näkyviin 867 00:46:43,000 --> 00:46:46,000 lista hedelmiä, joten minun täytyy luoda joitakin array 868 00:46:46,000 --> 00:46:49,000 jossa voin lisätä hedelmiä. 869 00:46:49,000 --> 00:46:52,000 Sisällä minun täytäntöönpanon tiedoston ensimmäinen asia jonka haluan tehdä 870 00:46:52,000 --> 00:46:55,000 on haluan varmistaa minun alustaa tämän array. 871 00:46:55,000 --> 00:46:58,000 >> Sanoin alloc init, loin hedelmät array, 872 00:46:58,000 --> 00:47:03,000 ja olen lisäämällä 4 asioita se, joista yksi on paljon kiistanalainen kuin muut 3. 873 00:47:03,000 --> 00:47:06,000 Ja nyt minulla on erilaisia ​​kooltaan 4. 874 00:47:06,000 --> 00:47:08,000 Olemme tuoden sen CS50. 875 00:47:08,000 --> 00:47:11,000 Minulla on nyt joukko kooltaan 4. 876 00:47:11,000 --> 00:47:13,000 Nyt aion aloittaa vastaamalla näihin kysymyksiin, ja oikeastaan 877 00:47:13,000 --> 00:47:16,000 kun olen luonut tämän app tämä oli jo minulle. 878 00:47:16,000 --> 00:47:19,000 En tarvitse kirjoittaa pois useita kohtia taulukon näkymässä. 879 00:47:19,000 --> 00:47:22,000 Se oli jo siellä, ja olen täyttämällä tyhjät. 880 00:47:22,000 --> 00:47:24,000 Kuinka monta osaa minulla on? 881 00:47:24,000 --> 00:47:26,000 Yksi. Kaikki tehty. 882 00:47:26,000 --> 00:47:28,000 Montako riviä minulla on? 883 00:47:28,000 --> 00:47:31,000 No, minulla on yksi rivi jokaista hedelmää, joten tämä määrä 884 00:47:31,000 --> 00:47:34,000 on omaisuutta tahansa array, joka sanoo miten iso se on? 885 00:47:34,000 --> 00:47:36,000 Niin monta riviä olen. 886 00:47:36,000 --> 00:47:42,000 Lopuksi minun täytyy sanoa mitä kukin solu näyttää? 887 00:47:42,000 --> 00:47:46,000 Aion sanoa dequeueReusableCellWithIdentifier. 888 00:47:46,000 --> 00:47:48,000 >> Jälleen kerran, tämä oli jo kirjoitettu minulle. 889 00:47:48,000 --> 00:47:51,000 Minun ei tarvinnut tehdä tätä itse, ja haluan saada takaisin 890 00:47:51,000 --> 00:47:54,000 tämä solu tässä paikassa. 891 00:47:54,000 --> 00:47:57,000 Muista, että olemme kutsuneet tätä samaa menetelmää jokaisesta solusta, 892 00:47:57,000 --> 00:48:01,000 ja tämä argumentti täällä, tämä indexPath väitettä, 893 00:48:01,000 --> 00:48:03,000 sanoo mitä rivi Olen mukana 894 00:48:03,000 --> 00:48:05,000 Jos sanon indexPath.row tänne 895 00:48:05,000 --> 00:48:09,000 tämä on 0, niin se on 1, niin se on 2, ja tämä on niin tiedän 896 00:48:09,000 --> 00:48:11,000 mitä solu Olen tällä hetkellä näyttää. 897 00:48:11,000 --> 00:48:15,000 Haluan asettaa tekstin solun käyttämällä tätä textLabel kiinteistö 898 00:48:15,000 --> 00:48:19,000 mennä sisälle minun hedelmiä array ja saada 899 00:48:19,000 --> 00:48:21,000 vastaava kohde jokaisen rivin. 900 00:48:21,000 --> 00:48:24,000 Jos tämä on merkkijono, olen nyt asettaa 901 00:48:24,000 --> 00:48:28,000 Tekstin omaisuuden merkkijono. 902 00:48:28,000 --> 00:48:30,000 Voin tehdä yksi asia. 903 00:48:30,000 --> 00:48:32,000 Voin myös rekisteröidä tapahtumakäsittely kustakin soluja, 904 00:48:32,000 --> 00:48:35,000 joten kun napauta kutakin näistä soluista 905 00:48:35,000 --> 00:48:39,000 tämä didSelectRowAtIndexPath, tämä tulee kutsua minua, 906 00:48:39,000 --> 00:48:42,000 niin yksinkertaisesti määritellään tämä nyt voin käsitellä mitä tapahtuu 907 00:48:42,000 --> 00:48:46,000 Kun napautat solun, ja jälleen olemme ohimennen jossa solu oli painanut 908 00:48:46,000 --> 00:48:50,000 jotta voimme uudelleen tätä samaa tapahtumakäsittely kaikille meidän solut. 909 00:48:50,000 --> 00:48:53,000 >> Jälleen, tämä on jotain iOS tekee minulle. 910 00:48:53,000 --> 00:48:55,000 Mennään näyttämään toisen ärsyttäviä popup 911 00:48:55,000 --> 00:48:59,000 että yksinkertaisesti sanoo nostit jotain jos se jotain 912 00:48:59,000 --> 00:49:04,000 tulee olemaan rivi objekti. 913 00:49:04,000 --> 00:49:10,000 Kun olen suorittanut tämän, aion olla tässä mukava pöytänäkymän 914 00:49:10,000 --> 00:49:14,000 yksi rivi kutakin näistä hedelmistä, ja jos minä napauta yhtä 915 00:49:14,000 --> 00:49:16,000 se kertoo minulle mitä tapahtui. 916 00:49:16,000 --> 00:49:21,000 Järkeä? 917 00:49:21,000 --> 00:49:24,000 Katsotaanpa rakentaa hieman monimutkaisempi ja app, 918 00:49:24,000 --> 00:49:28,000 niin paljon kuin klikkaamalla nostit tomaatti on. 919 00:49:28,000 --> 00:49:31,000 Kiva osa noin kuvasuunnittelu 920 00:49:31,000 --> 00:49:35,000 ei se ole vain auta meitä suunnitteluun näytöt erikseen, 921 00:49:35,000 --> 00:49:38,000 se myös aikoo auttaa meitä sitoa yhteen koko app, 922 00:49:38,000 --> 00:49:42,000 joten lopullinen app tulemme rakennus on tämä mukava urheilu uutistenlukijan, 923 00:49:42,000 --> 00:49:45,000 ja niin se tulee olemaan useita näyttöjä, joten voin todella edustaa 924 00:49:45,000 --> 00:49:48,000 kukin näistä useista näytöt kuvakäsikirjoituksen 925 00:49:48,000 --> 00:49:52,000 ja voin loitontaa ja nähdä minun app korkea. 926 00:49:52,000 --> 00:49:55,000 >> Jotta voidaan luoda uuden elementin sisällä minun kuvakäsikirjoituksen 927 00:49:55,000 --> 00:49:59,000 se on todella yksinkertainen sisällä Interface Builder. 928 00:49:59,000 --> 00:50:01,000 Jos haluan lisätä toisen näytön tähän, esimerkiksi 929 00:50:01,000 --> 00:50:06,000 En voi ensin loitontaa nipistämällä zoom että Apple rakastaa niin paljon, 930 00:50:06,000 --> 00:50:09,000 ja täällä ennen kuin voin hakea painikkeen 931 00:50:09,000 --> 00:50:12,000 ja minä vedä ja pudota-painiketta 932 00:50:12,000 --> 00:50:15,000 jos haluan luoda uuden näytön voin oikeastaan ​​vain vetää ja pudottaa 933 00:50:15,000 --> 00:50:19,000 koko näkymä-ohjain, joten jos otan tämän, vedä se tänne, 934 00:50:19,000 --> 00:50:23,000 Hei, siellä on toinen näyttö, joten nyt käyttää tätä samaa kuvakäsikirjoituksen tiedosto 935 00:50:23,000 --> 00:50:26,000 Voin olla kaikki näytöt sisällä minun app, ja voin loitontaa 936 00:50:26,000 --> 00:50:28,000 ja miten ne vaikuttavat toisiinsa. 937 00:50:28,000 --> 00:50:32,000 Nämä eivät ole vuorovaikutuksessa vielä. 938 00:50:32,000 --> 00:50:36,000 Miten nämä 2 näyttöä vuorovaikutuksessa on määrittelet suhteita. 939 00:50:36,000 --> 00:50:39,000 Voit periaatteessa sanoa tämän näytön, kun painat tätä painiketta, 940 00:50:39,000 --> 00:50:42,000 Haluan sinun liukumaan tähän uuteen näyttöön. 941 00:50:42,000 --> 00:50:44,000 Se tarkoittaa, että on tällainen suhde 942 00:50:44,000 --> 00:50:46,000  ensimmäinen näyttö ja toinen näyttö. 943 00:50:46,000 --> 00:50:49,000 Sinulla on pohjimmiltaan nuoli että painiketta toinen näyttö 944 00:50:49,000 --> 00:50:53,000 sanomalla, että kun painat tätä painiketta siellä minä haluan mennä. 945 00:50:53,000 --> 00:50:57,000 Aivan kuten me hallitsemme napsautetaan ja raahasivat määritellä näihin myyntipisteisiin 946 00:50:57,000 --> 00:51:01,000 aiomme tehdä sama asia määritellä näitä segues. 947 00:51:01,000 --> 00:51:05,000 >> Näemme esimerkin tästä, ja ennen varsinaista siirtymistä 948 00:51:05,000 --> 00:51:08,000 yhdeltä näytöltä toiselle iOS on ystävällisesti kutsua tätä menetelmää 949 00:51:08,000 --> 00:51:11,000 kutsutaan prepareForSegue, ja tämä on silloin voimme aloittaa 950 00:51:11,000 --> 00:51:14,000 lähettää tiedot yhdestä sovellus toiseen. 951 00:51:14,000 --> 00:51:17,000 Esimerkissä aiomme katsoa se pohjimmiltaan voimme 952 00:51:17,000 --> 00:51:20,000 suodattaa baseball joukkueet jotka liigoja ja divisioonien. 953 00:51:20,000 --> 00:51:23,000 Kun valitsen liiga, esimerkiksi haluan siirtyminen 954 00:51:23,000 --> 00:51:25,000 minun seuraava näyttö, jossa voin näyttää kaikki toimialat 955 00:51:25,000 --> 00:51:27,000 että liigassa tai kaikki erilaiset joukkueet. 956 00:51:27,000 --> 00:51:31,000 Minun täytyy lähettää että näyttöön mitä joukkueita sinun pitäisi näyttää. 957 00:51:31,000 --> 00:51:35,000 Voit tehdä, että aion hyödyntää tätä menetelmää. 958 00:51:35,000 --> 00:51:39,000 >> Lopuksi vain satunnainen piste iOS. 959 00:51:39,000 --> 00:51:41,000 Jos haluat tallentaa tietoja on tämä asia sanottu ydintiedot, 960 00:51:41,000 --> 00:51:44,000 joka on oikeastaan ​​eräänlainen hankala työskennellä. 961 00:51:44,000 --> 00:51:47,000 Voit myös käyttää SQL tallentaa tietoja, 962 00:51:47,000 --> 00:51:51,000 joka taas on mukava mutta sellaista on monimutkaisempi puolelta työskennellä, 963 00:51:51,000 --> 00:51:55,000 mutta iOS tukee myös näitä todella hienoja asioita kutsutaan omaisuuden luettelot, 964 00:51:55,000 --> 00:52:00,000 ja kiinteistö lista on vain tiedosto, joka edustaa avain arvo-pareja. 965 00:52:00,000 --> 00:52:03,000 Voit määrittää luettelon avaimet, ja te sanotte tämän avaimen tulee olemaan array. 966 00:52:03,000 --> 00:52:06,000 Tämä avain tulee olemaan merkkijono, ja periaatteessa mitä voit tehdä 967 00:52:06,000 --> 00:52:10,000 JSON voit tehdä sisällä kiinteistön listalle 968 00:52:10,000 --> 00:52:14,000 ja niin tämä todella hienosti antaa meille mahdollisuuden työskennellä joitakin tietoja. 969 00:52:14,000 --> 00:52:18,000 Esimerkiksi minulla on tämä Teams.plist että olen luonut. 970 00:52:18,000 --> 00:52:22,000 Olen luonut uuden plist tiedoston, ja voin porautua. 971 00:52:22,000 --> 00:52:26,000 Tämä on sanakirja, tämä on sanakirja, nämä ovat merkkijonoja, 972 00:52:26,000 --> 00:52:30,000 joten tämä on mukava graafinen esitys JSON asiakirjan 973 00:52:30,000 --> 00:52:33,000 tai vain joukko keskeisiä arvo-pareja, 974 00:52:33,000 --> 00:52:37,000 joten tämä on tieto, että otan työskennellä sisällä minun app. 975 00:52:37,000 --> 00:52:40,000 >> Katsotaanpa ensin tullutta tänne. Meillä on paljon enemmän tiedostoja nyt. 976 00:52:40,000 --> 00:52:44,000 Mutta katsotaanpa ensin tullutta tänne kuvakäsikirjoituksen. 977 00:52:44,000 --> 00:52:48,000 Storyboard täällä, jos en voi loitontaa- 978 00:52:48,000 --> 00:52:51,000 nyt voimme nähdä, että tämä on virtaus minun app. 979 00:52:51,000 --> 00:52:53,000 Olen ensimmäistä aio aloittaa tällä näytöllä. 980 00:52:53,000 --> 00:52:55,000 Aion porautua tähän näyttöön, 981 00:52:55,000 --> 00:52:58,000 ja aion porautua tähän näyttöön, ja voimme nähdä täällä, että jos sellainen 982 00:52:58,000 --> 00:53:04,000 siirtää yhden näistä noin olemme nämä nuolet kulkevat tästä tänne, 983 00:53:04,000 --> 00:53:08,000 ja niin minä määrittää, että nuoli oli jos olen zoomata vähän, 984 00:53:08,000 --> 00:53:12,000 ja jos tulen yli tämän näkemyksen ohjain, 985 00:53:12,000 --> 00:53:16,000 ja tässä on solu, ja haluan sanoa, että kun napautat solun 986 00:53:16,000 --> 00:53:18,000 Haluan sinun liukua toiseen näyttöön. 987 00:53:18,000 --> 00:53:21,000 Voin yksinkertaisesti pidä ohjaus, 988 00:53:21,000 --> 00:53:26,000 vieritä hieman pitämällä ohjaus, vedä tämä solu yli ja anna mennä. 989 00:53:26,000 --> 00:53:30,000 >> Ja täällä sanomme mitä siirtymä, jota haluat käyttää? 990 00:53:30,000 --> 00:53:32,000 Haluatko käyttää dian asia kutsutaan push? 991 00:53:32,000 --> 00:53:34,000 Haluatko liukua ylös pohjasta? 992 00:53:34,000 --> 00:53:36,000 Sitä kutsutaan modaalinen. 993 00:53:36,000 --> 00:53:40,000 Ja kun minä sitten yksi näistä, se tulee tehdä tämän nuolen minulle, 994 00:53:40,000 --> 00:53:44,000 ja se tarkoittaa, että olen oikeastaan ​​käsitellä mitä tapahtuu, kun painat tätä painiketta graafisesti. 995 00:53:44,000 --> 00:53:48,000 En kirjoittaa koodia todella liukua yhdeltä näytöltä seuraavaan. 996 00:53:48,000 --> 00:53:51,000 Olen määritellyt tässä visuaalisesti sisällä Interface Builder. 997 00:53:51,000 --> 00:53:55,000 Jos minä klikkaa tästä nuolta, voimme nähdä, että annoin tämän asian nimi. 998 00:53:55,000 --> 00:53:59,000 Kutsuin sitä showDivisions, ja tämä on niin, että voin tietää 999 00:53:59,000 --> 00:54:03,000 Mitä siirtyminen on alkamassa, ja näemme, miksi vain sekunnin. 1000 00:54:03,000 --> 00:54:06,000 Niin olen läpiladottava näyttöihin minun app. 1001 00:54:06,000 --> 00:54:09,000 Jos tämä olisi painiketta, esimerkiksi sen sijaan, että pöytä näkymä, 1002 00:54:09,000 --> 00:54:11,000 Voisin valvoa klikkaa painiketta, vedä yli seuraavaan näyttöön, 1003 00:54:11,000 --> 00:54:16,000 ja näin voin tehdä navigoinnin näin. 1004 00:54:16,000 --> 00:54:19,000 >> Todella nopeasti, jos pääsemme MasterViewController, 1005 00:54:19,000 --> 00:54:22,000 uudelleen, me yksinkertaisesti menossa määritellä lista asioista 1006 00:54:22,000 --> 00:54:26,000 joka näkyy taulukossa mieltä. 1007 00:54:26,000 --> 00:54:29,000 Täällä Sanon haluan sinun ottaa plist tiedoston, 1008 00:54:29,000 --> 00:54:32,000 ja haluan sinun ladata sen ylös sanakirja, 1009 00:54:32,000 --> 00:54:35,000 ja kun olet että sanakirja, aion vastata näihin samoihin kysymyksiin uudestaan. 1010 00:54:35,000 --> 00:54:37,000 Tässä on useita kohtia. 1011 00:54:37,000 --> 00:54:41,000 Yksi, on yksi rivi jokaista liiga, ja teksti kunkin solun 1012 00:54:41,000 --> 00:54:46,000 tulisi olla joko ensimmäinen, ensimmäinen liiga, toinen liiga, ja niin edelleen. 1013 00:54:46,000 --> 00:54:51,000 Lopuksi aion käyttää tätä menetelmää Juuri näkemämme nimeltään prepareForSegue, 1014 00:54:51,000 --> 00:54:54,000 ja tämä on tapa, joka on potkut, kun painan 1015 00:54:54,000 --> 00:54:57,000 yksi niistä riveistä ja siksi aktivoimalla että siirtyminen 1016 00:54:57,000 --> 00:54:59,000 että olen perustanut nuolilla. 1017 00:54:59,000 --> 00:55:02,000 Tämä sanoo, että en voi olla useita 1018 00:55:02,000 --> 00:55:05,000 suhteet yhdeltä näytöltä toiselle. 1019 00:55:05,000 --> 00:55:08,000 Jos minulla on 2 painiketta ja jokainen painike vie sinut eri näyttöön 1020 00:55:08,000 --> 00:55:10,000 Aion olla 2 segues, 1 kutakin painiketta. 1021 00:55:10,000 --> 00:55:14,000 Mutta tämä prepareForSegue on jälleen olemaan uudelleen 1022 00:55:14,000 --> 00:55:17,000 kunkin eri suhteita, niin se tarkoittaa, että minun on tapa 1023 00:55:17,000 --> 00:55:21,000 tunnistaa jos painat ensimmäistä painiketta tai painat toista näppäintä. 1024 00:55:21,000 --> 00:55:25,000 >> Muistatko kun annoin että SEGUE nimi, tämä showDivisions, 1025 00:55:25,000 --> 00:55:29,000 Niin minä nyt tiedän, että tämä on SEGUE joka aktivoitu. 1026 00:55:29,000 --> 00:55:32,000 Kaikki mitä haluan tehdä on haluan sanoa 1027 00:55:32,000 --> 00:55:35,000 Haluan selvittää, mitä painaa, 1028 00:55:35,000 --> 00:55:38,000 ja niin saada, että voin sanoa haluan indexPath valitun rivin 1029 00:55:38,000 --> 00:55:42,000 Muistan indexPath sanoo vain missä olen juuri napsautetaan, 1030 00:55:42,000 --> 00:55:47,000 ja sitten haluan sanoa Haluan selvittää minne olen menossa. 1031 00:55:47,000 --> 00:55:50,000 Tämä destinationViewController, että on ominaisuus SEGUE. 1032 00:55:50,000 --> 00:55:53,000 Tuo näytön aion, 1033 00:55:53,000 --> 00:55:56,000 joten tiedän, että näytön aion kutsutaan DivisionsViewController 1034 00:55:56,000 --> 00:55:59,000 koska olen luonut tämän luokan 1035 00:55:59,000 --> 00:56:02,000 joten nyt jos sanon d.divisions 1036 00:56:02,000 --> 00:56:06,000 Olen nyt asettaa ominaisuuden View Controller aion mennä. 1037 00:56:06,000 --> 00:56:10,000 Näin minä lähetän tiedot yhdeltä näytöltä toiseen näyttöön. 1038 00:56:10,000 --> 00:56:13,000 >> Vain katsomalla tätä DivisionsViewController 1039 00:56:13,000 --> 00:56:16,000 voit nähdä täällä että. h tiedosto 1040 00:56:16,000 --> 00:56:20,000 on, että omaisuutta rajapintoja, ja sitähän olen periaatteessa asuttavat, 1041 00:56:20,000 --> 00:56:25,000 joten tiedän, että olen näyttämällä divisioonien vastaava 1042 00:56:25,000 --> 00:56:28,000 liiga, että olen napsautti, ja jälleen, 1043 00:56:28,000 --> 00:56:31,000 todellinen taulukkonäkymää näyttää melko paljon samaa, vain vastaamalla nämä 1044 00:56:31,000 --> 00:56:34,000 3 yksinkertaisia ​​kysymyksiä sekä tunnistaa 1045 00:56:34,000 --> 00:56:37,000 Mitä tapahtuu, kun siirryt seuraavaan näyttöön. 1046 00:56:37,000 --> 00:56:40,000 Vain pari muita asioita täällä. 1047 00:56:40,000 --> 00:56:43,000 Huomaat huipulla tässä, että mieluummin kuin sanomalla # include 1048 00:56:43,000 --> 00:56:45,000 Olen nyt sanoa # tuoda. 1049 00:56:45,000 --> 00:56:47,000 Tämä on vain Objective-C juttu. 1050 00:56:47,000 --> 00:56:52,000 Tuonti on pohjimmiltaan arka versio sisältyy 1051 00:56:52,000 --> 00:56:57,000 ja esimerkiksi meidän on tiedettävä, mitä tämä luokka on, 1052 00:56:57,000 --> 00:57:00,000 joten en voi sanoa DivisionsViewController. 1053 00:57:00,000 --> 00:57:05,000 Jos emme hashtag standardio.c sisällä meidän. C tiedosto 1054 00:57:05,000 --> 00:57:07,000 kääntäjä ei ollut aavistustakaan mitä printf oli. 1055 00:57:07,000 --> 00:57:12,000 Vastaavasti jos en tuoda DivisionsViewController 1056 00:57:12,000 --> 00:57:16,000 kääntäjä todellakaan ole aavistustakaan, mitä DivisionsViewController on. 1057 00:57:16,000 --> 00:57:19,000 Varmista vain, että sisäpuolelle eri. M. tiedostot varmista tuoda 1058 00:57:19,000 --> 00:57:25,000 vastaava. h tiedostot niin, että kääntäjä tietää missä mennään. 1059 00:57:25,000 --> 00:57:31,000 >> Lopuksi, mitä Apple lopulta se on näyttää joitakin tietoja käyttämällä web näkymä, 1060 00:57:31,000 --> 00:57:35,000 ja niin web näkymä on esine, jossa voit upottaa 1061 00:57:35,000 --> 00:57:37,000 hieman selaimen sisällä App. 1062 00:57:37,000 --> 00:57:40,000 Kaikki mitä sinun tarvitsee tehdä, on syöttää URL selaimessa 1063 00:57:40,000 --> 00:57:43,000 joten haluan mennä mlb.mlb.com, 1064 00:57:43,000 --> 00:57:46,000 ja näin voin avata kotisivun jokaiselle joukkueen, 1065 00:57:46,000 --> 00:57:49,000 ja näin ohimennen tässä URL 1066 00:57:49,000 --> 00:57:52,000 Web View voi näyttää tämän minulle, ja voin selata noin, 1067 00:57:52,000 --> 00:58:01,000 ja simulaattori on käytössä, että yksi. 1068 00:58:01,000 --> 00:58:03,000 Nyt tämä tuli minun plist. 1069 00:58:03,000 --> 00:58:07,000 Jos painan tätä tämä myös tuli minun plist, ja tämä liukuva käsiteltiin 1070 00:58:07,000 --> 00:58:09,000 määrittelemällä ne segues. 1071 00:58:09,000 --> 00:58:12,000 Olen napsauta tätä ja yksi enemmän, 1072 00:58:12,000 --> 00:58:15,000 ja nyt on minun UIWebView, joten vain noin 1073 00:58:15,000 --> 00:58:19,000 tässä verkkosivuilla URL juuri upotettu, 1074 00:58:19,000 --> 00:58:21,000 ja minun ei tarvinnut käsitellä mitään hullua. 1075 00:58:21,000 --> 00:58:24,000 Näin näyttää web-sivun. 1076 00:58:24,000 --> 00:58:27,000 Asiat kuten tämä paluupainiketta täällä myös antanut minulle 1077 00:58:27,000 --> 00:58:33,000 täysin ilmaiseksi, koska olen määritellyt nämä suhteet käyttäen segues. 1078 00:58:33,000 --> 00:58:37,000 >> Kysyttävää? Joo. 1079 00:58:37,000 --> 00:58:40,000 [Student] Joten kun käytät alloc, sinun ei koskaan tarvitse ilmaiseksi mitään? 1080 00:58:40,000 --> 00:58:43,000 Aivan, kun soitat alloc ja init sinun ei tarvitse vapauttaa sitä. 1081 00:58:43,000 --> 00:58:46,000 IOS tulee käsitellä kaikki tämä teille. 1082 00:58:46,000 --> 00:58:51,000 Se on ihana, ja et rikkomatta mitään sääntöjä. Joo. 1083 00:58:51,000 --> 00:58:54,000 [Opiskelija] Jos olisit sisällyttää enemmän joukkueita että mahtuisi näytölle, 1084 00:58:54,000 --> 00:58:58,000 Olisiko automaattisesti siirry vaihtoehto, vai onko se jotain, sinun täytyy lisätä? 1085 00:58:58,000 --> 00:59:01,000 Aivan, jos minulla olisi enemmän joukkueita, esimerkiksi se automaattisesti käsitellä 1086 00:59:01,000 --> 00:59:04,000 vieritys minulle, ja kaikki suorituskykyyn huolenaiheet 1087 00:59:04,000 --> 00:59:08,000 valtava taulukon hoidetaan myös täysin minulle. 1088 00:59:08,000 --> 00:59:11,000 >> Muita kysymyksiä? 1089 00:59:11,000 --> 00:59:13,000 Kaikki tämä koodi tullaan lähetetty. 1090 00:59:13,000 --> 00:59:16,000 Meillä sellainen tasapaksuja hieman enemmän pieniä yksityiskohtia, 1091 00:59:16,000 --> 00:59:19,000 mutta asiat kuten asettamalla joitakin ominaisuuksia web näkymä 1092 00:59:19,000 --> 00:59:22,000 ovat vain asioita, jotka voit saada selaamalla Applen dokumentaatio, 1093 00:59:22,000 --> 00:59:24,000 joka on todella, todella hienosti säädettyihin. 1094 00:59:24,000 --> 00:59:27,000 Heillä on paljon näytteen apps ja esimerkiksi käyttötarkoituksissa 1095 00:59:27,000 --> 00:59:34,000 eri API, joten ehdottomasti tutustua näihin jos voit. 1096 00:59:34,000 --> 00:59:36,000 Vain joitakin hyödyllisiä linkkejä kannattaa vilkaista. 1097 00:59:36,000 --> 00:59:38,000 Nämä ovat joitakin käteviä asiakirjojen oppaita. 1098 00:59:38,000 --> 00:59:41,000 URL-osoitteet ovat massiivisia, joten he lyhentää. 1099 00:59:41,000 --> 00:59:44,000 Tämä ensimmäinen on koko kirjaston dokumentaation. 1100 00:59:44,000 --> 00:59:46,000 Ei ole juurikaan hakupalkit, joten jos aloitat kirjoittamisen painiketta 1101 00:59:46,000 --> 00:59:50,000 se alkaa antaa sinulle kaikki tiedot mitä kaikkea voit tehdä painikkeen. 1102 00:59:50,000 --> 00:59:53,000 Olen myös Table View Programming Guide. 1103 00:59:53,000 --> 00:59:56,000 Se käsittelee taulukko näkemyksiä paljon yksityiskohtaisemmin, 1104 00:59:56,000 --> 01:00:00,000 miten tehdä asioita, kuten dynaamisesti lisätä soluja tai muokata soluja tai poistaa niitä. 1105 01:00:00,000 --> 01:00:02,000 >> On paljon näytteen apps Applen että näyttää, miten tehdä se, 1106 01:00:02,000 --> 01:00:05,000 ja lopuksi, tämä viimeisin on Human Interface suuntaviivojen 1107 01:00:05,000 --> 01:00:09,000 ja tämä on periaatteessa verran keskusteltiin UI osia, 1108 01:00:09,000 --> 01:00:12,000 asioita, kuten eivät tee nappi, joka on 4 pikseliä 4 pikseliä. 1109 01:00:12,000 --> 01:00:15,000 Se huono idea, ja muita asioita, jotka Apple haluaa sinun tekevän 1110 01:00:15,000 --> 01:00:18,000 edistää hyvää suunnittelua. 1111 01:00:18,000 --> 01:00:23,000 >> Mahdolliset viimeisen kysymyksiin ennen kuin loppuun asti? 1112 01:00:23,000 --> 01:00:27,000 Selvä, varmasti rohkeasti-Olemme menossa on erityisiä etikettejä keskustella. 1113 01:00:27,000 --> 01:00:30,000 Saamme iOS yksi, joten varmasti vapaasti hyödyntää sitä. 1114 01:00:30,000 --> 01:00:34,000 Jos haluat työskennellä oman luokkatovereiden hankkeita 1115 01:00:34,000 --> 01:00:37,000 tai auttaa selvittää joitakin satunnaisia ​​iOS juttuja 1116 01:00:37,000 --> 01:00:40,000 rohkeasti sähköpostia minulle, ja varmasti tutkia kaikki koodi verkossa, koska 1117 01:00:40,000 --> 01:00:43,000 juuri edun aika sellaista tasapaksuja enemmän 1118 01:00:43,000 --> 01:00:45,000 tarkemmin, yksityiskohtia asioita. 1119 01:00:45,000 --> 01:00:47,000 Mutta jos ei, niin onnea teidän iOS projekteja, ja toivon meidän 1120 01:00:47,000 --> 01:00:53,000 iso tulva App Storesta. 1121 01:00:53,000 --> 01:00:56,000 [CS50.TV]