>> RHED SHI: Karibu kuona CS50 semina -
Kuanzishwa kwa iOS.
Kuwashukuru wote kwa kuja.
Natumaini wewe ni tu kama msisimko kama mimi ni juu ya iOS.
Mwaka jana, mimi alichukua CS50 kama sophomore, na mimi kimsingi kujifunza iOS kwa yangu
mwisho wa mradi.
Na ilikuwa pretty -
vizuri, haikuwa rahisi, lakini kuna kura ya msaada tutorials online.
Na mimi kwa kweli matumaini yetu kuwa na hii semina, mimi nitakupa guys kichwa
kuanza iOS maendeleo
>> Hivyo, katika suala la iOS maendeleo, kuna mambo mawili muhimu sisi
unataka kufunika leo.
Kwanza, lugha -
lugha ni kwenda kuwa katika Lengo-C. Tutaweza kweli kusikia
kitu kweli kusisimua.
Kwa hiyo, unaweza kujiunga na Apple zima jamii ya watengenezaji na kujenga baadhi ya
kweli kutisha programu.
>> Pia, iOS 7 ni nzuri, hopefully, kwa baadhi yenu.
Lakini ni utata, najua.
Na hasa, nini nataka kufanya ni mwongozo ninyi kwa njia ya Lengo-C, na pia
Xcode, ambayo ni jumuishi maendeleo ya mazingira kuwa wewe utakuwa
kufanya kazi kwa ajili ya iOS.
>> Na hivyo, kama neno juu ya Malengo ya-C. Kimsingi, ni sawa na halisi kama C,
lakini kwa mambo mengine mengi.
Na hivyo, madhubuti zaidi, ni kweli super-seti ya C. Hivyo kitu chochote
wanaweza kufanya katika C sasa hivi, ambayo ni kimsingi kama pset 0 kwa njia ya 6, wewe
wanaweza kufanya katika Malengo ya-C.
>> Hivyo, wala kuhisi hofu juu ya hii mpya lugha kwamba utaenda kujifunza.
Umefanya tayari kufunikwa mengi ya hayo, kwa sababu umefanya yote kufanyika C zamani hii
muhula, ila sasa utaenda kuwa na mengi zaidi kufanya kazi pamoja.
Na mimi nina kwenda tu kwa kusababisha wewe kupitia mifano michache kuonyesha baadhi
ya tofauti muhimu kwamba nimeona walikuwa wakati kwa kweli muhimu mimi kujifunza
Lengo-C mwaka jana.
>> Vizuri kwa kweli, hivyo, hatua nyingine ni, Lengo-C ni, ni wazi,
kitu-oriented.
Na tutaweza kujadili kidogo kuhusu nini maana ya baadaye.
Kimsingi, ni kama jinsi kazi na structs katika pset hii iliyopita, na
nodes na sawa nyingine mambo kama hayo.
Ila, katika Malengo ya-C, kila kitu ni kitu, na wewe ni kwenda kuwa
kupita karibu na kuyatumia kwa vitu badala ya maadili wenyewe.
Kwa hiyo, ni kitu muhimu kukumbuka.
>> Hivyo, kwa nini sio sisi kuanza na chache tofauti katika syntax kati ya C na
Lengo-C?
Mimi nataka kuonyesha # ni pamoja na, wewe kujua, kiwango io.h katika C na C + +, na
Lengo-C toleo la kwamba, ambayo ni # kuagiza, na kisha aina fulani ya
header file.
Katika kesi hiyo, itakuwa UIKit, unajua, kufyeka UIKit.h.
Pia inaweza kuwa, unajua, MKMapview wewe kufyeka MKMapview.h kama unataka
kufanya, kama, ramani ndani ya programu yako.
Mambo sawa kama hiyo.
>> Kwa hiyo, jambo muhimu ni pamoja na sasa imebadilika kuagiza.
Lakini wazo bado.
Wewe ni kwenda kuwa kuagiza aina fulani ya kichwa file katika mpango wako.
>> Mimi pia nataka kuonyesha tofauti kati ya printf na NSLog.
Hata hivyo, kama sisi alisema mapema, Lengo-C ni kali super-seti ya
C, ambayo ina maana kwamba printf ipo katika Malengo ya-C, pia.
Lakini, watu wengi hawana kutumia.
Watu wengi kutumia hii NSLog kwa sababu inakupa muda muhuri, na tutaweza kuona
katika hatua ya baadaye.
Lakini, ni kwa ujumla muhimu zaidi njia ya magazeti nje vigezo.
>> Na pia nataka kuonyesha kwamba NSLog inachukua katika sawa tu
placeholder maadili kama printf gani -
hivyo% d ni kwa int, % F ni kwa kuelea.
Hata hivyo, mimi unataka kuonyesha huyu wa mwisho sana -
NSLog% katika ishara -
kwamba ni placeholder kwa kitu.
Na kama nilivyosema awali, Lengo-C mikataba pretty much zaidi katika vitu,
na hivyo hii itakuwa kuja katika matumizi ya wakati unataka magazeti nje, pengine, labda
NSArray, au NSDictionary, au NSString.
>> Kwa hiyo, pia, taarifa kwamba, katika NSLog wetu taarifa, tuna katika ishara mbele
ya quotation -
kwamba ni kwa ishara ya kuwa masharti, sasa, katika Malengo ya-C ni vitu.
Wao ni tena nyota tu char.
Wao ni vitu na ni kutibiwa kama vile.
>> Hivyo, ni muhimu kwamba wakati matumizi ya NSLog inachukua katika NS
kamba, ambayo ina maana kwamba itabidi ni pamoja na katika mbele yako
quotation alama.
Na kwamba ni kwa nini unaweza kuona, hapa, katika yote ya kazi yangu wito kwa hii NSLog, mimi
kuwa katika mbele ya quotes, hata ingawa% d na% f ni
wote ni sawa kutoka C.
>> Maswali yoyote hadi sasa?
Nitajaribu kwenda kwa njia hii haraka ili kwamba tunaweza kuwa na muda zaidi wa kufanya kazi
na Xcode na Lengo-C, hivyo kwamba guys wanaweza kupata zaidi
familiar nayo.
>> Next, nataka kuonyesha kitu conceptually muhimu.
Hivyo, katika C, mambo mengi ni kazi.
Sisi kufanya kazi simu.
Sisi kutangaza kazi kwa njia hii, kwa kurudi Aina ya kwanza, basi
kazi jina, mabano, na kisha hoja chochote na aina ya
hoja hizi tunataka kupitisha in
Na Lengo-C, kwa sababu kila kitu ni kitu au darasa -
hivyo darasa na kitu ni suala mawili ambayo ni zaidi ya sawa na kila mmoja,
ili nipate matumizi yao kwa kubadilishana katika semina hiyo.
>> Lakini, utaona kwamba tuna mbinu katika Lengo-C badala ya kazi.
Na mbinu ni ya vitu.
Hivyo tu kama, labda kuchukua kwa mfano, node -
aina yetu [inaudible]
node kutoka pset 6 au 5 -
tuna neno, mali, au node pointer ijayo.
Mbinu ni kazi ndani ya tu baadhi ya aina ya muundo.
>> Hivyo, katika kesi hii, muundo itakuwa kitu, na kisha ni njia
kitu ambacho ni kitu.
Na hii ni jinsi gani kutangaza, aina ya, mbinu.
Ungependa kuanza na, tena, kurudi aina - hivyo, mimi alijaribu rangi
maneno msimbo muhimu hapa ili guys unaweza kuona, angalau, formatting
yanayofanana kati ya kazi maazimio na njia maazimio.
Hivyo, kuanza kwa, unajua, kurudi aina - katika kesi hii, ni safu, au
NSArray pointer -
na kisha una njia hii.
Na kisha, nini kuvutia hapa ni kwamba badala ya kuwa na mabano, sisi
na colons haya.
Na kisha, mbele ya hoja yetu, sisi kuweka, tena, katika mabano ya aina
wa hoja yetu.
>> Hiyo, sasa hivi mimi nina kujaribu kufanya kulinganisha kati ya, unajua, n na
idadi, kwa sababu wao ni wote kama ints.
Na kisha, mtu mwingine ni ya aina NSUInteger.
Na kisha, kwa lengo-C, wakati wanataka kuwa na hoja nyingi katika
njia yako kifungu, wewe, aina ya, baina yao nje aina ya kama hii -
Mimi nina uhakika kabisa jinsi ya kueleza hayo, lakini hii ni mfano mzuri wa jinsi
unaweza kuwa na hoja nyingi huko.
>> Unaweza, bila shaka, haki kabisa kupuuza andArray koloni NSArray
safu kama alitaka tu njia ya kwamba inachukua katika hoja moja.
Ndiyo, swali.
>> Watazamaji: Je, wote NSUInteger na NSArray hoja ambayo yanaweza kuchukuliwa katika
ndani ya NSArray?
>> RHED SHI: Ndiyo.
Kwa hiyo, napenda kueleza.
Kwa hiyo, ndiyo.
Hivyo, swali ni NSUInteger na NSArray * aina ya hoja,
na kwamba ni sahihi.
Basi, wewe siku zote wanataka bayana nini aina ya hoja yako ni.
Na hapa, mimi nina kujaribu kuanzisha wewe baadhi ya syntax na vocab ya
Lengo-C, hivyo wale ni aina halisi kuwa wewe utakuwa kushughulika na.
>> Na kama wewe utakuwa taarifa, arrays tena, aina ya,
rahisi bracket mambo.
Wao ni vitu.
Pamoja na kwamba, kama sisi kwenda kwenye ijayo slide, tunaweza kuona kwamba tunaweza
ngumu-code NSArray katika Malengo ya-C na tu katika ishara mbele ya
mabano.
Mimi si, kwa kweli, uhakika kabisa kama Mimi syntactically ngumu-coded safu
usahihi kwa C version, lakini hiyo ni wanatakiwa kuwa katika C safu.
>> Kwa hiyo, hili ni jinsi gani, unajua, labda kutumia kazi au
mbinu kwamba sisi aliumba mapema.
Haki?
Kwa hiyo, hili ni mahali ambapo sisi kutangaza wetu kazi na njia yetu.
Na sasa sisi wanataka kuwatumia katika mpango wetu, na hii ni
jinsi gani tunataka kufanya hivyo.
Hivyo, katika C, ingekuwa, unajua, labda, bool b, na kuweka kwa
sawa kazi, na kisha kupita katika hoja.
>> Katika Lengo-C, ni pretty sana kitu kimoja.
Una NSArray * my_array, na ni kwenda sawa - sasa, tu
tofauti hapa ni jambo hili kitu, ambayo nimekuwa yalionyesha katika njano, na
kama unaweza kuona, katika C, kuna hakuna njano nyingine neno.
Na ni kwa sababu njia ni na kitu fulani.
Hivyo ndiyo sababu mimi haja ya kuwa na kitu kwamba, aina ya, wito njia hii juu ya
Idadi ya sifuri, na kisha NSArray, b, c, d.
Maswali yoyote juu ya hilo?
>> Tutaweza kuona dhana hizi katika hatua pretty hivi karibuni wakati sisi kwenda katika demo.
OK.
Sasa, nataka kuzungumza kidogo kwa ufupi kuhusu Xcode 5, ambayo ni
mazingira shirikishi ya maendeleo kuwa wewe utakuwa kufanya kazi pamoja.
Najua mengi ya wewe, au baadhi yenu, hawana Macs, ambayo ni tatizo
kwa sababu Xcode si inapatikana kwa Windows na PC.
Je, si kuuliza kwa nini, lakini pengine -
yeah, ushirika.
Chochote.
Lakini anyway, hivyo, mimi kuomba msamaha kama baadhi ya huna na kushusha aina fulani ya
virtual mashine kwa ajili ya Mac katika Ili kuendesha Xcode 5.
Lakini ni nifty pretty programu ya kutumia.
>> Na hivyo, kabla ya sisi tujivinjari ndani ya aina yoyote ya demo, mimi nataka tu kuonyesha
picha ya nini Xcode inaonekana kama katika yako dirisha, na kisha pia kuzungumza kuhusu
nini nafasi hii yote ni.
Hivyo, ni aina ya kama kujifunza jinsi ya kutumia Microsoft Word, ila unataka
kupata familiarized kwa kila mambo mbalimbali ambayo
ni kwenda hapa.
>> Hivyo kwanza, nataka uhakika wewe kwa toolbar juu.
Utaona kwamba, saa ya juu, itabidi jina la faili -
au, kwa kweli, jina lako mradi na kisha faili jina lako.
Kuchukua kumbuka ya kucheza na stop vifungo.
Hao ndio kuwa wewe utakuwa kutumia kuendesha programu yako juu ya
simulator -
iOS simulator.
Hii moja kwa moja kuja na Xcode 5, hivyo huna kuwa na wasiwasi kuhusu
kushusha aina fulani ya simulator.
Vyombo vya habari tu kucheza na kisha anaendesha programu yako.
Na unaweza kucheza karibu na wewe, na utaona jinsi kazi baadaye.
>> Na kisha, katika kituo hicho, bila shaka, ni ambapo wote wa code yako nzuri ni
kwenda.
Na kisha, kwa upande wa mkono wa kushoto, itabidi na hii, aina ya, folder -
urambazaji -
na kisha, utapata pia kuona kwamba, pamoja na folder icon, kuna
kundi la icons nyingine pale kwamba itakuwa muhimu baadaye.
>> Na kisha, upande wa kulia ni shirika eneo ambapo unaweza kufanya kazi na
baadhi ya vitu na bayana, wewe kujua, je, rangi lazima, nini
font Nakala lazima, na kadhalika.
Pamoja na kwamba, kila kitu unaweza kufanya katika eneo shirika, unaweza
kufanya katika kanuni kama vizuri.
Na hivyo, mimi itabidi kuwa kwenda kwa njia mbili mifano ya kutumia, tu, hakuna code katika
wote - au kanuni ndogo sana -
mistari code wote, hivyo tu kwamba nyie kujua nini unaweza na hawezi kufanya katika
Xcode na Lengo-C.
>> Na kisha, mwisho, chini chini, una eneo utatuzi.
Hivyo, hakuna tena kuwa na kukimbia GDB, nakadhalika, juu ya programu yako.
Ni moja kwa moja anafanya hivyo kwa ajili yenu.
Na unaweza pia magazeti mambo ya eneo hili.
Hivyo kweli, baadaye, tutaweza kwenda kupitia mario.c, kama wewe guys bado kumbuka
kwamba, katika Xcode.
Hivyo kwamba wanapaswa kuwa na furaha.
>> Na kisha, tu kuleta nyuma ya Lengo-C, nataka kuonyesha nini
unaweza kufanya na kama kauli.
Hivyo, unajua, kwa sababu Lengo-C ni superset ya C, kila kitu wewe ni,
literally, sawa na C. Wewe tu kuwa tofauti kidogo.
Hivyo, utasikia taarifa fomu kwa ajili ya kama taarifa bado ni ile ile - una
kama, na kisha una mabano na hali ndani ya, na kisha
braces curly kwa lolote wanataka kufanya ndani ya huko.
>> Hata hivyo, nilitaka kuweka slide hii up hapa, tu ili kuonyesha kwamba,
kwa sababu sisi ni kushughulika na vitu sasa, tutakuwa na wanatumia mambo haya
aitwaye kama, ni sawa na kamba, ambayo ni, kwa bahati, njia ya
kamba au NSString kitu.
Kwa hiyo, neno, katika kesi hii, ni NSString kitu, na ina njia iitwayo ni
sawa na kamba, na kisha sisi ni kupita katika ngumu-coded kamba kuona
kama watu hao ni sawa mmoja kwa mwingine.
>> Maswali yoyote hadi sasa?
OK.
Na, nataka kwenda juu ya a kwa taarifa pia.
>> Hivyo, kwa mfano, kama sisi alitaka kitanzi juu ya urefu wa kamba katika C, hii
wanapaswa kuwa ukoo na wewe.
Na, katika Malengo ya-C, mimi nataka kwa kuonyesha hii, aina ya,
njia aitwaye kuhesabu.
Vizuri, kwa kweli, basi mimi tu kuchukua nyuma.
Hesabu ni njia ya safu.
Hata hivyo, ni zaidi hasa mali ya safu, ambayo ni kwa nini
unaweza kutumia dot nukuu.
Lakini mimi si wanataka kupata katika sana ya mambo haya dhana, mimi nataka tu
kuonyesha jinsi mambo bila kuangalia kama katika Malengo ya-C dhidi ya C.
>> Na pia, mimi unataka uhakika kwamba hata mimi tumekuwa kutumia NSUInteger
mbele ya i wangu wote katika Malengo ya-C, unaweza pia kutumia int, kwa sababu int ni
halali kabisa katika Malengo ya-C, pia.
Ndiyo?
>> Watazamaji: Je, ni tu Stylistic, au ni -
>> RHED SHI: Yeah.
Hivyo, kama utaona -
hivyo, swali ni kwamba tu suala la Stylistic.
Kama utaona, nina, aina ya, nyota kinyota kitu chini chini, na
kiungo kwamba inachukua wewe Stack kufurika kuunda, ambapo mtu anaelezea
tofauti kati ya int katika NSInteger na NSUInteger.
Na hivyo, unaweza kusoma kuhusu baadaye.
Slides hizi kuwa, bila shaka, inapatikana na wewe.
>> Hebu angalia.
OK, kutisha.
Kwa hiyo, hili pia ni pamoja na katika slide kwa sababu nilifikiri hili lilikuwa kubwa
tovuti ya kwamba utangulizi kwa Lengo-C syntax.
Hivyo, kwa kweli, kwa nini sio sisi hoja ya Chrome na kuangalia nje ya tovuti hii?
>> Haki.
Hivyo, nini mimi nataka kuonyesha guys hapa ni picha hii.
Kwa hiyo, hili ni, aina ya, kwenda kuwa kile wewe ni kwenda kuona ndani ya yoyote
Xcode file.
Kweli, kwa nini sio sisi tu kuchukua muda wa, aina ya, kuchukua in
>> Kwa hiyo, kitabu hiki -
kwamba kitu kwamba sisi ni kushughulika na.
Na kisha, ni wazi kwenda kuwa kurithiwa kutoka kwa baadhi kitu nyingine, lakini
huna na wasiwasi juu ya hilo.
Na kisha, yake, labda, ina baadhi ya vigezo wanachama.
>> jambo muhimu nataka kuonyesha ni mbinu mfano, hapa.
Kwa hiyo, mbinu mfano ni ulionyehsa na hii ni ishara minus.
Na kisha, kama wewe utakuwa taarifa, sisi ni tayari kuanza kuona dhana ya
kwa njia tamko, sawa?
kurudi aina, njia jina,, na basi aina ya hoja, na
kisha jina la hoja.
Na hii ni ishara minus ina maana kwamba ni mfano mbinu, ambayo ina maana kwamba
mbinu hizi zinapatikana tu kwa vitu ambayo yamekuwa instantiated.
>> Kulinganisha kwamba, mbinu na pamoja na ishara mbele yao ni darasa
mbinu, ambayo ina maana kwamba unaweza kupiga njia hizi, hata kama huna
kitu kuundwa bado.
Hivyo, kwa mfano wazi, NSString ni darasa.
Na unaweza kupiga, kwa mfano, mbinu darasa juu ya NSString -
halisi, kama, neno NSString.
>> Hata hivyo, ili kutumia haya mbinu, kweli
haja ya kuunda kamba.
Kwa mfano, NSString kamba nyota ni sawa na katika alama ya kutaja, hello dunia.
Na kisha, unaweza kutumia njia hizi -
mfano mbinu -
juu ya kwamba kamba dunia hello.
Kwa hiyo, hiyo ni tofauti kati ya mbinu mfano na mbinu darasa.
>> Na, sisi tu kufunikwa sehemu hii.
Mali ni jambo lingine ambalo ni ndani ya vitu, kimsingi.
Na kutangaza yao kwa katika mali keyword.
Una chaguzi hizi, hapa, kwamba mimi itabidi kueleza baadaye wakati
sisi kwenda katika demo.
Ndiyo?
Hi.
>> Watazamaji: Unaweza kuvuta, tafadhali?
>> RHED SHI: Ndiyo.
Sorry.
>> Watazamaji: Asante.
>> RHED SHI: Kwamba lazima mengi zaidi.
>> Watazamaji: Yeah.
Asante.
>> RHED SHI: Yeah, tafadhali kuwakumbusha mimi kama Mimi kusahau kuvuta au kuvuta nje.
Kwa hiyo, hili ni yote nilitaka kuonyesha kwa -
Ho, kwamba mengi -
kwa tovuti hii.
Hivyo, hebu kwenda nyuma ya slides yetu.
>> Kwa kweli, sasa hebu kuchukua muda kupiga mbizi katika demo.
Hivyo, tutaweza kuanza na mpya Xcode mradi huo.
Hivyo, kama wewe utakuwa kufungua Xcode wote wa mashine yako, ni lazima kuchukua baadhi
ukurasa ambapo anasema, kama, ama wazi mradi zilizopo au mpya
mradi, na unapaswa bonyeza mradi mpya.
Na kisha, ni lazima kuchukua wewe screen hii.
Ndiyo?
>> Watazamaji: Kama hatuna Mac, wala sisi tu ya aina ya baridi?
>> RHED SHI: Au kuangalia juu ya na mtu, yeah.
Yeah.
Unaweza baridi, pia.
OK.
>> Hivyo, nini tunakwenda kufanya kwanza, sasa, ni, kwa kweli, sisi ni kwenda kufanya
moja mtazamo maombi.
Hivyo, kama wewe utakuwa taarifa, nini kubwa kuhusu Xcode na Apple msaada kwa ajili ya
watengenezaji ni kwamba una mengi ya templates kufanya kazi na tayari.
Unaweza, kwa mfano, kufanya bwana-undani maombi.
Unaweza kufanya mchezo -
na kwa kweli, mimi si kwenda katika michezo, kwa sababu michezo ni hadithi mbalimbali
kwa iOS maendeleo.
Na wao ni aina ya tofauti, hivyo mimi si kwenda katika hiyo.
>> Basi, kwa kuwa ukurasa makao maombi.
Una tab maombi -
hivyo kama, kwa mfano, Benki Kuu ya Marekani pengine ina, kama, programu tabbed.
Ni wale ambapo una vifungo chini.
Na kisha, una Sprite Kit mchezo.
>> Au unaweza kufanya kazi kutoka mwanzo, ambayo ni nini tutaweza kufanya baadaye.
Lakini hebu, kwanza, kuanza na moja mtazamo maombi.
Basi, kutakuwa na kuuliza kwa jina bidhaa, na tunaweza tu kufanya mtihani.
Shirika jina -
hivyo, jina la shirika, kampuni kitambulisho -
wale ni muhimu kama wewe ni kwenda kuweka programu yako juu ya kuhifadhi programu.
Nyingine zaidi ya kwamba, kanuni yako ni kwenda kukimbia faini kabisa bila hii.
>> Hii ni kwenda kuwa muhimu kama unataka - hivyo, per se, kama, kuweka programu yako
kwenye simu au kitu yako, na mtihani nje, unajua, katika maisha halisi -
hii itakuwa muhimu.
Hii inaelekeza kawaida kuhusishwa na aina fulani ya akaunti developer
na Apple.
>> Na hivyo, najua, pengine, mengi ya wewe si akaunti zozote developer.
Mimi najua chuo kikuu ina moja.
Nadhani CS ina moja.
Lakini, unaweza email yangu na nitajaribu kufikiri kuwa nje kwa ajili yenu.
Lakini sasa hivi, nimekuwa tu ya kuweka katika baadhi ya mambo placeholder hapa.
>> Na unaweza, bila shaka, hapa, kuchagua kama unataka kuwa ni tu katika
iPhone, katika iPad, au wote wawili -
wote maombi.
Hivyo, kwa sasa, hebu kufanya wote, tu kuona pande zote mbili za jukwaa.
>> Hebu angalia.
Hiyo, sasa hivi, mimi nina kwenda kuokoa katika baadhi ya aina ya folder.
Haijalishi ambapo - wewe Daima unaweza hoja hiyo baadaye.
Na, sasa, sisi ni kuletwa kwa Xcode mradi wetu.
Mimi bila wasiwasi juu ya haya yote.
Napenda kupendekeza si kugusa yoyote ya hii, isipokuwa kujua hasa ni nini
unachokifanya.
Kwa hiyo, haya yote, tu kupuuza kwa sehemu kubwa.
Huwezi haja ya kugusa, na kama wewe kufanya fujo up baadhi ya mambo hapa, ni
anapata kidogo suala gumu.
>> Hivyo, kwa nini sio sisi kuangalia katika files juu ya
mkono wa kushoto upande katika nahodha wetu.
Hapa, tuna AppDelegate.h.
Tuna AppDelegate.m Hivyo, kama wewe utakuwa taarifa, tuna header files, ambayo
mwisho katika dot h, na sisi na utekelezaji -
kweli, basi mimi zoom in
OK.
Hebu zoom in
>> Haki, hivyo una header files na una files utekelezaji.
Kweli -
OK.
Hii ni kidogo weird, lakini kuzaa na mimi.
Basi, kwa sababu tumekuwa wateule maoni moja maombi, tunakwenda kuwa na
kufanya kazi na storyboard.
>> Hivyo, storyboard ni kitu ambacho Apple ina kuja na kwa kweli kusaidia
watengenezaji kwa kasi mfano maombi yao.
Kwa hiyo, hili ni ambapo unaweza kujenga programu bila kuandika
line moja ya kanuni.
Hata hivyo, katika mtazamo wetu maombi moja, hatuna, bila shaka, na
faili kwa ajili ya maoni yetu, ambayo ni mtazamo mtawala.
Hivyo, tuna header na utekelezaji file, hapa.
>> Na mimi nina kwenda kuvuta nje sasa kwa sababu tutaweza haja ya kufanya kazi katika storyboard.
Kwa hiyo, hapa ni mtazamo wetu.
Kama sisi, tu, kukimbia programu sasa hivi, kuna si mengi ya kusisimua kinachoendelea.
Kwa hiyo, utaona screen hii nyeupe.
OK?
>> Na, katika huduma za eneo letu, tunaweza kuongeza rundo la vitu mbalimbali hiyo.
Hivyo, wakati wewe ni kushughulika na skrini katika iOS, maoni controllers ni
vitu zinazoelezea, aina ya, maoni yako.
Kwa hiyo, mtazamo mtawala daima ina mali aitwaye maoni.
Na mtazamo kwamba, kwa kawaida, ina, unajua, nini
wanataka kuona juu ya screen.
>> Hivyo, vizuri, hebu tu kuanza kwa kuweka, labda, labda studio.
Hivyo, hebu kuweka studio ya hapo -
fimbo yake katikati.
Hiyo, sasa nimekuwa clicked juu ya studio, mimi unaweza kwenda katika mali mkaguzi
na kuanza kubadilisha thamani yake.
Hebu simu yake CS50 Colours.
>> Na, siwezi pia mabadiliko ya font.
Hivyo, badala ya kufanya mfumo, ambayo ni default, tunaweza kufanya moja desturi.
Tunaweza kubadili -
unajua, Ultralight, kufanya hivyo 32.
Na kisha, tunaweza kufanya sanduku yetu kubwa.
>> Watazamaji: Je, unafikiri wanaweza kuvuta katika kidogo tu zaidi, labda?
>> RHED SHI: Yeah?
OK.
>> Watazamaji: Tu bomba hilo?
>> RHED SHI: Hebu kuona.
Gani kazi hii?
>> Watazamaji: Just kupita Xcode?
>> RHED SHI: Uhakika.
OK.
Kutisha.
>> Watazamaji: studio chini ya?
studio?
>> RHED SHI: Ni nini hiyo?
>> Watazamaji: Nini drop-down mara studio chini ya?
>> RHED SHI: Kwa hiyo, swali, ni nini kuacha chini mara studio chini ya?
Ni lazima, tu, kuwa chini ya hapa.
Mimi nadhani ni mchemraba kitu.
Lakini kwa kawaida, hii ni default -
Mimi naenda tu hapa chini mpaka mimi kupata studio.
Yeah.
>> Basi sasa, sisi kuwa na studio yetu.
Hebu kituo cha hivyo.
Na Xcode inatupa mwongozo kwa centering vitu.
Kwa hiyo, sasa hebu kukimbia code yetu tena.
>> Kuna sisi kwenda.
Hivyo, tuna CS50 Colours.
Na sasa basi, tulenge kifungo huko, sawa?
Kwa sababu tunataka kufanya hii ya maingiliano.
Hivyo, hebu kuweka kifungo hapa.
Na tutaweza wito huu kifungo "bomba hapa kuendelea. "Tutaweza kituo cha hayo, pia
Kwa kweli, ni tayari katikati.
Yeah.
>> Kwa hiyo, sasa tuna button.
Na kama sisi kukimbia hii tena, tunakwenda kuwa na nzuri kidogo kifungo hapa.
Na siwezi bonyeza yake, lakini haina kufanya kitu chochote, kwa sababu hatujafanya
kitu chochote na kifungo bado.
>> Kwa hiyo, hebu kuunda mtazamo mwingine, sawa?
Kwa hiyo, hebu sema nataka bomba kuwa kifungo na mimi nataka
kwenda kwenye ukurasa mwingine -
mtazamo mwingine.
Nini mimi kwenda kufanya ni, siwezi kujenga maoni mtawala, sawa?
Sasa mimi itabidi bonyeza kifungo yangu, na kisha, Jambo muhimu ni, mimi nina kwenda kwa
bonyeza - au -
ndiyo, udhibiti wa vyombo vya habari juu ya keyboard yangu.
Kudhibiti.
Bonyeza kifungo, na kisha Drag.
>> Hivyo, kumbuka kushikilia kudhibiti muhimu.
Hebu kufanya hivyo tena.
Kwa hiyo, kushikilia kudhibiti, bonyeza, na Drag kwa nini unataka kufanya.
OK.
>> Na sasa, nina chaguzi kadhaa hapa.
Naweza ama kushinikiza, au naweza kufanya Modal, au naweza kufanya desturi.
Push ni tu kama una urambazaji mtawala.
Hivi sasa, mtazamo wetu kwanza sana mtawala ni si ndani ya yoyote
urambazaji mtawala.
Hivyo, mtawala urambazaji ni moja kwamba anatoa kifungo nyuma juu ya
programu iOS ambapo una, unajua, hiyo ya juu kabisa, aina ya, nene bar -
ambapo unaweza kwenda nyuma, au mbele, na kadhalika.
Hivi sasa, sina hiyo.
Na hivyo, kwamba ni kwa nini siwezi kufanya kushinikiza.
>> Kwa hiyo, mimi clicked juu ya kushinikiza ajali, hapa.
Na kwa kweli, hebu kukimbia code, na ni lazima ajali juu yangu.
Tu kama mimi waandishi wa habari kifungo ingawa, hivyo -
haki.
Kwa hiyo, hili ni mbaya.
>> Na, kama unaweza kuona, hapa, sisi na ujumbe wa kosa.
Hivyo, "Push segues zinaweza kutumika tu wakati chanzo mtawala inasimamiwa na
mfano wa UI urambazaji mtawala. " Kwa hiyo, kwa sababu hii haikuwa ndani ya
urambazaji mtawala, Sikuweza kufanya hivyo.
>> Hiyo, sasa hivi, mimi nina kurejea folder, kurejea storyboard.
>> Watazamaji: Nini urambazaji mtawala, tena?
>> RHED SHI: hiyo, sasa hivi mimi nitakuonyesha.
Hebu angalia.
Kwa hiyo, mimi nina kwenda bonyeza mtazamo huu mtawala, na kisha mimi nina kwenda
hadi bidhaa -
kweli, hapana, sorry - mhariri.
Na mimi nina kwenda katika -
kweli, je, mimi bonyeza juu yake?
Hapana
Kuna sisi kwenda.
Mimi nina kwenda juu katika mhariri, kwenda chini embed, na kisha urambazaji
mtawala.
>> OK.
Na, workspace yangu inaonekana kweli messy, hivyo hebu safi hii up.
Kwa hiyo, haya yote ni storyboard.
Na kwa njia hii -
OK, kuacha -
Mimi unaweza haraka kujenga kitu kama hii.
Na kisha, sasa siwezi kurudi nyuma, unajua?
>> Lakini hii ni aina ya boring, sawa?
Hivyo, nini nataka kufanya ni, sitaki kufanya, tu tu, mtazamo
mtawala.
Hebu sema nilitaka kweli kufanya meza maoni mtawala, hivyo siwezi kuweka katika
baadhi ya rangi nzuri, katika meza.
>> Hiyo, sasa nimekuwa kuweka katika meza maoni yangu mtawala, mimi haja ya kuunganisha nyuma
kutoka kifungo hii maoni mtawala.
Hivyo mimi haja ya kufanya kudhibiti wangu, click, Drag kitu tena.
Na sasa naweza kufanya kushinikiza, kwa sababu mimi kuiweka ni ndani ya mtawala navigation.
>> Watazamaji: Navigation mtawala tu utapata kwenda kutoka mahali pa?
>> RHED SHI: Ndiyo.
Hivyo, kitaalam zaidi, ni kitu ambapo -
hivyo, ndani ya urambazaji mtawala kitu,
anaendelea kufuatilia kwa safu.
Na kwamba safu ana yote ya baadae kuona controllers.
Hiyo ndiyo sababu wakati vyombo vya habari nyuma, ni inakwenda nyuma ukurasa uliopita.
Kwa sababu mtawala urambazaji kitu, au kificho kwamba inachukua huduma ya
hii kitu, ina safu kwamba anaendelea kufuatilia ya controllers haya maoni, na
wanaweza basi, unajua, DQ maoni mtawala na kukupa nyuma
mmoja uliopita.
>> Kwa hiyo, hili ni mambo ya kiufundi, lakini -
na mimi nitakuonyesha baadaye katika code, kama tuna wakati.
Mimi nina aina ya kukosa kwa wakati, lakini -
>> Hivyo, pamoja na meza maoni, nini tunaweza kufanya ni -
Ni kawaida moja kwa moja kuweka kwa Dynamic Mfano -
tunakwenda kufanya hivyo seli Static, vinginevyo tunakwenda
kukimbia katika baadhi ya matatizo.
>> Na kisha, hebu sema mimi nina kwenda kuwa na sehemu moja.
Hivyo, sehemu ni kama -
kama wameweza milele kuonekana muziki programu, wakati una wasanii, sehemu ingekuwa
kuwa A kwa njia ya Z's -
barua -
na kisha, unajua, mtu safu itakuwa majina msanii.
Na hivyo, nini baridi hapa, ni kwamba naweza kupata yote ya vitu ndani ya
ya storyboard yangu kwa njia hii tone-down menu, pia.
>> Kwa hiyo, mimi nina kwenda bonyeza sehemu yangu, na mimi nataka, unajua, labda tano safu.
Na kisha, ndani ya kila mstari, Nataka kuweka studio.
Na mimi nina kwenda kuwaita hii Blue.
Na kisha, nataka kuweka UI maoni, wewe kujua, labda kwa, kama, sanduku kidogo.
>> Ili niweze kuonyesha watu preview wa rangi.
Na mimi itabidi kurudi nyuma na mali na mabadiliko hayo rangi ya, oh, mimi si
kujua, hii moja.
>> Na kisha, taarifa pia, hapa, wakati mimi na vifaa, naweza kuwa na kura
ya vifaa mbalimbali kwamba kawaida kuona.
kutoa taarifa kiashiria, undani, au kuangalia alama, au tu kina.
Kwa hiyo, labda tunaweza kufanya, kama, kutoa taarifa kiashiria, kwa mfano.
>> Na kisha, kwa nini sio sisi kuchukua hizi, nakala kuweka yao, na kuziweka katika
meza mstari unaofuata.
Hivyo, tunaweza wito za.
Na nipate kuwa na kupanua hii.
Hebu kufanya hivyo njano.
Na kwa njia hii, tunaweza nakala kuweka njia yetu chini.
Ilikuwa ni nini?
Purple.
>> Kwa hiyo, haya yote ni CS50 ya kawaida rangi ya kwamba wameweza kuona katika darasa -
kweli, sorry -
au kwenye tovuti.
Hopefully nyie unaweza kuona nini mimi kufanya hapa.
OK.
Moja ya mwisho.
>> Watazamaji: Je, kuongeza mstari awali?
>> RHED SHI: Kwa hiyo, swali, jinsi je, mimi kuongeza safu ya awali?
Nilikwenda sehemu hii meza - au hata hivyo naweza
kuchagua sehemu meza -
na kisha, hapa, mimi updated idadi ya mistari.
>> Na, napenda matumaini kwamba hii kazi.
OK.
Hebu tuone kama hii matendo.
Oh, kamili, kutisha.
OK.
Wakati mimi ilikuwa kujenga demo yangu, baadhi ya mambo yalikuwa si iliyokaa, hivyo, shukrani kwa ajili ya
applause.
>> Yeah.
Kwa hiyo, hebu angalia.
Tutaweza kufanya hii tisa tu kufanya kila kitu - au kweli, hebu tu
kugeuka yote haya katika kutoa viashiria.
Na kisha, nini nataka kuonyesha wewe pia mara jinsi gani naweza kuchukua kila moja ya hizo
safu meza na kuwa nao kuingiliana -
oh.
Hapana
>> Oh.
Pia, nataka kuonyesha wewe -
hapa, siwezi kuweka jina la yangu urambazaji mtawala, sawa?
Hivyo kweli, utasikia taarifa, kwa haraka kama mimi iliyoingia mtazamo huu mtawala ndani ya
ya mtawala urambazaji, tunaona hii bar urambazaji juu ya yetu
uwakilishi storyboard ya maoni mtawala.
Na hivyo, hii inatupa, kama, Visual, aina ya, mwongozo wa screen yetu inayoonekana.
Hii ni wazi kwenda kuwa bar navigation.
>> Na nini nataka kufanya haraka, sasa, ni kuweka katika mwingine -
hivyo hii meza maoni mtawala mimi na kuchukua moja ya haya na akawatoa
hapa, na kwamba ni nini kuruhusiwa yangu haraka, kwa kweli, kujenga meza maoni
mtawala.
Kama sisi na wakati, ingawa, itabidi kuona kwamba, programmatically, ni
kidogo gumu zaidi kwa kujenga meza maoni mtawala, kwa sababu kuna
ni michache njia ambazo ni inahitajika kwa ajili ya wewe, aina ya, kuandika
nje ili kwa meza maoni mtawala wa kuonyeshwa kwa usahihi.
>> Hata hivyo, mimi nataka tu kuonyesha, sasa, mfano wa ambapo, kama mimi kuchukua fursa hii,
kwa mfano -
Nimekuwa kuweka katika mtazamo mwingine mtawala.
Na sasa, hebu sema nataka kudhibiti alt bluu yangu ya kwanza kabisa
meza mstari hapa.
Na mimi nataka kuwaita hii Blue.
Na kisha -
hebu angalia.
Mimi nina mtazamo sasa, na Mimi naweza kubadili background bluu.
>> Na hivyo, taarifa, hapa, hii drop-down menu pia anatoa uongozi wa wote
wa vitu hivi.
Kwa hiyo, jambo muhimu kutambua, hapa, ni kwamba mambo yote haya, hapa -
meza mtazamo huu mtawala, meza maoni, meza maoni sehemu, meza maoni
kiini - yote haya ni vitu, katika kanuni.
Hivyo, unajua, studio hivi sasa ni chini ya maoni maudhui, na kadhalika.
Kadhalika na kadhalika.
>> Hivyo, kama sisi kukimbia kanuni hii, sisi lazima kuona kitu -
hebu angalia kama hii - yeah.
Hivyo, kuna sisi kwenda.
Lakini, kama sisi kufanya hivyo, hakuna mambo haya kazi nyingine.
Haki?
Hivyo tu hii moja kazi.
Na, kwa ajili ya muda, mimi si kwenda katika, unajua, kuweka
chini wale wengine.
Na hii ni mwisho wa, aina ya, storyboard -
nini nilitaka kuonyesha kwa storyboard.
>> Na, mimi na kazi nje mfano, kweli, haki hapa.
Kwa hiyo, hili ni storyboard kwamba mimi alifanya hapo awali.
Hivyo, kama unaweza kuona, hii ilikuwa urambazaji yangu mtawala.
Kisha mimi alikuwa na mtazamo wangu wa kwanza mtawala, wakati huo nilikuwa na meza maoni yangu mtawala,
na wakati huo nilikuwa na yote haya -
hivyo hapo awali, mimi alikuwa akifanya kitu tofauti sana.
Hivyo, udhuru mambo hayo.
Mimi itabidi pengine safi it up baadaye kabla ya Mimi kutuma mbali na uzalishaji.
>> Lakini, kama sisi kukimbia hii, tutaweza kuona kwamba wote wa chaguzi ni
kwa ajili yetu.
Ila sikuweza kufanya asili wale rangi.
Hivyo, nice maombi rahisi.
>> Sasa, hebu kujaribu kukabiliana hii programmatically.
OK.
Hivyo, kufanya hivyo, tunakwenda tu kuanza mwezi Xcode mradi huo.
Tutaweza kufanya hivyo maombi tupu sasa, kwa sababu hatutaki kuwa na
storyboard.
Kwa hiyo, mimi nina tu kuzuia mwenyewe si matumizi yoyote ya storyboard, na
maombi tupu si nipe storyboard.
Hii ni kuzuia mwenyewe kutoka cheating.
Hebu angalia.
Kusubiri.
Je, I -
ndiyo.
OK.
>> Haki.
Kwa hiyo, hapa, sisi ni wa kushoto na kitu kingine lakini code.
Hivyo, basi mimi hoja dirisha hili kidogo juu.
Haki.
Kama unaweza kuona hapa, files tu sisi ni kupewa ni AppDelegate.h na dot
m, na hatuna storyboard tena.
>> Hivyo kama sisi kukimbia hii, sisi ni bado kwenda kupata screen nyeupe, kumshukuru Mungu.
OK - nyeupe screen, lakini kitu kingine.
Na, hapa ni sehemu muhimu.
Hii ni pale ambapo hatua kinachotokea.
Katika matoleo ya awali, kuna kawaida hakuna code hapa, lakini
storyboard kimsingi hutoa kanuni kwa ajili ya sehemu hii.
Mimi si kwenda katika maelezo juu ya jinsi.
>> Na nini tunataka kufanya sasa ni, tunataka kwenda katika hapa, na nafasi hii kidogo
kuanza kujenga programu yetu tena.
Hivyo -
ndiyo?
>> Watazamaji: Zoom?
>> RHED SHI: Zoom.
Yeah, uhakika.
OK.
Mimi nitakuwa kuandika, hivyo hii lazima si jambo sana.
OK.
>> Hivyo, kwanza, kumbuka sisi alitaka kujenga mtawala urambazaji, sawa?
Na pia, kama unaweza kuona hapa, Xcode anafanya kazi kubwa kweli kweli ya
binafsi kujaza.
Hivyo, kama wewe utakuwa taarifa, majina ya kila kitu ni mengi zaidi ya
kawaida, lakini Xcode inajaza katika kwa ajili yenu.
Hivyo siwezi vyombo vya habari tu kuingia.
>> Hivyo, nataka kujenga UI urambazaji mtawala pointer, na mimi unaweza kuiita
navigationController.
Sasa, je, mimi nini sasa?
Baada ya ishara hii sawa, nahitaji, kwanza, kujenga ndani ya kumbukumbu.
Kwa hiyo, mimi nina kwenda kufanya NavigationController alloc -
hivyo, hii ni sawa na malloc, kwamba guys kutumika katika C -
na kisha, mimi nina kwenda kwa init yake.
>> Hivyo, ni muhimu kwamba yeyote kitu kwamba kujenga, unataka
alloc na init yake.
Hiyo inaenda kujenga na instantialize ni ndani ya kumbukumbu, na
sasa unaweza kutumia.
Wote haki?
Kama huna kufanya hivyo, kitu yako haina haipo, na wewe utakuwa kukimbia katika kundi
ya matatizo.
>> Na kisha, nataka kujenga maoni mtawala, sawa?
Hivyo, nataka kujenga UIViewController nyota -
hivyo, kila kitu ni pointer katika Lengo-C, na mimi nina kwenda kufanya
kitu sawa, hapa -
alloc, init.
OK.
>> Na kisha nini mimi kwenda kufanya ni, mimi nina kwenda - kwa hivyo, kumbuka wakati sisi alifanya
embed katika urambazaji mtawala?
Hii ni jinsi ya kufanya hivyo katika kanuni.
Wewe ni kwenda kufanya navigationController
pushViewController -
>> Watazamaji: [inaudible].
Je, hii kutokea kwa sisi, au -?
>> RHED SHI: Oh, yeah.
Hapana
Ni anapenda mimi bora.
No, kutakuwa na kazi kwa ajili yenu, pia.
Kwa hiyo, hizi ni mbinu zote.
Hivyo pushViewController ni njia, na pia, hasa zaidi, ni
mfano njia ya UI urambazaji mtawala.
Kwa sababu nilikuwa na kujenga UI yangu urambazaji mtawala nyota, na kisha mimi
wanaweza kupiga pushViewController hii juu yangu mfano maalum ya UI urambazaji
mtawala.
>> Watazamaji: Je, tuna kufanya halisi neno, au gani tayari zipo kwa ajili yake?
>> RHED SHI: Ndiyo, kwa sababu ni mbinu.
Ni kama kazi.
Ni kama printf.
Ni kama scanf.
Ni kama strcompare.
Ila anajua nini kutaka aina, na taarifa kwamba utakuwa daima
kuja na mambo ambayo ni kuruhusiwa kisheria kwa ajili yenu.
Kwa hiyo, kama hakuna inaonyesha up hapa, kisha kuna kitu kibaya.
>> Hivyo, pushViewController.
Kwa hiyo, sasa, nataka kushinikiza yangu nybildat
UIViewController, na kisha, animated -
labda si.
Kwa sababu hii ni kwenda kuwa kwanza maoni mtawala.
I mean, hata kama mimi kufanya animated, pengine si show up, kwa sababu
ni screen ya kwanza.
>> Na kumbuka mabano.
Hivyo, kumbuka jinsi sisi kutumika mabano?
Na ndani ya mabano, kitu wito kwa njia -
hivyo kitu yetu ni urambazaji mtawala, na ni njia kushinikiza
maoni mtawala animated.
Na kuona ni jinsi gani inachukua katika hoja mbili, na wao ni kutengwa na, aina ya,
maneno, na koloni.
Hivyo, Lengo-C anajaribu kufanya ni nzuri na rahisi kwa wewe kusoma kwa sauti kubwa -
code yako - na kuwa ni nusu, aina ya, mantiki.
>> Hata hivyo, kufanya tu hii haitoshi.
Hebu zoom nje sasa.
Kufanya tu hii haitoshi kwa kupata nini tulipata hapo awali.
Hivyo hapa, utasikia taarifa kwamba kuna kweli si kwenda kuwa aina yoyote ya
bar, hapa, sawa?
Hakuna bar urambazaji, ambayo njia kwamba sisi bado si wamezipata yake.
>> Na tunaweza kupima kwamba nje, pia, kwa, labda, kubadilisha asili ya
ViewController, sawa?
ViewController.background--
ah.
Kwa hiyo, kuona ni jinsi gani ViewController hawakuwa na background rangi, ingawa mimi
alitaka kupata hiyo?
Na kwamba kwa sababu ViewController ni chombo kwa maoni.
Hivyo, ina lengo mali hiyo, ambayo kisha ina rangi ya asili.
>> Na, siwezi kuweka, aina ya tediously, kwa kupiga rangi
juu ya UIColor kitu.
Hivyo, taarifa hapa, redColor ni mbinu.
Ni njia ya darasa la UIcolor.
Kwa sababu sikuwa na kujenga mfano halisi ya UIColor ili
kuwaita njia juu yake.
Mimi tu, tu, aliita juu ya aina-kama jina.
Mimi, kama, aliita juu ya int, kama int alikuwa, kama, njia hiyo, kwa mfano.
>> Na hivyo, kama sisi kukimbia kanuni hii, tutaweza taarifa kwamba background ni
kweli si nyekundu.
Bado nyeupe.
Na jinsi gani tunaweza kupata kote kwamba ni, taarifa jinsi kuna self.window.
Hiyo ni, kama, chombo mwisho kwa ajili ya maombi yako.
Ni jambo la mwisho kwamba ina kila kitu juu ya screen, kwa
iPhone au iPad maombi.
>> Na, conveniently, self.window ina mali hii inayoitwa
rootViewController.
Na kwamba ni kwenda kuwa pointer kwa kwanza sana maoni mtawala ndani ya
wa programu yako.
Hivyo, nini tunataka kufanya hapa, sasa, ni kuweka sawa sawa kwa urambazaji wetu
mtawala.
Haki?
Kwa sababu, kitaalam, urambazaji mtawala ni maoni yetu ya kwanza
mtawala.
Ni anaendelea kufuatilia kwa safu ya maoni mengine controllers, na sisi kusukuma hii
maoni mtawala katika safu kwamba katika mtawala navigation.
>> Basi, wewe hawataki kufanya hivyo.
Hiyo si kweli kukusaidia.
Unataka kufanya hii, kama wewe alitaka kufanya mtawala urambazaji, ambao wengi
ya pengine kwa sababu utasikia wanataka kwa, aina ya, na aina fulani ya,
kama, menu kwenda nyuma au baadhi ya homepage ya kurejea, badala ya
screen tupu.
Ndiyo?
>> Watazamaji: Je, ni wasiwasi kwa wewe kuvuta -
>> RHED SHI: Yeah.
Hivyo, yeah.
Hii ni kanuni, na sasa hebu mtihani ni nje.
>> Hivyo, kuna sisi kwenda.
Uchawi.
Hivyo, OK.
Asante.
OK.
Basi sasa, nini tunataka kufanya ni - kwa hivyo, sisi ni aina ya mdogo, hapa, sawa?
Tunaweza uwezekano wa kuandika kila kitu ndani ya kazi hii moja.
Lakini, si jinsi iOS maendeleo kwa kawaida kazi.
>> Hivyo, nini tunakwenda kufanya ni, sisi ni kwenda kujenga baadhi files mpya.
Lakini, zaidi hasa, tunakwenda kuunda nyingine Lengo-C darasani, au
mwengine -
darasa na vitu ni kubadilishana hapa.
Na, hapa ni jinsi gani ningeweza, uwezekano, kujenga kundi jingine la U controllers.
>> Hivyo, ni ndogo darasani, kama wewe utakuwa taarifa, hapa, ni ndogo darasa la
UI maoni mtawala, lakini siwezi kuiita jina nyingine yoyote hapa.
Mimi naweza kuita CS50 hii, mimi naweza kuita mtazamo huu mtawala, mimi naweza kuita
hii blah maoni mtawala -
kitu chochote nataka.
Hii ni jina kwa ajili ya darasa.
Hata hivyo, kinaendelea kuwa muhimu kwa sababu, kimsingi, nini mimi kufanya
hapa ni, mimi nina kujenga jina la mtu mwingine darasa.
Hivyo, ni kwenda kuwa, kama, baadhi aina ya aina au kitu.
Kwa hiyo, ni lazima kidogo ya kurefusha maisha.
Ni si kwenda kuwa maalum sana.
>> Na pia, mimi unataka uhakika nje njia hizo mbili.
Kwa sababu sisi ni kufanya kila kitu ndani ya code, wakati mwingine ni rahisi sana
kuleta katika interface file, kama kwamba Naweza literally Drag na kuacha, kama
sisi ilivyokuwa kwa storyboard -
unajua, studio, au kifungo, au chochote kingine.
Na hivyo, xibs ni files kwamba kuruhusu kufanya hivyo, na una kunasa it up
kwa mtazamo huu mtawala file.
>> Kwa hiyo, mimi nina kwenda kwa makusudi si kuangalia hii.
Kawaida mimi bila kuangalia hii, na kama mimi tu alifanya hivyo kwa iPhone au iPad, mimi
bila kuangalia hii na tu na moja kwa, unajua, iPhone au iPad.
Lakini kwa kuwa mimi nina kufanya wote, mimi nina kwenda kujenga wawili wa baadaye.
Kwa hiyo, mimi nina kwenda kwa makusudi uncheck hii.
>> Hii ni muhimu pia.
mara nyingi, nimepata mende ambapo hii si checked.
Na hivyo, ni wazi, faili hii si, aina ya, kama, ni pamoja na au nje
ndani ya folder mtihani huu.
Na hivyo, kanuni yangu ina kabisa hakuna wazo ya kuwepo kwa faili hili, na
vinavyosababisha maumivu mengi na masaa ya debugging.
Lakini, kuhakikisha hii ni checked hivyo kwamba, unajua, Lengo hii
file ni kwa hii ya maombi.
>> OK.
Kwa hiyo, sasa tumeunda files mbili mpya.
Na files hizi kuangalia pretty tupu.
Na, kwa kweli, hebu pia kuendelea juu ya kwa kujenga files xib.
Hivyo, awali, nilikuwa katika Cocoa Touch kuacha chini.
Sasa, mimi nina kwenda katika mtumiaji Interface kugusa, na kama unaweza kuona, mimi
unaweza kuunda storyboard.
>> Kwa hiyo, hata mimi ilianza na tupu maombi, mimi bado unaweza kutumia
storyboard.
Pamoja na kwamba, anapata gumu katika suala jinsi unataka kuwaunganisha
kwamba code yako.
Kwa hiyo, mimi si kwenda huko.
>> Lakini, nini tunataka kufanya sasa ni kujenga maoni.
Na unaweza kuchagua kwa iPhone au iPad.
Na kwa kawaida, kuashiria tofauti - kama wewe ni kufanya
wote maombi -
wewe ama kuweka msisitizo wa iPhone, au unaweza kufanya Twiddly.
Ni kweli haina jambo.
Ni tu kwa ajili yenu na tofauti ambayo mtazamo ni kwa ambayo kifaa.
>> Na hivyo, sasa kuangalia.
Mimi na screen kwamba naweza kufanya kazi pamoja.
Na hivyo, kwa mfano, naweza kuweka studio hapa, unajua, na mimi wanaweza pia kuweka
kifungo mwingine hapa.
Mimi si bother kubadilisha maadili hapa.
>> Lakini, jambo muhimu hapa ni kwamba faili mmiliki -
hivyo, mimi nina ndani ya iPhone maoni, iPhone xib file.
Na chini katika eneo hili urambazaji au tone-down menu, nataka kwenda
mmiliki faili.
Na hii ni kweli hatua muhimu hapa.
Nataka kufanya mtazamo darasa mtawala, ili faili hili xib ni
kwenda kuhusishwa na maoni yangu mtawala.
Na chochote ambacho mimi kufanya ndani ya maoni yangu mtawala programmatically ni
kwenda yalijitokeza hapa.
>> Kwa hiyo, hata hivyo, taarifa kwamba -
kweli, wacha kufanya mtazamo huu background bluu, kwa mfano.
Au kijani.
Na kisha, hivyo kama wewe utakuwa taarifa, nyuma katika kanuni hii, hii ni wapi tulipata wetu
urambazaji mtawala.
>> Hata kama tulivyofanya hatua hiyo, ni bado kwenda kuwa nyekundu, si ya kijani.
Na kuna sababu kwa nini.
Ni kwa sababu, wakati sisi inited mtazamo wetu mtawala, hapa -
sorry, ni mambo kidogo -
wakati sisi inited maoni yetu mtawala hapa, sisi inited ni ya aina ujumla
UIViewController.
OK?
Hivyo hakuwa hata kufanya ni pamoja na darasa hili.
>> Basi kumbuka, hii ni kama darasa sasa.
Inaweza kuchukuliwa kama aina, tu kama UIViewController ni aina.
Na ili kutumia, nini tunahitaji kufanya ni kuagiza -
kuagiza ViewController -
na, kama unaweza kuona, autofills yake kwa ajili yangu.
Hivyo, ViewController -
na sasa, hapa, siwezi kubadili hali hii UIViewController kwa ViewController.
Na sasa, hapa, siwezi kubadili hii ViewController.
>> Hebu kukimbia hii tena.
Ni bado nyekundu.
Na sababu kwa nini ni bado nyekundu ni kwa sababu -
Woah, kilichotokea huko?
Sisi alitaka kujiunga xib hii faili kwa lengo la mtawala.
Hata hivyo, ili kwa kweli kufanya kwamba, tunahitaji kwenda katika hili.
Na wakati sisi kufanya init, tunataka kufanya initWithNibName, na kisha tunataka
kufanya katika kamba View_iPhone, kwa mfano.
Unaweza kupuuza kifungu hapa.
>> Na hii ni kwenda kuruhusu sisi, kwa kweli -
uh oh, kuna tatizo.
Haki.
>> Na hivyo, kuna tatizo kwa sababu, katika maoni xib yetu file, tuna studio na
sisi kuwa na kifungo.
Hata hivyo, ingawa tumekuwa na uhusiano hizo mbili, kuna kitu ndani ya
ViewController.h au ViewController.m zinazoonyesha wale
kifungo au wale maandiko.
Hivyo, tunahitaji kuandika wale walio katika kama mali ya maoni mtawala.
>> Kwa hiyo, hii ni jinsi gani kutangaza mali.
Inachukua katika, kwa kawaida, njia hizo mbili.
Kwa madhumuni ya sisi na semina hii, Napenda kusema kwamba, kwa ujumla,
mali zaidi ni nonatomic na kurejesha.
Unaweza kusoma juu na Google kutafuta, unajua, tofauti kati ya
nonatomic na kuhifadhi, wewe kujua, Google au kitu.
Na mimi itabidi kuchukua wewe, kama, Stack Kufurika, ambapo watu watakuwa na
majibu kwa tofauti kati ya hizo.
Lakini kwa sasa, kwamba ni nini sisi wanataka kuwa na wasiwasi na.
>> Na tunataka kufanya UI studio, nyota, na tunaweza kuiita chochote tunataka.
Tunaweza kuwaita hii, unajua, studio.
Na, tutaweza kujenga mwingine moja kwa kifungo.
Na kumbuka ni pamoja na kinyota, kwa sababu sisi ni kushughulika na kuyatumia
pretty much kila mahali ndani ya Lengo la-C.
>> Hata hivyo, bado si kutatua tatizo, kama unaweza kuona hapa.
Na sababu ni kwa sababu, wakati sisi wanataka kuungana xib file studio au
kifungo mpango, au header na file utekelezaji, tunataka
kuongeza kipande hii ya maadili ya -
outlet.
Taarifa kwamba ni neno muhimu.
>> Na, kwa haraka kama mimi kumaliza kuandika kuwa nje, ni lazima kuwa haya
duru mbili, hapa.
Kwa kawaida, siyo kujazwa ndani
Mimi nina uhakika kwa nini wao ni.
Lakini kwa kawaida, utakuwa na manually kuungana nao kwa kwenda upande huu wa
huduma eneo hilo.
>> Na hivyo, hivi sasa, mimi nimepata studio yangu kuchaguliwa, na mimi nataka Drag hii mpya
inayozungumzia outlet kwa mmiliki file yangu, na kisha bonyeza Label.
Basi sasa, hatimaye, studio hii ni kushikamana na studio hii.
Na studio hii ni nini tunakwenda kwa kutumia programmatically kubadilika
Nakala, font yake, background yake rangi, na kadhalika.
>> Hivyo, kwa nini sio sisi kufanya sawa kwa button?
Na kama wewe utakuwa taarifa, kwa kifungo, ni ngumu zaidi kidogo.
Kwa sababu, I mean, uko walidhani vyombo vya habari juu ya kifungo, hivyo got mengi
ya chaguzi kwa jinsi ya watumiaji unaweza vyombo vya habari juu ya kifungo.
Na kisha, tutaweza kuona baadaye kwamba tunaweza kuunganisha hii wetu
maadili ya kufanya kazi yake.
>> Hivyo, kwa sasa ingawa, tunataka kuungana ni kifungo halisi
ndani ya kanuni zetu.
Kwa hiyo sisi kwenda mpya referencing outlet, na kisha kufanya kifungo.
Sasa, hebu kukimbia hii tena.
Uh oh.
OK.
Sijui nini kinaendelea hapa sasa.
Ho.
Wakati mmoja tu, hapa.
>> Kweli, kwa nini sio sisi kuchukua kuangalia mfano mwingine katika
maslahi ya wakati.
OK.
Kwa hiyo, hapa ni tayari kwa urahisi zaidi mfano kwa ViewController.
Kama unaweza kuona hapa, nimekuwa ni pamoja na mali kwa ajili ya
studio na kifungo.
Na kisha, kipande hii ya maadili ya hapa -
hii IBaction -
mara uhusiano na kifungo hii hapa.
Hivyo kama unaweza kuona hapa, Touch Up Inside ni kushikamana na selector
aitwaye Button taabu.
>> Hivyo, tunaweza kweli kwenda kwa njia ya mwendo tena, hapa, kwa kuchukua Touch Up
Ndani na akawatoa kwa Picha ya Mmiliki, na kisha
bonyeza Button taabu.
Sasa, hebu kukimbia kanuni zetu.
Basi sasa, kifungo hii sasa anafanya kazi na itachukua sisi kwa ukurasa wa pili.
>> Na, katika suala la mtazamo wetu mtawala, hii ni kipande cha kificho kwamba alichukua
huduma ya Button taabu.
Na ni muhimu kutambua hapa, kwamba Nimekuwa kuundwa aina nyingine ya maoni
mtawala aitwaye meza maoni mtawala.
Kwa hiyo, hili ilikuwa sawa na kuunga mkono katika storyboard, wakati mimi kuvutana moja ya
haya controllers meza maoni ndani ya storyboard.
Mimi nina kujenga mwingine
>> Pointer kwa meza maoni mtawala, alloc na init-ing, na kisha kufanya
binafsi dot urambazaji mtawala, kushinikiza ViewController, hii mpya
viewController.
Na nimekuwa kuweka uhuishaji ndiyo, kwa sababu sasa ndani ya programu yangu, na mimi
unataka kweli kuona uhuishaji kwenda kutoka ukurasa wa nyumbani kwa meza
maoni mtawala.
>> Watazamaji: Je, bado wasiwasi kuhusu ukusanyaji takataka?
>> RHED SHI: Ni nini hiyo?
Hapana
Hivyo, swali, je, una kufanya kazi na ukusanyaji takataka?
Hivyo, Xcode cha 4 kilikuwa na kama ARC, ambayo ni moja kwa moja kumbukumbu kuhesabu kura.
Na hivyo, kwa kawaida wakati wa kuanza mpya mradi, bila kuangalia kwamba, kwa sababu
hakuna mtu kweli anataka kukabiliana na kumkomboa kumbukumbu na mambo ya ajabu.
Lakini nadhani katika Xcode 5, hakuna hata kwamba chaguo juu ya mradi mpya.
Hivyo, ni moja kwa moja gani kwa ajili yenu.
Ndiyo?
>> Watazamaji: Je, unaweza kuuza nje PDF katika storyboard yako?
>> RHED SHI: Yeah, dhahiri.
Kwa hiyo, yote haya itakuwa ni pamoja na katika chanzo code, hivyo guys unaweza kuangalia nje
halisi Xcode mradi kwa ajili yake.
Yeah?
>> Watazamaji: Lakini, I mean, kama, ninaweza magazeti PDF kwa storyboard yangu?
Kama mimi nataka tu nje picha ya kuonyesha mtu.
>> RHED SHI: Oh yeah.
Nadhani, labda, unaweza tu kuchukua screen risasi.
Yeah, na kuwatuma screen risasi au kitu.
Yeah.
>> Kwa hiyo, hebu angalia.
Kwa maslahi ya wakati, nadhani kwamba wote l inaweza kufunika leo.
Lakini, najua kwamba, kwa kweli, tu vigumu kugusa uso wa iOS
maendeleo.
Kwa hiyo, tafadhali jisikie huru kuwasiliana nami kama una maswali yoyote kuhusu iOS
maendeleo.
Na, hopefully, mimi utakuwa na uwezo wa safi juu ya baadhi ya kanuni kwa ajili ya chanzo
files code, ili itabidi baadhi mifano nzuri kwa kweli kazi.
>> Nyingine zaidi ya kwamba, kama wewe guys ni kwenda kwa CS50 hackathon, mimi au anaweza
si kuwa huko, na mimi inaweza kusaidia nje na baadhi ya maendeleo iOS, pia.
Hivyo, shukrani mengi, guys.