>> Tianyu Liu: Uy, paano kung ito pagpunta sa lahat?
At ito ay ang iOS App programming ng layunin c seminar.
At ang aking pangalan ay Tianyu Liu.
Isa akong Lowell junior ngayon, sa pagtuon sa computer science.
Kaya sa seminar na ito ako pagpunta sa magturo sa iyo guys
Medyo tungkol sa kung paano gumawa ng isang app.
Ayos, maging abala para dito.
>> Kaya bago namin kahit na magsimula diving sa aktwal na programming bahagi,
pag-usapan natin talaga lang mabilis kung bakit maaaring gusto mong bumuo ng isang iOS app?
Bakit kaya kahanga-hangang ay iOS?
Kaya ang unang problema, ang unang bagay na Kahanga-hanga para sa atin,
lalo na bilang isang CS50 -aaral, ay ang iOS
Ginagamit ng Layunin C. Well, may ng isang bagong wika na tinatawag Swift,
ngunit hindi namin pagpunta sa gamitin iyon sa seminar.
Kung ikaw ay interesado sa Swift, may ay isang malayang seminar tungkol na.
Ngunit Layunin C ay isa lamang isang superset ng C. Kahulugan
na ang lahat ng bagay na ginagamit mo sa C maaari ay isinalin sa Layunin C
napaka madali.
>> Tulad ng maaaring makita ka sa ibang pagkakataon, na sa katunayan mayroong ilang mga napaka basic syntax, ay
talaga eksaktong kapareho, C at Layunin C. Kaya,
mula noong kinuha CS50 up ito ngayon, mayroon ka
Alam Layunin C, hindi bababa sa 40%.
Gayundin, Apple ay may talaga malakas na API para sa iOS.
Maraming ng talagang baliw mga bagay na maaari mong gawin sa mga ito.
Isa rito ay isang tao talaga ng isang iOS app
para sa pagkontrol ng mga kotse, na ay medyo kawili-wiling.
Marahil ang isang helicopter ay mas kapana-panabik.
Ngunit iyon kung gaano kamakapangyarihan ang iOS API ay maaaring maging.
>> At tulad na maaaring mayroon ka may korte out sa ngayon,
ng stack overflow ay marahil ang isa sa mga ang pinakamahalagang online na mapagkukunan
magagamit mo.
At magandang balita, para sa bawat -iisang problema maaari mong posibleng
isipin na habang ang pagbuo ng iyong huling proyekto sa Layunin C,
doon ay malamang na stack overflow sagot.
Ito ay lamang kahanga-hangang.
Bilang karagdagan sa mga iyon, iOS ay talagang isang platform
kung saan maaari mong maabot ang isang malaking madla na may kaunti pagsisikap.
Hindi ito i Android, kung saan lahat ng bagay ay medyo fragmented.
>> Lahat iOS ay pinag-isang.
At hangga't lumikha ka isang app para sa iPhone,
maaari mong napaka madaling port na sa iPad, iPad mini, o iba't-ibang mga laki ng iPhone.
Ito ang lahat ay talagang maginhawa.
At ito ay lamang talagang magandang para sa impressing ang iyong mga kaibigan.
Maaari mong pindutin nang matagal lang ng iPhone at sabihin sa iyong mga kaibigan hey,
ito ay ang app na magsagawa ko.
Maaari mong gawin na para sa anumang desktop apps, na kung saan ay mabait.
>> Ang lahat ng mga karapatan, ngayon sabihin aktwal na makakuha ng sa wika Layunin C.
Kaya bakit hindi simulan namin gamit ang ang ilang mga talagang pangunahing syntax.
Tulad ng aking nabanggit bago Layunin C Ito ay isa lamang superset ng C.
Kaya ng maraming pangunahing syntax ay ang parehong aktwal na eksaktong.
Ang pagdeklara ng variable at pagdaragdag ng dalawang variable-sama
ay eksakto kung paano namin ginawa sa Mario.
Walang mga bagong dito.
>> Gayundin, ang mga nangungupahan para sa loop at kundisyon din ang parehong.
Maaari mong gawin ang isang para sa loop tulad mo na ginawa sa isang Mario [hindi marinig].
At maaari mong gawin kundisyon tulad ng kung ano ang
Na-paggawa sa iyong nakaraang mga set p.
Gayunpaman, Layunin C Hindi ganap C,
at mayroong isang bagay na ay uri ng kakaiba tungkol dito.
>> Ang unang isa sa pagiging na kapag ikaw ay paggawa ng C programming, karaniwan mong tawagan
isama at pagkatapos ng isang pangalan ng library.
Ngunit sa Layunin C tawagan ka import na iyon.
Talaga sinasabi ng pag-andar, iba't-ibang mga pangalan lamang.
At ang mga string ay talaga Medyo kakaiba.
Maaari mong makita na ang unang bagay na uri ng kakaiba
ay na mayroon kang isang magandang weird-- sorry-- mayroon kang isang magandang kakaiba NS
mag-sign sa paglipas dito.
At ang pangalawang bagay na uri ng kakaiba
ay mayroon kang isang pag-sign sa bago talaga deklarasyon ng string.
Kaya ang pag-sign sa isa lamang Sumisimbolo na isang string ay hindi lamang isang string,
ito ay talagang isang bagay.
Kami ay pagpunta sa ipaliwanag na mamaya kaya huwag
gulat kung wala ka maunawaan kung ano ang ibig sabihin nito ay.
At pag-print sa console Medyo iba't ibang dahil sa C tinatawag naming printf,
ngunit sa Layunin C tinatawag naming [hindi marinig].
>> Maaaring nag-iisip ka kung ano ang iyon.
Iyon ay isa lamang printf, isang lang ibang wika.
Eksaktong kapareho sa paggamit, nang eksakto ang parehong pag-andar.
Well ito lumiliko out na Layunin C talaga
May isang NS prefix sa halos ang lahat ng bagay, ang bawat pangunahing uri ng data,
nsstring, nsarray, nsdictionary.
Ang dahilan sa pagiging na NS talaga ang ibig sabihin ay Kasunod na Hakbang,
kung saan ay isang kumpanya na Steve Trabaho ay itinatag,
kung saan ay isang kumpanya na kung saan ang wika Layunin C ay ipinanganak.
Kaya ito ay isa lamang tradisyon.
Alam ko ito nang kaunti kakaiba, ngunit ito ay Apple.
>> Kaya isang bagay na kahit weirder kaysa doon ay isang katangian na pagpapahayag.
Ito ay ibang-iba mula sa kung ano tayo makita sa C, dahil dito ito talaga
ay hindi mukhang C na ngayon.
Ano mayroon kang here-- ng paraan na ito ay hindi isang bullet point,
ito ay isang minus sign.
Mayroon kang isang minus sign panaklong walang bisa at pagkatapos ay ang pangalan ng function.
Ipagpalagay natin na lamang kung namin Mayroon kumusta mundo, pagkatapos ay
ang uri ng return ay magiging walang bisa dahil wala kaming bumalik.
>> Ano ang nakukuha ng talagang kakaiba ay na kapag ikaw ay
pagkakaroon ng higit sa isang parameter pagpasa sa isang parehong pag-andar na
magiging talagang kakaiba tulad ng ipinapakita dito.
Mayroon kaming isang pangalan ng pamamaraan, tinatawag na addInt sa [hindi marinig]
at kami ay pagpasa sa isang parameter.
Ngunit pagkatapos noon, mayroon kaming higit pangalan paraan ng tawag sa.
At pagkatapos sa kami ay pagpasa ang pangalawang parameter.
Ito ay talagang isang maliit na bit kakaiba, ngunit ang lahat ng mga function na pagdeklara
sundin ang parehong pattern bilang na ito.
>> Mayroon kaming simbolong minus upang magsimula sa.
Ang minus sign maaaring maging isang plus sign minsan batay sa kung anong uri ng paraan ng
ay ito.
Ang Paraan ay isa lamang isa pang pangalan para sa function.
At kami ay pagpunta sa ipaliwanag na sa ibang pagkakataon kapag
kami ay pakikipag-usap tungkol sa bagay nakatuon sa programming.
Una mo munang tukuyin ang return -type sa loob ng panaklong,
pagkatapos nito ay ang pangalan na pamamaraan.
Ikaw ay pagpasa sa isang parameter.
At kung mayroon kang higit parameter kailangan mo upang patagalin ang pangalan ng pamamaraan
at isa lamang magsulat ng isang bagay na higit pa rito.
>> Ito ay maaaring maging anumang nais mo.
Sa aming kaso ito ay may.
Ngunit maaari mong sabihin ng pagtatapos, o o, o abc full bar, anumang gusto mo.
At pagkatapos ay pagkatapos na ikaw ay pagpasa parameter b.
Ito ay isang talagang kakaiba convention ngunit kami ay
pagpunta upang makita kung bakit gusto Apple upang gawin iyon nang masyadong mabilis.
Kaya paano mo tawagin ang function?
Tinatawagan ang isang function sa Layunin C ay naiiba mula sa C. ring
>> Sa totoo lang, pagtawag ng -andar sa Layunin C
ay higit na katulad ng kausap mo sa isang tao.
Narito mayroon kaming sariling, na ay tinatawag na isang bagay.
Naka isa lamang na nagsasabi sa iyo ang object sarili upang sabihin ang "Hello World!"
Iyon ay kung paano tawagin ang function.
Isang bagay at isang pangalan ng pamamaraan pinagsama sa bawat isa.
At ito ay kung saan ang kakatwang mga extension para sa pangalan ng pamamaraan ay talagang sa pag-play.
>> Tingnan natin ang pangalawang halimbawa.
Tinukoy na lang namin ng paraan na tinatawag na addInt sa blah blah blah.
Kaya sa kasong ito kapag tumatawag ka na tukoy [? mensahe?] ito ang nangyayari
upang magmukhang sarili addInt: 10 ng: 2.
Mukhang Ingles.
Kahit na ang pag-andar function ng pagpapahayag ay kakaiba,
sa punto ng Layunin C ni paraan ng pagpapahayag pattern,
ay na kapag tumatawag ka ang function o pamamaraan
ito ay akma sa aktwal na Ingles.
Kaya napaka-intuitive sa sandaling makuha mo ito.
>> Lalo na sa kasong ito, kung saan maaari mong talaga
makita na ang pangalan function ay uri ng nakadokumento ang sarili nito.
Hindi mo kailangang anumang higit pang paliwanag upang makita
kung ano eksakto ang nangyayari, kung ano eksaktong isang parameter paggawa.
Lagpas na, na makipag-usap ng kaunti ipaalam bit tungkol sa bagay na nakatuon sa programming.
Bagay oriented na programming ay isa sa mga pangunahing programming
diskarte o mga pattern na ginagamit ng Layunin C. Layunin C
ay tinatawag na Layunin C, hindi C, para sa isang talagang magandang dahilan.
>> Kaya bago namin makuha sa Layunin C syntax,
Ay talagang mabilis na makita ang Hayaan kung ano ang eksaktong ay isang bagay.
Marahil kami ng isang bagay tulad ng bagay na bago, na
ay tinatawag na struct kapag ikaw ay pagpapatupad ng isang puno o naka-link na listahan
o [? subukan. ?] Kaya, ito ay isa lamang tulad ng isang struct,
ngunit ito ay mas malakas kaysa doon.
Ang isang bagay na may mga pamamaraan at mga katangian.
Mga Paraan ay isa lamang function.
Talaga mga function na ang isang partikular sa isang partikular na bagay.
>> At mga ari-arian ay isa lamang sa field na tinukoy mo sa struct.
Kaya para sa bawat solong bagay na mayroon kaming ilang mga ari-arian
na may ilang mga variable na partikular sa object.
At mayroon kaming ilang mga pag-andar na partikular sa bagay na rin.
At ang function ay tinatawag na mga pamamaraan at ang mga variable ay tinatawag na mga katangian.
Ito ay lamang ng isang magarbong pangalan.
Habang katunayan, bawat solong pagtingin nakikita mo habang binuksan mo ang isang iOS app,
sabihin nating lamang ng Twitter o Facebook, bawat solong view ng nakikita mo ay isang bagay.
At kahit na sa buong app isang bagay na magsimula sa.
Tunay na kagiliw-giliw na konsepto.
>> At bakit gusto namin na bagay nakatuon sa programming?
Kaya maaari mong isipin na kapag programa ito ay makakakuha ng medyo kumplikado.
Sabihin nating lamang kapag ikaw ay pagpapatupad ng chessboard,
ang logic ay pagpunta sa ay talagang kumplikado.
Mayroon kang 36 iba't ibang piraso, upang kung mo
nais na magsulat ng logic para sa lahat 36 iba't ibang mga piraso sa chess,
na magiging ng maraming iba't-ibang mga function at variable.
Ito ay may maraming mga problema.
At marahil ka ng pagpunta sa magsulat ng isang ibang paraan o iba't ibang mga pag-andar
para sa bawat isa sa mga piraso sa eksaktong kontrolin kung ano ang ginagawa nila.
>> Ngunit kung gagawin mo sa bagay na nakatuon sa programming, ang lahat ng mga piraso
maaaring lumilipad ang isip sa isang single bagay.
At ang bagay ay magkakaroon ng ilang mga karaniwang ari-arian, tulad ng kung anong uri ng piraso
ito?
Anong kulay ito?
Paano ito maaaring ilipat?
At sa paraan na ikaw ay may lubos na pinasimple ang logic nito.
Kaya lang talagang mahusay na paraan upang gumawa ng mga kumplikadong mga programa,
at hierarchical relasyon sa loob ng programa, napaka-simple.
Habang kami ay pagpunta upang makita ang bakit masyadong mabilis kapag
talaga naming ginagawa programming-- kapag kami ay talagang
paggawa ng isang S code mga programa session mamaya.
>> Well bilang karagdagan sa na, object oriented na programming
lamang ng maraming masaya.
Nakakuha ka upang idisenyo ang iyong sariling mga bagay.
Nakakuha ka upang magdisenyo ng kung ano ang ginagawa itong parang sa pamamagitan ng iyong sarili.
Walang tamang sagot dito.
At ito ay ganap na kawili-wili.
Kaya sa bagay na nakatuon sa programming, dalawang pangunahing mga konsepto
Magiging klase at halimbawa.
Ang isang klase ay isa lamang isang template para sa object.
At isang instance ay isa lamang isang tukoy na bagay.
>> Sabihin lang sabihin nagsasagawa ka ng isang cookie.
Sa kasong ito, ang bawat solong cookie na aktwal mong tapusin up gamit
ay magiging isang bagay.
Ngunit ang cookie plate na ginagamit mo upang magtapa ang lahat ng mga cookies ay magiging isang klase.
Ang isang klase ay isa lamang ng isang template.
At ang mga halimbawa ay magiging isang tukoy na bagay na nilikha out sa klase na iyon.
>> At isang instance ay lilikhain batay sa klase ng pagpapahayag,
bilang ay namin makita sa ibang pagkakataon slide.
Kaya sabihin aktwal na gawin ang isang tunay na mabilis na halimbawa [hindi marinig].
Sabihin natin kami ay deklarasyon isang bagay para sa isang pusa.
Dapat have-- bagay sa klase pusa dapat
May ilang mga katangian at mga pamamaraan.
Anong uri ng mga katangian ay dapat na ang have-- klase ay dapat magkaroon ng pusa?
>> Halimbawa, kulay, edad at lahi, ang mga
Magiging variable na partikular sa bawat pusa.
At mga ilang bagay na ginagamit namin upang ilarawan ang isang pusa.
Anong uri ng pamamaraan, o kung ano ang nagagawa ng pusa?
Ang ilang mabilis na mga halimbawa ay maaaring maging habulin mouse, kumain isda o ngiyaw lamang.
Ito ay isang tunay mabilis Halimbawa ng pusa class.
At isang talagang tiyak na pusa object ay magiging isang pusa
kung saan namin tukuyin ang kulay, ang edad at lahi.
>> Sa kasong iyon, ang aming object ay Hindi na isang klase na ngayon.
Kopyahin namin ang template mula sa klase at na aming tinukoy sa bawat partikular na impormasyon
sa partikular na bagay upang gawin itong independent.
At kapag tumatawag ka isang paraan sa loob ng isang object,
Tatawagan ka lang ngiyaw sa bagay, kung saan ay ang pusa nilikha.
>> Marahil ay kang mag-print out isang bagay tulad ng "Hello World!
Ngiyaw. "
Kahanga-cute na.
Ang lahat ng mga karapatan, sabihin lamang kumuha sa ilang mga detalye
at tingnan kung ano ang ginagawa nang eksakto na isalin sa pagiging iOS programming.
Kaya sa iOS programa bawat solong klase ay ipinatupad sa dalawang mga file.
Isa file dito, na ay tinatawag na interface.
Ang isa pang file ay dito, na ay tinatawag na pagpapatupad.
>> Karaniwan ang interface Magkakaroon extension.h
bilang namin nakita sa C aklatan.
At pagpapatupad ng file ay Magiging extension.n.
Ito ay uri ng kakaiba.
Ngunit .n nangangahulugan na aktwal .c, walang pangunahing pagkakaiba sa pagitan ng mga
dalawang.
Kaya sa kasong ito, maaari naming makita na hindi namin pagpapahayag interface, Cat: object.
Iyon ay tinawag na pamana.
Talaga kami inheriting ang pusa klase mula sa klase object.
Kaya ang bawat ari-arian at ang pamamaraan na iyon ay dati tinukoy sa klase object
ay awtomatikong mai tinukoy sa isang klase pusa pati na rin.
>> Bilang karagdagan sa na, tinutukoy namin kulay, lahi, at edad, tatlong variable.
Na aktwal na kamukha isang bagay na nagawa mo na dati.
Mukhang struct.
Iyon ay isa lamang ang syntax para sa struct pagpapahayag,
at iyon ay talagang tama.
At dahil nabanggit ko bago, ang pagkakaiba sa isang struct
at ang isang bagay, ang isa sa mga pangunahing pagkakaiba
ay ang isang bagay ay may pamamaraan, habang ang isang struct ay may mga variable lamang.
Kaya sa karagdagan sa mga ari-arian o variable na nilikha namin para sa bagay na ito,
tukuyin namin ang ilang mga paraan.
>> Hayaan sabihin lang dito mayroon kaming ng dalawang mga pamamaraan, ang isa ay ngiyaw,
isa pa ay palayasin mouse.
Malamang na gusto naming ay pagpasa sa isang batay sa aming nakaraang pamamaraan ng parameter
pagpapahayag ng pattern.
Marahil ay nais mong maging pagpasa ng mouse.
At makikita mo marahil gusto upang magbalik ng bool signifying
kung ang iyong cat ay matagumpay nahuli ang mouse o hindi.
>> Ito ang interface, ngunit maaari naming makita na ang interface ng aktwal
Hindi gumawa ng kahit ano.
Sinasabi ito lamang isang programa kung ano exists-- kung ano ang umiiral sa klase pusa.
Kaya sa order para sa programa upang gawin ang isang bagay,
kailangan namin upang magkaroon ng mga file pagpapatupad.
Kaya dito, ang unang bagay na aming ginagawa ay Malinaw na-import namin ang interface.
Pagkatapos naming mag-import ng interface, tinutukoy namin ang paraan.
>> Hayaan sabihin ni lang dito ngiyaw Gusto print lamang
"Hello World!" sa console.
At pagkatapos ng pagpapatupad file, halos tapos na kami.
Ito ay isa lamang sa isang klase pagpapahayag para sa isang klase.
Kaya ngayon ang tanong ay nagiging, paano mo ipinapahayag sa isang variable?
Ang paraan na ginagamit mo sa isang klase upang lumikha ng isang bagay sa Layunin C ay nakasulat dito.
>> Una mo munang tukuyin na ito ay isang pointer pusa,
dahil ang bawat bagay sa Layunin C sa wakas ay ipinatupad bilang isang pointer.
At tumawag ka sa klase, tawagan ang mga ito bilang alloc, na ay isa lamang malloc,
na nagsasabi sa operating system na sa iyo Kailangan ng ilang espasyo memory para sa bagay na ito.
Pagkatapos na mayroon kang isang bagay na at simulan mo lamang ito.
Ito ay convention lamang.
Alam ko ito ay isang maliit na bit kakaiba, ngunit ito ay talagang kung paano Apple ang mga bagay-bagay.
>> Pagtatalaga ng mga ari-arian ay talagang kaakit-akit prangka.
Ito ay halos kapareho sa kung ano ang iyong ginagawa noong
ka sa pagtatalaga ng ilang mga partikular na field sa loob ng struct.
Mayroon kang lamang ang variable pangalanan, ang pangalan ng ari-arian,
at magtalaga ng tiyak na halaga sa mga ito.
At pagtawag ng paraan ay katulad na katulad.
Ang pagtawag sa isang paraan ay talaga kung ano ang makipag-usap ko tungkol sa
para sa pagtawag sa anumang paraan sa Layunin C.
>> Ikaw ay pagpasa sa isang bagay, sa kasong ito ito ay magiging myCat,
at tapos ka pagpasa sa pangalan ng pamamaraan.
Bilang kung ikaw ay pakikipag-usap sa mga bagay, myCat, na dapat mong ngiyaw.
Kahanga-kawili-wili.
Pagkatapos nito, mayroong isang higit pang mahalaga pattern disenyo
na kailangan namin upang makipag-usap tungkol sa bago pagpunta sa aktwal S code.
Na pattern na disenyo ay tinatawag na hinihimok ng programming kaganapan.
Ito ay malamang din isa sa mga pinaka pangunahing ideya sa iOS programming.
>> Kaya marahil hindi alam ang eksaktong ay ang programming hinimok ng kaganapan,
pero hindi talaga na nakakatakot.
Well sa katunayan, mayroon kang nagawa na dati.
Ito ay isa sa mga linya ikaw ay malamang na na nakasulat sa huling [hindi marinig]
ng CS50, google.maps.event.addListener (marker,
"I-click", function na () {}) :.
Sa pamamagitan ng pagtawag sa linyang ito ikaw ay lubos na nagsasabi sa ang computer
na sa tuwing tinatawag na kaganapan "I-click" ang mangyayari sa marker,
gamitin na function.
>> Ito ay ibang-iba mula sa ano ang ginagawa mo sa mario.c.
Sa mario.c patakbuhin mo lamang ang programa -sabay, binibigyan ka nito ng output,
at tapos ka na.
Ito ang mga uri ng tulad ng one shot na programa.
Mga programa na hinimok ng Kaganapan napaka, ibang-iba.
Ng isipin Hayaan, kung Facebook ay isang isa shot programa hindi ito talagang mahusay.
Pumunta ka lang sa Facebook isang beses at tapos na ito.
Nagbibigay ito sa iyo ng ilang output at hindi ka na kailanman nakuha ko pabalik.
Hindi mo nakuha kahit ano pa.
>> Kaya dito, lalo na ang pattern na ginagamit namin ay
hinihimok ng kaganapan, sa gayon ay ang bawat pag-andar habilin
ay nahuli batay sa kung ano ang nangyari kaganapan.
Halimbawa, kung kami ay isang pindutan at aming tinukoy
na sa tuwing pindutan na ay na-click, tawagan ang function na tinatawag na "Hello World!"
Sa na paraan na aming makakaya talaga pamahalaan ang mga function ng logic
dumaloy sa isang lubos na kakayahang umangkop paraan.
Maaari gawin o tumawag sa isang function ng user ang na iyon ay tinatawag na.
Ganap Ito ay batay sa kung ano ang ginagawa ng mga user.
>> Upang maaari naming makita na ito ay talagang mas mahusay kaysa sa mario.c.
At magandang balita ay ito talagang hindi isang bagong konsepto.
Ikaw guys pa nagagawa na itinakda sa huling problema.
Kaya sa Layunin C mayroong tatlong iba't ibang mga diagram
para sa programming hinimok ng kaganapan.
Ang unang diagram ay tinatawag na target na pagkilos,
kung saan mo panagutin ang isang pindutan pindutin na may ilang function.
Ipagpalagay natin na lang, sa tuwing nag-click ilang mga pindutan, tumawag ka ng ilang function.
Ito ay napaka-simpleng pagkilos target.
>> Ang ikalawang isa ay talaga ang hardest isa,
ito ay tinatawag na pagtatalaga sa protocol.
Kami ay pagpunta sa ipaliwanag na sa mahusay na detalye sa ibang pagkakataon.
At ang ikatlong paraan ay abiso.
Ito ay talagang hindi Napakahalaga bilang malayo
bilang namin nababahala, dahil ang pagkakataon na iyong pupuntahan upang gamitin ang notification
sa inyong huling proyekto ay medyo mababa.
Kaya kami ay pagpunta upang laktawan ang bahaging iyon.
>> At kami ay pagpunta sa sumisid sa pagtatalaga sa protocol.
Kaya kung ano ang eksaktong ay isang protocol?
O kaya kung ano eksakto ay isang pagtatalaga?
Makipag-usap tungkol sa protocol na magsimula sa mga Hayaang.
Protocol ay walang anuman kundi mga kaganapan.
Ngunit ang mga kaganapang ito ay ibinigay sa iyo sa pamamagitan ng Apple upang magsimula sa.
Halimbawa, hindi ako ganap na sigurado kung paano marami sa inyo
guys gamitin ang orihinal Apple app mail o makipag-ugnay,
ngunit sa bawat oras na mag-scroll ka sa mesa at pindutin ang partikular na cell
sa mesa, iyon ay isang kaganapan.
>> At kung gusto mong gawin na kaganapan sa pamamagitan ng iyong sarili,
ito ay talagang isang maliit na bit mahirap.
Kaya Apple ay nagbigay na kahit na sa iyo sa gayon ay maaari mo lamang gamitin nang direkta
ang kaganapan upang gawin ang isang bagay sa iyong sarili.
Protocol ay talagang talaga ito, talagang malawakang ginagamit
sa Layunin C. Well sa katunayan, bawat solong app
May isang bagay na nahuli delegado app.
Sa loob ng pinong ay ang lahat ng mga protocol para sa paglo-load ng app.
>> Sabihin nating lamang doon ay May ginawang pag-load ng isang kaganapan para sa app.
Kaya kung ano ang dapat mangyari matapos mong nai Nalikha ang isang app, pagkatapos buksan mo ang app,
pagkatapos mong isara ang app, o pagkatapos ilagay mo ang iPhone matulog.
Ito ang lahat ng mga kaganapan na may Na-na ibinigay sa iyo.
At orihinal loob ng mga particle walang magiging pagpapatupad.
Lamang sinabi sa iyo ng Apple na ang function na ito ang mangyayari kapag nangyari ang ilang mga kaganapan,
ngunit kung ano ang ginagawa mo sa na function ay ganap na nakasalalay sa iyo.
>> Paglalaan ay isa lamang na nagsasabi sa klase
na dapat mong panghawakan ang mga protocol.
Ito ay isang maliit na bit nakakalito, ngunit
magkano ang mas malinaw kapag ginagawa namin ang mga code mga pagkilos.
Pagtatalaga sa protocol ay talagang isang lubos na malakas na mekanismo sa kamalayan
na kung gagawin namin ang paglalaan sa isang tiyak na klase,
maaari naming lubos na pangasiwaan lahat ng uri ng mga kaganapan
gamit ang anumang klase mayroon kami, napaka-maginhawang tool.
>> Kaya isa mabilis na halimbawa para sa pagtatalaga sa protocol
Magiging ano usapan lang ako tungkol sa.
Protocol na ito na partikular ay tinatawag na tableview [hindi marinig] piliin papel
sa [? index?] [? nakaraan. ?] Kaya ito isang kaganapan na ay nahuli kapag
talaga mag-tap sa isang tiyak na cell sa iyong tableview,
sabihin nating lamang sa iyong mail o sa iyong app contact.
>> Sa loob ng isang function nagkaroon Orihinal na wala kang ginagawa.
Function na ay ayaw gumawa ng anumang bagay sa pamamagitan ng default.
Ngunit maaari mong tukuyin ang ano ang ginagawa ng function,
ibinigay kung ano ang nais mong out sa iyong app.
Napakaluwag maginhawang tool.
At sa lahat na sinasabi, ako talaga
masakop ang ilang mga napaka basic syntax at pangunahing konsepto para sa Hangarin C
programming, at maaari naming gawin ang ilang mga code.
Mas kapana-panabik.
Kaya code ay talagang isang Medyo napakatinding
kapag binuksan mo ito sa unang pagkakataon.
>> Isang maikling paalala, kaya kung nais na gawin iOS-unlad,
Masidhing kong inirerekumenda mayroon kang isang Mac.
Dahil ang paggawa iOS-unlad sa Windows ay talagang, talagang mahirap.
Ito ay maaaring gawin, ngunit ito ay talagang mahirap.
At na talagang gawin Hindi nais na gamitin ang g-edit.
Kaya sa mga code na mayroon kami maraming iba't ibang mga lugar.
Kapag una mong buksan ang mga code makakakita ka ng navigation area,
kung saan talaga nagpapakita sa iyo ng lahat ng mga mga file na nasa iyong kasalukuyang proyekto.
>> Mayroon kang isang toolbar area, na ay isa lamang sa pamamahala ng mga view,
o ilang maliit mabilis mga tool tungkol sa mga mismong code.
At ito ay ang aktwal na editor area.
Ang lugar na ito ay katulad na katulad edit g, ngunit magkano ang mas mahusay kaysa sa g-edit.
At sa karapatang ito na lugar, ay na tinatawag na ang utility area.
Ang lugar ay nagiging tunay na madaling gamitin kapag lumilikha ka ng interface o pagtukoy
ilang mabilis na mga setup para sa iyong app.
>> At ang pangwakas na lugar ay ang pag-debug.
Ang lugar na ito ay naglalaman ng console.
Kaya sa tuwing sasabihin mo printf, o nslog sa aming kaso,
lahat ng iyong mga resulta ay pagpunta sa ipi-print dito.
Ang lahat ng mga karapatan?
Sa tingin ko maaari naming talagang mabilis gawin isang halimbawa para sa iOS programming.
At sabihin na aktwal na buksan ang mga code.
Kaya sa tuwing bubuksan mo ang mga code na ito, pagpunta sa lumabas ang isang bagay tulad na.
Ito ay pagpunta sa hilingin sa iyo kung ano ang nais mong gawin?
Huwag gusto mong magsimula ng isang bagay random, playground, isa lamang sa iyo
masusubukan lamang ang code nang walang talaga tanggapin ang alok sa anumang app.
>> Huwag mo nais na lumikha ng isang bagong proyekto?
O nais mong magpatuloy nagtatrabaho sa mga umiiral na proyekto?
Sa aming kaso kami ay pagpunta upang lumikha ng isang bagong proyekto.
Kaya talagang maganda, y code na aktwal na may
nagbigay sa iyo ng ilang mga template para sa paglikha ng mga bagay.
Kung gusto mong gawin sa laro, s code talaga ay may template laro para sa iyo,
May mga application na pahina batay, tab na batay sa application.
Sa kasong ito, kami ay pagpunta gawin napaka-simpleng bagay,
at kami ay pagpunta sa gumamit ng isang -iisang view ng application.
>> Pagkatapos na lamang kung ano ang gusto mong tawagan ang iyong produkto, at kung ano ang iyong pangalan,
kung ano ang iyong identifier, at kung anong wika ang iyong ginagamit.
Narito hindi namin nais na suriin gamit ang Core Data.
Core Data ay isa lamang databasing iOS.
Kung gagawin mo Core Data, s code ay pagpunta upang tukuyin ang
mas komplikado klase ng maraming para sa iyo.
Kaya upang panatilihing simple ang lahat, kami ay lamang ng pagpunta sa gawin nang walang Core Data
sa ngayon.
>> Ang problema kami ay magiging gamit ang that-- ang problema
kami ay pagpunta sa ma-paglikha ay na namin gusto talaga mag-import Mario mula sa C
sa isang iOS app.
Kaya sabihin tumawag na Mario-iOS.
Siyempre mong tukuyin kung ano ang gusto ang ilalagay sa iyong proyekto.
At doon pumunta namin.
>> Kaya ito ay isang kaunti napakalaki, ngunit ito ay talagang
kung ano ang nakita lang namin sa slide.
At ang unang lugar na nakikita natin ngayon ay isa lamang configuration proyekto.
Kaya lahat ng bagay na nais mong gawin proyekto, kung anong uri ng aparato,
sabihin nating lamang kung anong uri ng aparato ang gusto mo sa iyong app upang lumitaw sa?
Ito ba ay iPhone, iPad o pandaigdig?
Kaya oryentasyon aparato, ang lahat ng mga bagay-bagay na ito.
Hindi masyadong mahalaga, pero maaaring, ngunit ito
ay isang lugar kung saan mo i-set up iyong proyekto kung talagang
nais na i-deploy sa tindahan ng Apple.
>> Ang lahat ng mga karapatan, tingnan natin hayaan isang bagay na nasa loob ng aming code.
Sabihin dumaan sa file navigator.
At ang mga ito ay ang lahat ng file na na kasama ang template, napaka mabait.
Kaya kapag nag-click ang isa sa mga ito ito ay kung ano ang mukhang.
Na halos kapareho sa g-edit.
Ngunit maaari mong makita na ang syntax-highlight Marahil
Medyo nicer.
At ito ay tunay na marami pang iba malakas kaysa sa pag-edit g.
At maaari mong auto kumpletong ng maraming mga bagay para sa iyo,
bilang ay namin makita nang masyadong mabilis.
>> Buksan at pati na rin ang pag-debug area Hayaan.
Ang lahat ng mga karapatan, tulad ng maaari naming makita, console ay dito mismo.
Ito ay kung ano ang iyong pagpunta upang makita kung saan ikaw ay nasa printf o nsloging ng isang bagay.
Kaya nang walang karagdagang linggal, sabihin talaga mag-compile ang app at makita kung ano ang mangyayari.
Isang mahalagang tampok para sa code s, ay ang code s
ay may isang iPhone simulator.
Kaya hindi mo na kailangang magkaroon ng isang iPhone upang subukan ang iyong proyekto,
Maaari gayahin code na para sa ikaw, tulad ng maaari naming makita ngayon.
>> Kahanga-mabait.
Ito ay kumukuha ng isang maliit na kaunting oras upang sumulat ng libro
at isa lamang na mayroon kami isang walang laman na application,
kung saan talaga ang wala.
Ngunit ito compiles.
Kahanga-hanga.
Ito ay magkano ang mas mahusay kaysa sa C, huh?
Ang lahat ng mga karapatan, pagkatapos ay i sabihin subukan upang magdagdag ng isang bagay.
Isa file na Medyo kakaiba dito ay tinatawag na storyboard.
Ito ay tunay na isang mahusay na, kahanga-hangang tampok para sa mga code.
Dahil sa mga code, maaari mong i-drag talaga at i-drop ang mga elemento papunta sa interface
at ito ay direkta lumabas.
Subukan natin iyon.
>> Kami maglagay ng label dito, "Hello World !!!"
Maaari naming na nakasentro na iyon.
Medyo cool.
Ngayon patakbuhin natin ang stop simulation ipaalam.
Narito mayroon kaming "Hello World !!!"
Ay namin hindi pa gawin ang anumang coding.
Ano ang ano ba ang nangyayari?
Ito ay kung paano malakas Interface Builder ay maaaring maging.
Kahit na sinabi ng isang tao na maaari mong marahil lamang
kumpletuhin ang isang app nang hindi pagsulat marahil ng isang libong mga linya ng code
sa pamamagitan lamang ng paggamit ng Tagabuo ng Interface.
Ngunit malamang na hindi ang pinakamahusay na paraan upang gawin ito.
>> Ngayon sabihin talagang makakuha ng pababa sa coding.
Kaya ang istraktura para sa file ay talagang talagang kawili-wiling
dahil, bilang maaari mong makita, mayroong Walang pangunahing pag-andar kahit saan.
Tingnan?
Tulad ng aming nabanggit bago, maaari mong makita na ito
ay isang pagpapatupad ng file para sa isang tiyak na klase.
Ngunit walang pangunahing kahit saan.
Kaya kung saan ay main?
Sa totoo lang, mayroong isang pangunahing, ngunit ang pangunahing ay aktwal na nakatago mula sa iyo.
Ang pangunahing ay dito.
Na mukhang pamilyar.
>> Kaya kung ano talaga iOS ginagawa sa loob ng pangunahing
ay na kahit kailan ay pangunahing tinatawag na, na kung saan ay isa lamang
sa tuwing ang app ay pinaandar, ito ay lumikha ng isang bagay na tinatawag na AppDelegate.
Tulad ng nabanggit ko bago, ang buong app ay talagang isang bagay sa pamamagitan ng mismo.
Kaya sa ganitong paraan, isa lamang ang iOS app ay nagsasabi sa mga compiler
na OK, Pupunta ako sa gumawa isang produkto na tinatawag na AppDelegate,
at iyon ay magiging aking app.
Kaya kailangan mong pumunta sa pamamagitan ng na AppDelegate
at tingnan kung ano ang ginagawa na tao.
Aking trabaho ay tapos na para sa akin.
>> At sa AppDelegate maaari mong makita na mayroong ilang mga talagang kakaiba pag-andar,
na rin aktwal na mga pamamaraan, na Apple ay nagbigay sa iyo.
Ano ang mga ito?
Ang mga ito ay talagang lamang ng mga protocol na pakikipag-usap ko tungkol sa.
Kaya ang mga ito ay mga kaganapan na Apple ay nagbigay sa iyo na magsimula sa.
Walang anuman sa ilang ng mga function sa ngayon,
ngunit kung gusto naming i-initialize isang bagay para sa aming mga app
bago pagkuha sa pagpapakita anumang view, ginagawa namin na dito.
>> Maaari mong basahin lang ang pangalan at hulaan ko ang kaganapan ay aktwal na talagang malinaw.
Kaya ngayon pangunahing ay lumikha isang bagay para sa AppDelegate.
At kung ano AppDelegate ay pagpunta sa gawin ay talagang nakatago din mula sa iyo.
Ang AppDelegate ay pagpunta sa simulan paglo-load ng ViewController stock.
Kaya ito ay isa lamang ng pagpunta sa simulan naglo-load ang lahat ng mga tanawin na mayroon kang
at i-render lang ang pagtingin batay sa hierarchy.
>> Kaya sa kasong ito ay may lamang namin isang view, na kung saan ay dito.
Kaya na ang tanging tanawin na pupuntahan tatawagin.
Ang ViewController logic ay dito mismo.
Ito ang code na talaga Kinokontrol ng view ng nakita natin lamang.
Ang lahat ng mga karapatan, gawin ang isang bagay na ipaalam dito.
Kaya tunog viewDidLoad tulad ng isang kaganapan, kapag sa katunayan ito ay isa ring delegado,
ito ay isa ring protocol.
>> Kaya kahit anong view load, lahat ng bagay sa loob ng function na
ay tatawagin.
Sa kasong ito dapat naming makita "Hello Tianyu! "Kung patatakbuhin namin ang programang.
Nakakakuha ito ng kaunti mabagal kino-compile ang storyboard mga file.
Well sa katunayan, namin makita ang isang output para dito.
Ito ay medyo cool.
Ngayon ay talagang gawin Mario ipaalam.
Pupunta ako upang tukuyin ang gumana nang masyadong mabilis.
marioWithLevels: mga resulta sa (int) na antas.
>> Ang lahat ng mga karapatan, ito ay aktwal na ang kahanga-hangang Ang tampok ng code ng auto pagkumpleto.
Kaya kapag nagsusulat ka para sa at i-type ang enter, ito ay ibinigay up ang template
para sa iyo, na kung saan ay medyo cool.
Iyon ay dapat magmukhang tunay pamilyar sa iyo guys.
Paumanhin, hindi iyon ang aking kasalanan.
Ang lahat ng mga karapatan, cool.
Dapat magmukhang logic na talagang pamilyar sa iyo guys, lalo lamang Mario.
>> Ngunit ay i-print namin ngayon out sa console ng bawat solong oras,
dahil gusto naming panatilihin sa paanuman subaybayan kung ano ang ginagawang pag-print namin.
Kami ay pagpunta sa gamitin ang Mga resulta ng kahit papaano ay sa ibang pagkakataon,
upang ipakita ang mga naka-print out magresulta sa user.
Kaya sa halip hindi namin lamang nslogging lahat ng bagay,
na kung saan kami ay nag-iimbak ng lahat ng bagay sa isang resulta ng pag-andar ng tawag,
ngunit ang logic ay eksaktong kapareho.
Pagkatapos naming tapusin ito, kami i-print lamang ang aming mga resulta.
>> At dito sa halip ng pag-print out ang aking pangalan, kami ay pagpunta sa tumawag sa isang function.
Tingnan natin kung ano ang mangyayari Hayaan.
Oops, nang walang alinlangan.
Ginagawa namin Magandang maliit na pyramid out dito.
Ito ay isa lamang C, hindi namin lamang ng pagpapatakbo kung saan mo tumawag sa isang function
at kung paano hanapin ang isang function tulad.
Wala iba't ibang ay.
Ngunit ito ay talagang hindi masyadong kapana-panabik dito,
dahil hindi namin nakikita anumang bagay mula sa iPhone app.
>> Kaya kung aktwal mong magkaroon ng isang iPhone app-- kung aktwal mong magkaroon ng Mario iOS karapatan
ngayon, hindi na iyong pupuntahan upang makita ang anumang bagay na
May kahit ano ang gagawin sa Mario dahil lahat ng mga output sa isang console
Nakatago mula sa isang user.
Ito ay kung ano ang nakikita mo, na kung saan ay "Hello World !!!"
Hindi mabuti.
Ngayon subukan upang gawing nakikita ng gumagamit ang hayaan kung ano ang eksaktong kaming nagpi-print out.
Kaya hindi namin kailangan upang lagyan ng label na ngayon.
Subukan Hayaan at malaman kung ang isang bagay iba ay maaaring na maging kapaki-pakinabang.
>> Mayroon talagang isa elemento na ay tinatawag na
patlang ng teksto, na dati maging kapaki-pakinabang sa amin.
Ito ay nagpapakita ng isa lamang na rehiyon ng teksto na maaaring ma-edit.
Kaya na ganito talaga nakakatulong.
Ngayon hayaan i-drag natin ito at i-drop ito.
Wow, mayroon kaming isang view ng teksto sa aming view, talagang magarbong.
Iyon ay masyadong malaki nang kaunti.
Ay gawin itong mas maliit Hayaan.
Ilagay ito sa center.
Gawin itong mas maliit din.
>> Ngayon kami ay may isang view ng teksto, na maaari naming gagamitin upang ipakita ang aming panghuling resulta.
Ngunit ngayon ito ay talagang hindi pagpunta sa gumana
dahil may no-- ang ViewController namin lamang
tinukoy ay hindi alam na doon ay isang teksto ng tanawin doon.
Kaya kailangan namin upang kahit papaano -link ang view ng teksto namin lamang
nilikha na may klase na Na dumating sa amin.
>> Ang paraan ginagawa namin na talagang talagang kaakit-akit.
Kaya buksan ang storyboard.
May ay isang espesyal na [hindi marinig] na tinatawag na [? katulong?] [hindi marinig].
Kapag nag-click na ito, pagpunta upang buksan ang dalawang mga file.
Ang isa ay isang klase at ang iba pang isa ay isang katumbas na pagtingin para dito.
Ito ay napaka, napaka-kapaki-pakinabang.
At ipaalam lamang napupunta sa pamamagitan ng .h file.
Control, ito ay logic [hindi marinig].
Pindutin ang Control at i-drag ang text tanawin sa pagpapahayag.
Kami ay pagpunta sa tumawag na outputView.
Kumonekta.
Kaya rito ay inihayag namin ang isang bagong ari-arian para sa aming mga ViewController class.
At ang bagong ari-arian lamang ang view ng teksto
na nilikha namin sa gusali interface.
Kaya sa paraang iyon maaari naming -access ang lahat ng data
at manipulahin ang lahat ng bagay na nasa loob ang output view, na kung saan ay kahanga-hanga.
>> Kaya sa aming mga aktwal na code, gawin ang isang bagay na may ito ipaalam.
Kaya oras na ito kapag kami ay tulad ng pag-print ang huling resulta para sa Mario,
Ikinalulungkot namin sa hindi pag-log ng kahit ano.
Ibig kong sabihin naming panatilihin ang pag-log statement.
Bilang karagdagan sa na, kami ipadala ang readout namin lamang
nilikha sa output view, na ay isang UI textview lumikha kami lang.
Ngayon tingnan natin kung ano ang mangyayari.
Wow.
Mayroon kaming mga pyramid sa app ngayon.
>> Kaya ang makakakita ang user ng aming output dahil kinopya namin ang output mula sa aming code
sa aming interface.
Kahanga mabuti.
Ito ay talagang hindi na kapana-panabik dahil can-- namin
Ang lahat ng mga app ay ang paggawa ay na nagpapakita ng isang pyramid sa iyo,
at walang maaari mong gawin tungkol sa ito ay.
Ito ay hindi partikular na kapana-panabik.
Kaya ngayon gumawa ng isang pindutan ipaalam na-clear ang view.
Mukhang na ang isang button na ito ay maging kapaki-pakinabang.
I-drag at i-drop.
Isa pindutan.
Pindutan dalawa.
>> Kaya kapag nag-click kami sa kaliwa button, ang view ay dapat na i-clear.
Dapat ay wala sa screen.
At kapag nag-click namin ang kanang button, Mario,
ang view ay pagpunta sa lumitaw muli.
Kaya ang ginagawa namin sa ganitong paraan din ang magic mga bagay-bagay, kontrol at i-drag
sa pagpapahayag ng klase sa katulong director--
sa katulong viewer.
Sa kasong ito kami ay pagtukoy na iyon ay dapat na isang pagkilos.
clearMario.
>> Kaya dito namin ito ay nilikha ng isang aksyon na tinatawag na clearMario,
kung saan ay ang pamamaraan na iyon ay tinatawag na sa tuwing pindutin namin malinaw ang pindutan.
Kaya sa aming mga aktwal na code, sabihin lamang ilagay ang output ng teksto at view ng output
sa wala, at na paraan ito ay lilitaw upang maging malinaw.
Bilang karagdagan sa na, ang lumikha ipaalam isa pang paraan na tinatawag na runMario.
Oh paumanhin, na hindi dapat maging isang ari-arian.
Ang lahat ng mga karapatan, na dapat maging pati na rin ng pagkilos.
>> At kapag na function ay na tinatawag, patakbuhin lamang kami Mario sampu.
Sana na magiging ayos lang.
Ay sumulat ng libro ito?
Oo.
Ngayon na mayroon kami ng isang view.
Mayroon kaming isang output.
At hayaang makita ng kung ano ang mangyayari.
Na nawala.
Ito ay bumalik muli.
Kaya dito Tinukoy kami kung anong uri ng pag-andar
ay tinatawag na kapag -type namin sa isang bagay,
kapag pinindot kami ng isang tukoy na pindutan.
Ito ay isa lamang sa target na pagkilos scheme
para sa kaganapan hinimok programming sa Layunin C.
>> Bilang karagdagan sa mga iyon, ito ay hindi masyadong kapana-panabik
dahil hindi namin talagang baguhin kung gaano kataas ang pyramid ay magiging,
kaya marahil gusto naming kahit papaano makakuha ng isang input mula sa user
at palitan ang taas ng pyramid batay sa kung ano ang kanilang output.
Kaya kami ay pagpunta sa gawin iyon.
Kaya oras na ito kapag tinatawag naming runMario, hindi namin lamang tumawag nang direkta Mario.
Pamagat ng isa na ito.
>> Delegado.
Ito ay napaka-interesante.
Ano ang isang delegado?
Pupunta ako upang ilagay ang sarili dito.
At kami ay pagpunta upang makita ang ano ang ibig sabihin na sa ibang pagkakataon.
Kaya rito ay isa lamang lumikha kami ng isang partikular na pangyayaring tinatawag na alerto UI
view.
View ng isang alerto UI kung ano talaga habilin mo
makita sa bawat oras na pop sa isang bagay up at humihiling sa iyo para sa input,
tulad ng kung ano ang mangyayari kapag sinusubukan upang bumili ng isang bagay sa isang app store.
>> Bilang karagdagan sa na, pagkatapos mong lumikha nito, ipakita lamang namin ang alerto.
Ang lahat ng mga karapatan, sabihin mabilis lang pangsubok na pita na gawa na o hindi.
Iyon ay napaka-cool.
Ngayon sabihin aktwal na lumikha ng isang field ng input para sa alerto UI.
Ito ay kung paano namin gawin iyon.
At dapat naming magkaroon ng isang input view para sa alerto.
Sobrang ayos.
Hayaan sabihin ng lang 10.
>> Hindi ito ginagawa ng kahit ano karapatan ngayon dahil sa tawag talaga
Hindi mababago para sa pagpapatupad sa Mario.
Kaya ito ay naging kaunti bit kakaiba dahil sa tuwing
pindutin kami ng isang pindutan pababa, sa tuwing namin pindutin ng isang pindutan sa view ng alerto,
isang bagay na dapat mangyari, ngunit hindi ito mangyayari.
Paano kami narinig?
Paano ko malalaman namin na ang isang gumagamit Na-dismiss ang isang view ng alerto
at na ipinasok ng isang numero, dahil sa ngayon walang ay talagang nangyayari.
>> Well, maaari mo pa nahulaan ito ng tama, pagtatalaga.
Kaya bilang karagdagan sa lahat mga pagdeklara,
kailangan namin upang magdagdag ng isang bagong pagtatalaga sa tinatawag itong UI view ng alerto delegado.
Kaya na ang bawat solong pakikipag-ugnayan o kaganapan
na kami ay pagpunta sa may sa view ng alerto UI
ay pagpunta sa pangasiwaan sa pamamagitan ng aming klase pati na rin.
>> Kaya bukod sa na, magiging pindutan ng alerto view ng pag-click sa index.
Ito ay naabot.
Kaya kung sakaling mayroon kaming already-- kaya kami ay
natagpuan ang isang protocol na ay mapupunta sa kaganapan kapag
i-click namin ang pindutan Tapos na sa view ng alerto.
Kaya sa tuwing i-dismiss namin ang view ng alerto, ito dapat mangyari.
Hayaan ang subukan lang sa akin ito masyadong mabilis.
Well sa katunayan, naabot namin dito.
>> Kaya dito, kung ano kami ay hindi talagang makakuha ng talagang
makakuha ng the-- Kaya gusto namin upang makakuha ng out ang teksto na mayroon kami dati
inilagay sa view ng alerto.
At batay sa teksto, hindi namin pagpunta upang ipakita Mario.
Ito masyadong mabilis lumiliko out kung talagang gumagana o hindi.
Kaya sa kasong iyon, kung input namin, dapat naming makita 10 sabihin nating, 10,.
>> Mabuti, mayroon kaming isang numero dito.
Kahanga mabuti.
Ngayon ang huling hakbang ay be-- Kaya ang huling hakbang na kailangan namin upang gawin sa ngayon
ay lamang ng isang tumawag sa Mario sa antas batay sa mga pag-input
na inilalagay namin sa view alerto.
Kaya kailangan naming i-convert ang string na ito sa iOS.
Static overflow ay napaka-hanga.
At pagkatapos ay tawagan lang namin sa sarili marioWithLevels halaga.
Tingnan natin habilin natin iyon talagang gumagana o hindi.
>> Mayroon kaming bibigyan ng pyramid.
Subukan na baguhin ang taas Hayaan.
Na talagang gumagana.
Ito ay medyo cool.
Kaya ngayon maaari ka lamang input ng anumang halaga na gusto mo.
Sabihin nating apat lamang.
Iyon Kahanga-hanga.
Kaya ito ay isa lamang isang tunay na mabilis na halimbawa
para sa kung paano lumikha ng isang proyekto sa mga code at kung paano talagang mabilis wire up
ang ilang mga talagang simpleng kaganapan at mga function.
>> Kaya ang pinagmulan ay pagpunta upang mailagay sa online sa ibang pagkakataon.
Kaya kung interesado ka sa kung paano gumagana ang iOS Mario,
Pupunta ako upang ilagay ang eksaktong katulad mga proyekto papunta sa CS50 website sa ibang pagkakataon.
Talaga tapos na kami sa ng tag-init, at bago namin tapusin
Gusto ko lang ituro sa iyo guys sa ang ilang mga talagang kahanga-hangang mga mapagkukunan na
Available online.
>> Malinaw ang pagdodokumento ng Apple ay magiging kapaki-pakinabang.
Ngunit bilang karagdagan sa na, ako lalo na Inirerekumenda apat na mapagkukunan, paaralan code,
puno bahay, AppCoda at WWDC video.
Paaralan Code at puno ng bahay ay dalawang online na mga website educating,
na partikular na pagtuon sa software engineering.
Lalo na para sa paaralan na code, ang mga ito Mayroon talagang magandang tutorial sa iOS.
>> Iyon ay isang tunay na mabilis na halimbawa para dito.
Talaga silang lumikha ng isang talagang cute-- Tignan natin ang maliit na cute na iPhone
taong masyadong maselan sa pananamit banda roon, ito ay Kahanga-hanga.
At ang paraan ng ipaliwanag nila Layunin C syntax ay lubos na malinaw.
Tree house ay pareho.
At AppCoda ay isang forum.
Ito ay talagang isang blog na tumakbo sa pamamagitan ng isang talagang nakaranas ng Layunin C
programmer.
At ang lahat ng mga tutorial sa AppCoda ay medyo maikli at madaling ipatupad,
lubos na inirerekomenda.
>> At kung ikaw ay isang developer, pumunta Siguradong suriin
kung paano ang WWDC video kung saan maaari kang alamin ang tungkol sa pinakabagong iOS programming
diskarte, mga API at mga aklatan.
Kaya na ay medyo marami ito para sa seminar.
Salamat sa iyo kaya magkano.
At Umaasa ako na mayroon kang masaya paglikha ng iyong sariling iOS app.