>> DANIEL Armendariz: Sveiki, visi, kviečiame iOS app plėtra
su SWIFT.
Aš Danas Armendariz.
Aš precepter iš kompiuterio mokslas čia mokyklos
Inžinerijos ir taikomųjų mokslų.
Ir greitai iš tikrųjų yra natūra iš tikrųjų tvarkingas kalba.
Ir aš turiu keletą pasiūlymų šiandien planus.
Taigi per kitą valandą ar taip mes ketiname pažvelgti į iOS app plėtra pati
naudojant Xcode ir iš tikrųjų sukurti kai labai paprastas, labai paprastas programas.
Ir žiūri taip, kad jums iš tikrųjų imtis šiuos prašymus,
ir kurti juos, ir iš tikrųjų įdėti juos į iOS įrenginį.
Kai kurie iš dalykų, kad mes neketiname ieškoti
bus įtraukti tokius dalykus kaip iš tikrųjų, atsižvelgiant paraišką
ir padėkite jį ant App Store.
Yra samouczków daug internete, kad padės jums su tuo jos aspektą.
Bet taip pat, nes, kaip dalis CS50, gausite
prisijungti prie "Apple" plėtrą komanda, CS50 app plėtros komanda.
Jei to dar nepadarėte, kad dar jūs susijęs su CS50,
Aš rekomenduoju, kad jūs daryti, nes, kad
kaip jums pavyko sukurti kai kurie Xcode programos,
atstatysiu juos, ir iš tikrųjų įdėti juos dėl kai kurių iš jūsų iOS prietaisų
jei jūs iš tikrųjų turi fizinis IOS prietaisas.
Jei jūs neturite fizinį iOS įrenginys, kuris yra daugiau nei gerai.
Jūs iš tikrųjų galite kurti iOS.
Ir Xcode turi simuliatorius, kuris leidžia jums
pamatyti savo prašymą veiksmai jūsų kompiuteryje.
Bet tai tarsi yra tvarkingas dalykas kad iš tikrųjų žaisti ir bendrauti
su jūsų paraiška dėl faktinio prietaiso.
Taigi ten reikalavimų pora iš tikrųjų visą šį vystymąsi.
Vienas iš jų yra tai, kad Jūs turite turėti Mac.
Ji turi būti įdiegta 10.9.4 arba naujesnė versija siekiant padaryti vystymą SWIFT.
>> Galite naudoti anksčiau versija plėtoti
objektyviais C iOS ir Mac.
Bet aš rekomenduoju, ir apie daug pavyzdžių, kad mes pamatysime šiandien,
naudoti 10.10 Yosemite.
Taigi, jei turite dar tobulinama, tai geras pretekstas daryti.
Dabar Xcode 6.1 yra naujausia versija integruota kūrimo aplinka
kad "Apple" teikia nemokamai, kad Jūs galite atsisiųsti išjungti App Store.
Ir aš rekomenduoju, kad jums taip pat paleisti naujausią versiją.
>> Jei atsitiktų būti paleista anksčiau versija, Xcode 5 ir žemesnis tik
tiesiog nepalaiko greitai apskritai.
Bei beta versijos šešių, kurie buvo išleistas per vasarą,
padaryti paremti greitai, bet ten buvo milžiniškas skaičius
pokyčių kalba, pakankamai kad kodas, kad esate
ketina ieškoti ir kad jūs gali rasti internete
nebus iš tikrųjų sudaryti tinkamai Šiose prieš versijų Xcode.
Taigi dar kartą, jei jūs dar ne turėti programuotojo sąskaitą,
Aš rekomenduoju jums eiti developer.apple.com.
Prašome užsiregistruoti, sukurti kūrėjas sąskaitą, ir prisijungti prie CS50 App plėtros komanda.
Tai suteiks jums galimybę sudaryti savo programas
ir įdėti juos į savo prietaisą.
Gerai, kad galime pradėti.
Pats pirmas dalykas, mes ketiname padaryti, tai
kad iš tikrųjų sukurti labai paprastas projektas Xcode
kuris leis jums pateikti paraišką.
>> Taigi, jei jūs dar neturite Xcode atvira, eiti į priekį ir jį atidaryti
ir sukurti naują projektą.
Ypatingą ekrano užsklanda atvers ir duos jums
keletas variantų, apie ką tai yra, kad jūs norite daryti.
Tiesiog pasakyti, kad norite sukurti Naujas projektas, nauja paraiška.
Šiame lange bus pop-up, darant prielaidą, kad jūs naudojate Xcode 6.1.
Dabar, ir už trukmė šiame seminare,
mes ketiname naudoti Single Peržiūrėti prašymai, tiesiog
rūšiuoti pagrindinio taikymo gauti jūsų kojų šlapias.
Ir jūs galite išsišakoti dėl savo iš ten.
>> Spustelėkite Next šiuo klausimu.
Dabar čia nėra pora dalykų kad jūs galbūt norėsite atvykti.
Gaminio pavadinimas yra Pavadinimas savo projektą.
Šiuo atveju, aš tiesiog ketina jį vadiname Seminar1
nes tai pirmasis mūsų pavyzdys.
Organizacijos pavadinimas, į šiuo atveju yra tik mano vardas.
Jūs galite, žinoma, jį pakeisti savo paties vardu, arba CS50.
Organizacija identifikatorius, jei jūs atsitiktų turėti interneto svetainę tiesiog
domeno vardas pakeisti, com.yourname.
ir tada produkto pavadinimas turėtų atsirasti automatiškai
po to kaip ryšulio identifikatorius.
>> Akivaizdu kalba, kad mes ketinate naudoti šiandien yra greita.
Jūs galite, žinoma, naudoti Tikslo C už tai, bet šiandien bus greitai.
Ir mes dabar pasakyti universalūs įrenginiai, todėl
kad jis veikia tiek iPad ir iPhone.
Ir mes palikti branduolį duomenys nekontroliuojamai saugoti
Projektas palyginti paprasta laikas viduryje.
Taigi eikime į priekį ir spustelėkite Pirmyn.
Ir tai vyksta paklausti manęs kur aš noriu ją išsaugoti.
Aš tiesiog išsaugokite jį savo kompiuteryje dabar.
>> Gerai, kad dabar tai kas bus atsitikti, kai jūs iš tikrųjų atvirą Xcode.
Ir pastebėti, kad Pats pirmas dalykas, jūs matote
tai šauktukas, kad sako "ne" pasirašymas tapatybė nustatyta.
Aš tyčia tai padarė ant mano kompiuterio ir aš
tikiuosi, kad aš ruošiuosi galės faktiškai nustatyti jį,
nes aš noriu jums pamatyti, kaip tai tikrai bus dirbti savo mašinoje.
>> Eiti į priekį ir spustelėkite fix klausimą.
Jis lieps jei turite esamų obuolių kūrėjas sąskaitą.
Tai kur prisijungti CS50 App plėtros komanda
Svarbu, kad jūs ne tik app sąskaitą,
bet jūs taip pat turite galimybė pasirašyti programas
ir įdėti juos į savo iOS prietaiso.
Tai not-- spustelėdami Fix problema nebūtina
jei esate tik ketina kurti ir plėtoti vietos,
visiškai atitinka iOS simuliatorius.
>> Bet dabar aš ruošiuosi parengti ir pateikti juos
mano iPad, kuri bus galėtų transliuoti, taip pat.
Taigi aš noriu, kad iš tikrųjų pridėti.
Ir tai vyksta paklausti man mano obuolių ID.
Taigi tai bus tai.
Ir aš turiu paimti My slaptažodis, kuris yra daugiau nei čia.
Taigi man tik vieną sekundę, konstatuodama, kad ir kopijuoti, kad ir įklijuokite jį čia.
>> Spustelėkite Pridėti.
Tai vyksta paklausti manęs kuri komanda Noriu prisijungti.
Aš ruošiuosi daryti mokyklą inžinerija.
Spauskite Prisijunkite.
Oi, tai negerai vienas.
Darom šį vieną.
Tikimės, kad vienas veiks.
Tai vienas vis dar neveikia.
Mes bėga gerų čia.
Gerai, tai vienas turi dirbti.
Dabar uždaryti, kad.
Dabar darykime mokyklą inžinerijos, spustelėkite pasirinkti.
>> Ir dabar tikiuosi po pora sekundžių jums can-- Gerai,
Aš atšaukti ir prašymas.
O vyras, tai vyksta ne dirbti.
Gerai, bandysiu kitą.
Leiskite tai padaryti čia.
Gyvi demo nesugeba mane.
Mes gali tekti grįžti prie ką tik statybos visiškai lokaliai,
tačiau, kad būtų OK, šiuo atveju.
>> Taigi čia, o iš tikrųjų tai yra darbo, ką mes ketiname daryti, yra tik
sukurti labai paprasta Hello World taikymas.
Taigi tai yra Xcode.
Ir jei nemačiau dar, tai gali būti šiek tiek bauginanti ne pirmas.
Yra daug stiklų daug, ten daug doodads įvairiose srityse.
Bet tik suprasti, kad ten tikrai keli pagrindiniai komponentai
šios programos plėtojimo aplinkoje.
Tolimajame kairiajame kampe yra visi failai kurie yra taikomi į savo programą
arba savo konkrečiam projektui.
Mes bus Naršyti aplink dėl kai kurių iš jų, ir mes
atkreipti dėmesį į labiausiai svarbiausi per tam tikrą laiką.
Dėl dešinėje, mes turėti atributų rinkinį.
Ir visi iš šių požymių, yra Yra įvairių stiklai skirti atributų.
Stiklo plokštės bus pakeisti, priklausomai nuo Pagrindinio turinio konteksto, kuris
atsitinka būti per vidurį.
Dabar vidurys iš tiesų gali parodyti Jūs dalykų įvairovė, pavyzdžiui,
Pats savo kodą.
Arba jūs iš tiesų gali have-- kai Paspaudus ant siužetinės linijos, kurios
yra, beje, tiesiog grafinė atstovavimas jūsų naudotojo
sąsaja jūsų application-- tada atributai Polangis
nuo labai toli į dešinę tikrai bus pakeisti.
Dabar yra apie kitas pora dalykų, kad aš noriu atkreipti.
Jūs galite rūšiuoti tyrinėti aplink į į savo aplinką.
Tačiau vienas iš dalykų, kad buvo labai naudinga
yra šį mygtuką čia, viršutiniame dešiniajame lango.
Yra šis mygtukas, kad atrodo kaip ant kiek
palikti ji punktas po du apskritimai ir rūšiavimas
iš dviejų strėlių nukreipta vienas nuo kito.
Jei perjungti standartinį redaktorių, kuris
yra toli į kairę vienas, vienas kad pasirinkta pagal nutylėjimą,
ir du apskritimai persidengiančių tarpusavyje, ką jūs iš tikrųjų gauti
yra dvigubai blokinis.
>> Ir tai yra iš tikrųjų bus naudinga mums
kai mes turime susieti elementus į į kodą UI.
Ir mes kalbame daugiau apie kad tik akimirką.
Bet suprantu, kad jei jūs gaunate dar daugiau stiklai, pavyzdžiui, tai,
galite supaprastinti savo požiūrį tik šiek tiek paspaudę atgal
Jūsų vienu redaktoriumi.
Kol kas viskas gerai.
Taigi, iš esmės, mes turime įtraukti kodą kairysis, atributus dešinėje,
ir kokia ji yra, mes dirbame čia pačiame centre.
>> Taigi čia aš spustelėjote pagrindiniame siužetinės linijos.
Ir siužetinės linijos, vėl yra Xcode būdas
kad jūs iš tikrųjų galite sukurti savo vartotoją sąsaja, naudojant tiesiog vilkite ir upuść
būdai.
Ir dėl to mūsų labai Pirmasis prašymas tai
Būtent tai mes ketiname daryti.
Mes ketiname eiti į labai toli apačioje dešinėje dalis
ekrano, kuriame yra Vartotojo elementų įvairovė
kad jūs galite tada spustelėkite ir vilkite sukurti savo vartotojo sąsają.
>> Dabar visi šie elementai yra vadinami svečiai
nes jie pateikti tam tikrą nuomonę rūšiuoti.
Yra vaizdas vaizde už Pavyzdžiui, iš tikrųjų rodo,
nuo vartotojo sąsajos vaizdas.
Yra stalo vaizdas į iš tikrųjų rodo, staliuką.
Taigi, toliau ir taip toliau.
Yra įvairių peržiūros, kad jūs galite pasirinkti čia.
Taigi tik dabar mes ketiname ieškoti etiketėje.
Jūs galite tiesiog pereiti per visi sąrašus, kuriuos ten.
Bet ten paieška baras pačioje apačioje
kad lengviau nustatyti specialūs svečiai, kad jūs iš tikrųjų
norite nuvilkti į savo vartotojo sąsają.
>> Surasta mano etiketę.
Aš ruošiuosi vilkite jį čia tiesiogiai ant mano imties taikymo.
Teisė ten viduriniosios gerai atrodo.
Ir aš ruošiuosi rašyti "Hello World!"
Paspauskite Enter.
Dabar aš turiu etiketę.
Jis neturi atrodyti tai centre gana gerai.
Taigi aš galiu pabandyti iš naujo centre ją.
Laimei, jis siūlo šias kreiptuvus, kad viskas daug lengviau.
Aš ruošiuosi pabandyti surinkti ją.
Tikimės, kad tai bus iš tikrųjų čia dirbti.
O jei ne, vos akimirką ji iš tikrųjų atrodo mano iPad.
Tai čia.
Ten ji yra.
>> Gerai, kad viskas.
Mes padaryti.
Sukūrėme mūsų labai pirmoji paraiška.
Dabar žinoma, tai nėra nieko daryti.
Tai tiesiog etiketė.
Nėra tarp ryšys ir vartotojo sąsaja kodas.
Taigi, jei mes iš tikrųjų norėjo sukurti šį ryšį,
jei mes iš tikrųjų norėjo turėti tam tikros rūšies bendravimo tarp elementų
kad egzistuoja ekranas ir kodas, kuris yra
leidžia kontroliuoti tie elementai, tada
mes iš tikrųjų reikia pažvelgti į patį kodą.
>> Taigi tai yra tai, kas vadinama ViewController.swift.
Ir, ypač savo pirmuosius keletą programų,
tai bus tarsi birių kodą, Jums enter--
bus šiame dokumente čia.
Yra daug dalykų kad tai čia iki šiol, tiesa?
Yra importo UI rinkinys klasė, nepaisyti, [? funk,?] visi šie įvairių dalykų.
Ir tai ne visai aišku, kas ji yra, kad visa tai reiškia.
Taigi leiskite žengti žingsnį atgal toli nuo Xcode už trupučiu
ir pažvelgti į pačios kalbos, greitai.
>> Taigi su greitai, jis buvo dizainas ir kūrimas
Apple apie keturias metų iki mano supratimu.
Ir ten funkcijų pora apie tai, kad yra tikrai tvarkingas.
Visų pirma, jis parengė kalba, tik norėčiau C.
Taigi pirmiausia turite kaupia ir tada paleisti jį
Prieš jūs iš tikrųjų galite vykdyti kodą, rezultatus.
Bet yra, skirtingai nuo C, interaktyvus greitai, kad jūs iš tikrųjų galite paleisti
ir įveskite savavališkų komandas į.
Ir labai panašiai kaip "JavaScript" konsolė, kurie jums gali būti susipažinę su dabar
ji iš tikrųjų bus įvertinti tie, komandos ir suteikti jums išvestį.
Ir jie net imtis , kad į kitą lygį
ir jie jau sukūrė kažką vadinami aikštelių Xcode
kad leidžia jums vizualiai dirbti su kodu.
Ir mes iš tikrųjų matyti keletą pavyzdžių to vos truputį.
Jis grindžiamas C. C grindžiamas ji, nes visi iš sudarytojų
sukurti kodą iš C sukurti objekto kodą iš jo.
Bet tai tikrai akcijos palyginti mažai sintaksė.
Jis atrodys gana skirtingi.
Ten bus keletas panašumų.
Tačiau ketiname būti nemažai skirtumų
lyginant su, tarkim, "JavaScript", arba PHP.
Ir mes atkreipti jų iš vos akimirką.
>> Dabar vienas iš didžiausių dalykų, apie greiti, kad gražus
yra tai, kad, ypač palyginti C, tai reiškė, kad būtų saugūs.
Viskas jame yra skirtas būti labai stipriai įvedėte.
Iš tiesų tai beveik erzina pirmiausia, kai jūs pirmą kartą
pradėti dirbti su SWIFT, tik kaip kiek ji įgyvendina tipų visur.
Viskas, kas yra eilutė turi išlikti eilutė.
Tai labai sunku rūšiuoti konvertuoti jis arba priversti jį į kitą formą.
>> Ir vėl, mes parodysime pavyzdžių.
Bet galiausiai suprantu, kad Tai reiškia, kad apsaugotų jus,
ir jus aš tai savo kodą, nuo kritimo kai siaubingas būdu, kai
jūs turite šiek tiek nesutampa tipo rūšiuoti.
Ir vėl su juo dirbti.
Nes ji bus nelinksma pirmoji kaip jūs bandote išsiaiškinti, kodėl būtent
jūs gaunate tai neįprasta klaidos susijusios su tipus.
Bet tai bus verta pabaigos.
>> Ji kovoti su automatiniu atminties valdymas,
taip nebėra padaryti jums turi spręsti dalykų
kaip malloc ir nemokama ir visiems Šių dalykų rūšių.
Ir jis taip pat skirtas bendrais.
Taigi, nors mes galime naudoti Xcode į sukurti iOS Apps "ir" Mac programas,
mes taip pat galite naudoti ją kaip skriptų kalba.
Ir taip mes galime jį naudoti rūšiuoti iš vietoj PHP arba vietoj
Python faktiškai greitai apdoroti ir procesas
Kai kurie duomenys, kad mes turime mūsų kompiuterio.
>> Jis turi platų šiuolaikinės funkcijos, Papildomi reikmenys, Wzruszalność,
generiniai vaistai, uždarymo ir tai daug kas jums gali arba negali pripažinti.
Ir tai tiesiog tarsi gaila dalis kalba, kad kai kurie iš šių
rūšiuoti futuristinis, modernių elementų, yra sumontuoti elementai
taip giliai įsišaknijęs, kad aš iš tikrųjų bus turi išmokyti jus CS50.5 truputį.
>> Mes turime išmokti truputį daugiau apie kai kurias funkcijas, kad
tikrai suprasti, kas vyksta toliau ir taip, kad jūs galite pažvelgti kodas
o ne jaustis visiškai prarastas.
Ir pamatysite, ką aš turiu galvoje Iki, kad vos per minutę.
Gerai, kad let's-- pakankamai tai Rūšiuoti teorinių dalykų.
Leiskite tikrųjų pažvelgti mūsų Pats pirmas greitas programa.
Tai viena linija kodą.
14 eilutė čia, ją sako spausdinimo L N labas CS50.
>> Taigi ten keletą dalykų, kad yra labai skiriasi apie tai palyginti
dalykų, kad jums gali būti naudojama iš C, pavyzdžiui.
Vienas iš jų yra tai, kad nėra intmain, nėra įtraukti skyrių,
ten nė vienas iš šių papildomų dalykų.
Apima, kaip standartas I / O, pavyzdžiui, bibliotekų
kad iš tikrųjų teikia standartiniai bruožai kalba,
automatiškai įtraukti kaip dalis Swift standartinės bibliotekos
ir kad automatiškai importuojami.
Jūs neturite daryti kad importas rankiniu būdu.
>> Intmain neegzistuoja, nes Pagrindinis įvažiavimo kodas
tikrai ne pradedant nuo kodu.
Taigi bet kodas, kad jūs turite pradedant nuo pradžios
iš tikrųjų bus įvykdytas pradžioje.
Taigi tai tikrai labai supaprastina.
Atkreipkite dėmesį, taip pat, kad nėra kabliataškis.
Nėra jokių šioje kalba kabliataškiai.
Jūs įdėti pareiškimą individualiai linija
ir tada kitą eilutę atstovauja kitą pareiškimą.
Jei norite įdėti mulitiple pareiškimai internete,
tada jūs turite jį atskirti kabliataškiais.
Tačiau didžioji dalis, už gerą stilių, mes
niekada pamatyti Kabliataškis už atskyrimo ataskaitų tikslais
SWIFT.
Taigi, kaip tai iš tikrųjų veikia?
Na labai panašiai kaip C mes iš tikrųjų turi sudaryti tai.
Ir taip mes galime padaryti, kad naudojant greitas c ir tada 1.swift.
Ir tada, po pora min tai kompiliuoti
ir tada aš galiu paleisti vieną elementą.
Ir nei ji tiesiog pasakyti "Labas CS50".
Nuostabus, todėl mes einame.
Yra mūsų pirmasis hello world programa.
Pereikime prie numeris du.
>> Dabar this-- tai pasikeitė šiek tiek, nes tuo tarpu paprastai jums
do-- iš tiesų visada turite su kaupia greitai prašymą prieš jus
iš tikrųjų paleisti it-- vieną iš puikių savybių
kad aš užsiminiau anksčiau buvo, kad greitai gali būti iš tiesų naudojami rūšiuoti
iš pseudo-interpretacinis būsenos, Iš tiesų, kaip vertėją.
Bet ką tai padaryti, tai yra yra, iš tiesų, greitai taikymas
kad jūs galite paleisti.
>> Taigi, pavyzdžiui, jei jūs tiesiog įrašykite greitai čia kas nutiks
yra tai, kad jums bus gauti eilutę.
Ir jūs galite įvesti savo SWIFT kodas, spausdinti labas, ir paleisti jį.
Ir tai tikrai bus print-- gerai, tai nebuvo spausdinti šiuo atveju
nes jis atspausdintas centre iš, kurių nesimato čia.
Bet tai iš tikrųjų sugeba veikti.
Ir taip, šiuo atveju, aš tiesiog ketinate naudoti kaip scenarijaus.
Ir aš iš tikrųjų gali paleisti šį kodą ten.
Taigi taip, kad aš iš tikrųjų paleisti ji bus šiek tiek kitoks,
bet pamatysite, kad vos akimirką.
Dabar, šiuo atveju, ką mes ketiname reikia padaryti, tai pirmiausia apibrėžti kintamąjį.
Taigi, tai, kaip mes apibrėžiame SWIFT kintamasis,
yra mes naudojame tegul raktažodį, po by kintamojo pavadinimu,
ir tada mes teikiame kai Inicijuojama duomenis pasirinktinai.
Taigi šiuo atveju mes apibrėžti pastovus vadinamas vardas
ir mes ketiname naudoti, kad Mūsų spausdinimo linijos produkcija
pačioje apačioje, hello vardu.
>> Dabar pastebėti, kad, o ne naudojant "% s", mes galime viską, kad šis pavadinimas
kintamasis / (), ir būtų galima Jungiant į šią turinį
styginių į šią eilutę.
Dabar, skirtingai nei C eilutė tikrasis nekilnojamojo tipas SWIFT.
Ir taip jis sėdi šalia ints ir kartu
dvigubinamas labai lengvai ir, žinoma, palyginti
į kai kita kalbos, kad mes matėme.
Taigi tai iš tiesų veikia kaip būtų galima tikėtis.
>> Galiu paleisti 2.swift.
Ir mes matome, kad mano vardas yra iš tikrųjų sujungta į "Sveiki Danas".
Gerai, nuostabus.
Pereinant prie numeris trys.
Dabar ji buvo šiek tiek baltas melas, kad aš
sakė, kad būdas, kad mes pareiškiame kintamieji buvo naudoti tegul žodį.
Kaip daug kartų, kaip jūs galbūt galite padaryti norite naudoti tegul, nes tai, ką daro, kad
tai apibrėžia konstantą.
Ir tai sako greitai, kad jis gali optimizuoti savo paraiškos greitį
nes jis žino, kad kintamasis nesiruošia keisti.
>> Taigi vertinti atsargiai kai jūs ketinate naudoti
už kintamasis tikslai jį pakeisti.
Ir kai jūs ketinate sukurti kintamąjį tik
turėti kai kurie duomenys, ir kad yra ne iš tikrųjų ketina keisti.
Taigi šis nekintamumo koncepciją, ji nėra iš tikrųjų ketiname pakeisti,
yra svarbus net toli žemyn, kaip apibrėžti kintamuosius.
Taigi čia mes apibrėžta pavadinimą, leisti vardą, ir šiuo atveju
tai konstanta, kad yra tipo eilutę, ir jis yra lygus Dano.
>> Taigi tuo tarpu prieš versija, tai infers-- ir "ji"
Aš turiu galvoje, swift-- SWIFT daro išvadą, kad duomenų tipas
kad mes įvesti į kintamąjį.
Šiuo atveju, galime būti aiškų.
Tad tada šis pavadinimas kintamasis yra vardą, tada dvitaškis.
Ir po dvitaškio padaryti mes nurodyti duomenų tipą.
Taigi nebėra tai Žiniasklaida pavadinimą arba styginių pavadinimą arba kažkas panašaus.
Bet vietoj to, tegul etiketę, mes apibrėžiant ar ne
tai nuolatinis arba kintamas, po kurio pavadinimu,
po kurio tipo taikyti pasirinktinai.
>> Taigi šiuo atveju mes apibrėžti šis pavadinimas yra eilutė.
Mes pasakyti, Danas.
Ir dabar aš turiu kitą kintamąjį, šiuo atveju ji vadinama etiketės.
Bet pranešimas, kad jis yra su priešdėliu var raktinį žodį.
VaR raktažodžių priemonės kad šis kintamasis gali
būti pakeistas, kad vėliau taške laikas, kažkur žemyn kodas
mes galime realiai pakeisti jį, ir jis neduos mums kokią nors konkrečią klaidą.
>> Mes galime padaryti standartinį concatenating operatorius čia naudodamas pliuso simbolį
faktiškai pridėti mūsų pavadinimas į šią eilutę.
Ir tada mes galime spausdinti kaip matėme vos prieš akimirką.
Dabar tarkime, kad jums norite sukurti kintamąjį
bet jūs nenorite inicijuoti dar.
Jūs dar norite įdėti jokių duomenų joje.
Na jūs turite pasakyti skubiai, ką Duomenų tipas
bus prieš jūs galite iš tikrųjų nustatyti tinkamai.
>> Taigi šiuo atveju, kai mes apibrėžta kintamasis vadinamas laipsnio turime būti
aiškiai apie tokio tipo, nes jis negali numanyti tiesiog ieško
tuo inicializuoti duomenis kad jūs pateikti.
Tai suteiks mums, jei klaidą Tiesiog įveskite var laipsnio, pavyzdžiui,
nes ji turi, todėl neturi tipą.
Taigi kokybės = 100.
Taip, kad 100 yra sveikasis skaičius, jį tinka labai gražiai į tai.
Ji toliau funkcionuoti.
Mes galime pamatyti, kaip mes gali Jungiant tai.
Dabar tu gali būti pagunda, jei jūs iš tikrųjų
norėjau Jungiant Įvertinimas į kitą teksto eilutę,
į kitą eilutę, kad jūs tiesiog naudoti tą patį concatenating operatorių.
Ir, kad paprastai būtų tiesa.
Bet greitai neleis Jums netiesiogiai pakeisti duomenų tipą.
Taigi, šiuo atveju, šis linija, 25, žlugs
nes klasė yra sveikas, o ne eilutė.
Ir taip ten neatitikimas nustatytas rūšių.
Taigi jūs turite būti aiškus, kai norite pakeisti šiuos duomenis,
jei norite priversti tai duomenys į kitos rūšies
ir sako, gerai, aš noriu imtis šis įvertinimas, kuris yra sveikasis skaičius,
ir konvertuoti jį į eilutę.
>> Taigi aš kapitalo s eilutę visus tipai, jūs pastebėsite, yra kapitalizuojamos,
Žiniasklaida, Dvivietis, styginių, taip toliau ir taip toliau.
Visi jie yra kapitalizuojamos tik, kad viskas taip paprasta.
Ir mes pasakyti pasinaudoti Styginių pereiti į rangą.
Ir tai bus sukurti eilutė iš to sveikojo skaičiaus.
Ir tada mes galime Jungiant du labai gražiai.
Bet šioje stuff šiol klausimų?
Gerai, tegul plūgas iki keturių skaičių.
>> Dabar pakalbėkime apie šiek tiek daugiau pažangių struktūros, kaip masyvai ir kilpų.
Ir skirtingai nuo C, matricas Swift neatstovauja patarimų.
Pointeriai SWIFT, nors jie egzistuoja, vadinamas
kaip nesaugių rodykles arba kai panašaus tipo kaip šis,
jie nesusiduria su jumis normaliai.
Taigi ji tampa labai sunku Jums manipuliuoti
tiesiogiai iš kompiuterio atminties.
>> Taigi matricos yra tiesiog duomenų tipas.
Ir jie nuorodos naudojant šios rūšies ir dabar standartinis kvadratinis laikiklis žymėjimas
kad jūs matėte anksčiau.
Bet kai jūs iš tikrųjų norite apibrėžti kintamąjį tipą
kaip kai masyvo pirma rūšis, tada jūs
įdėti tą tipą laužtiniuose skliaustuose.
Taigi, ką aš noriu pasakyti, kad čia yra Kuriu kintamasis vadinamas
rūšių tipo int masyvas.
Ir aš nustatant, kad lygus kai INITIALIZED duomenys, kuri šiuo atveju
yra 100, 0, 90, 85, kuri yra tik kolekcija savavališkai klasių čia.
Dabar šiuo atveju galėčiau, atminkite, kad pašalinti tipą
ir tai galėtų daryti išvadą, kad remiantis INITIALIZED duomenimis.
Bet jei aš pašalinti šį ir Man reikia jį vėliau,
tada aš turiu įsitikinti, kad turiu tipo ten.
Gerai, tegul judėti.
Taigi, mes can-- matricos pateikiate mums įvairovė
metodų per tą dot žymėjimo ne jums tikriausiai dabar susipažinę su.
Taigi, grades.count, pavyzdžiui, pasako tiksliai skaičių
iš elementų, kurie yra pateikta per šio masyvo.
>> Jei aš noriu pridėti additional-- dabar pastebėti, kad tai yra var
ir not-- tai kintamasis o ne konstanta, kuri
tai reiškia, kad aš galiu pakeisti turinį Šio masyvo, galiu pridėti objektus į jį.
Bet aš negaliu tiesiog pasakyti pažymius ir tada laužtiniuose skliaustuose
keturių, nes, kad bus iš ribų paklaida šiuo atveju.
Jei aš noriu, kad iš tikrųjų pokytis Šio masyvo dydis,
Turiu naudoti dot append metodą pridėti kažką iki galo jį.
Aš galiu, tačiau pokytis individualūs indeksai.
>> Taigi aš galėtų naudoti pažymius ir tada skliausteliuose
nulis manipuliuoti šį pirmąjį indeksą ir tt, kaip jūs paprastai tikėtis.
Ir aš galiu padaryti, kad iš tikrųjų pats gauna duomenis iš, kad taip pat.
Dabar ten taip pat rūšiuoti išgalvotas būdas tai padaryti, pažymius plius kaip lygių
ir tada kitą indeksas, kuri append--
ar ne kita index-- bet kitas sąrašas, kuris
bus prideda šį sąrašą į klases gale.
Ir lygiai bus tada yra visa tai.
Bet tai tarsi papildomą dalyką kad aš tiesiog parodyti jums įdomus.
>> Dabar yra už kilpos.
Ir tai yra, kur paleidimo dalykų pradėti keisti truputį.
Atkreipkite dėmesį, kaip tai už kilpa skiriasi nuo už kilpomis C
Dabar aš atkreipti dėmesį, kad už kilpomis Swift gali
būti pagaminti atrodo kaip už kilpos C, bet ten daugiau naudingų stato daug
kad iš esmės pašalinti poreikį turėti var i lygus 0 kabliataškį i
yra mažesnis nei tam tikru ilgiu, tt ir tt, tiesa?
Ir šis konstruktas yra tik vienas iš jų.
>> Dėl indekso rodiklis Kas naujo kintamasis, šiuo atveju, diapazone.
Ir tai, ką aš noriu pasakyti, yra tai, kad ten svyruoja nuo 0 visi kelią iki
bet neįskaitant grades.count.
Taigi, šis taškas dot mažiau nei ženklas atstovauja
verčių diapazonas nuo nulio visą kelią iki grades.count atėmus 1.
Yra atskiras operatorius, egzistuoja,
kuris yra dot dot dot, kuri būtų reiškia, kad aš noriu, kad nulio asortimentą
rangams tikėtis imtinai.
>> Bet šiuo atveju, nes jie matricos yra nulis indeksas, mes, žinoma,
nenori eiti į Didžiausias skaičius klasėse.
Galiu Apibendrinant rangus, kaip galima tikėtis, ir išėjimo visos šios medžiagos.
Gerai, pereinant.
Dabar pakalbėkime apie funkcijas.
Siekiant apibrėžti funkciją jūs naudojate funk žodį.
Ir dar kartą, Swift turite būti labai atsargūs su rūšimis.
Jūs teikti tai parametrai apibrėžiant, pavyzdžiui,
Parametro pavadinimas ir tada Colin, Duomenų tipas
kad jūs tikėtis, kad parametras priimti.
>> Taigi, šiuo atveju turime funkcija vadinama spausdinimo kokybės skaičius.
Ji pripažįsta, kintamasis vadinamas gradebook, ar veikiau parametras vadinamas gradebook.
Ir mes tikimės, kad gradebook būti sveikieji skaičiai, masyvas.
Jei tai gradebook yra tuščias, mes spausdinti vieną dalyką.
Priešingu atveju mes atsispausdinti numerį pažymių, kad tai iš tiesų turi.
>> Dabar, jei mes norime grįžti kai vertė, tada būdas
kad mes keisti šis apibrėžimas yra kad iš tikrųjų naudoti šią rodyklės raktažodį
ar naudoti šį rodyklės signifikanto.
Taigi čia mes ketiname nustatyti funkcija vadinama vidurkis.
Mes ketiname priimti iš numerių sąrašą.
Ir mes ketiname grįžti dvigubai, kuris, tikimės, bus
būti iš šio masyvo vidurkis.
Ir tam, kad tai, jog tam, kad iš tikrųjų apskaičiuoja šį vidurkį,
imsimės sumą ir mes, Žinoma Apibendrinant visus objektus
per šį masyvo.
>> Atkreipkite dėmesį, kad yra naujas stilius už kilpos čia.
Neturime būti aiškiai apie Iteracja per kiekvieną elementą,
bet mes galime vietoj pasakyti Įvertinimas ir gradebook, reikšmė
kad kiekvienas punktas, kad mes turime tai,
numatyti, kad elementą tai kintamasis vadinamas laipsnio.
Ir aš noriu kažką daryti su juo.
Taigi, aš ruošiuosi Apibendrinant visus šiuos duomenis ir iš tikrųjų grįžti dvigubo padalijimo.
>> Dabar pastebėti vėl čia yra koncepcija sveikasis padalijimo Swift.
Jei norite dvigubai padalinys nes norite kablelio,
tada jūs turite būti aiškus, ne tik apie viena pusė,
nes jis nesiruošia leisti jums siekiant priversti duomenis iš abiejų šis pusėje,
jūs turite iš tikrųjų žinoma abi pusės į dvejetų
kad esate labai aiškiai apie tai, kad
kad jūs darote dvigubo padalijimo.
>> Pereikime.
Taigi, jei aš iš tikrųjų noriu accept-- taip, kad šiuo konkrečiu Pavyzdžiui,
tai vis dar komandą linija pagrindu sukurta programa.
Ir mes pradedame matyti kai jaunos kalba apribojimai
tuo, kad nors mes galime pasiekti argumentus naudojant
tai process.arguments, tai dar nebūtinai švariausių
dalykas, kad mes kada nors matė.
Bet iš esmės Raginu jus rūšiuoti pažvelgti į šį kodas
ir bandyti išsiaiškinti, kas tiksliai vyksta.
>> Iš esmės tai, kas vyksta, kad mes atsižvelgiant argumentų sąrašą
ir buvo versti juos į sveikieji skaičiai, ir tada mes
ketinate naudoti, kad tokiu būdu spausdinti dėmesį į visus mūsų klasėse vidurkis.
Permainos.
Dabar yra dar vienas data-- tipas dar duomenų tipas, o ne masyvus
vadinami žodynai, kurios yra labai panašus į maišos lenteles arba maišos žemėlapiai
ir yra panašūs, taip pat į PHP Association masyvai.
Taigi jie turi sąvoka Raktų ir vertybes.
>> Ir jie apibrėžti taip pat su ši aikštė laikiklis žymėjimas,
bet skirtumas yra kad žodynai turi
viduje kvadratinių laikiklis, dvitaškiu.
Ir dvitaškis atskiria duomenis tipo, kad yra raktas ir vertė.
Taigi šiuo atveju, aš ruošiuosi kurti žodynas priimti keletą klasių.
Ir tai bus tipo string: int,
o tai reiškia, kad visi raktai bus stygos,
ir visi tų vertybių raktai bus sveikieji skaičiai.
>> Ką tai reiškia, kad aš galiu tada nuoroda į konkrečią duomenis
kad aš noriu, naudojant tuos raktus, o nei naudojant skaitinius rodiklius kaip I
būtų standartinio masyvo.
Dabar pažiūrėkime, ten vienas svarbus dalykas,
kad aš taip pat noriu paminėti apie tai ypač seka kodą.
Ir tai, kad yra kitą duomenų tipą,
ar veikiau ten tai idėja duomenų, kad yra
pateikta per Swift vadinamas Papildomi reikmenys.
>> Ir ką reiškia Papildomi reikmenys kad ji pripažįsta tai,
kad kartais jūs nesiruošia gauti duomenis, kad jūs iš tikrųjų tikėtis.
Ir taip, tai ką aš turiu galvoje, kad is-- tegul pažvelgti šio kodo seka išvaizdą
kuris kartojasi per visą kad buvo priimti šio kodo argumentai
ir bando juos konvertuoti, bando padalinti į kelias eilutes įvairovę,
nes ji priima labai tikro tipo argumentas.
Ir tada ji ketina bandyti priversti stygos, kurios atstovauja numerius
į sveikieji skaičiai, kurie yra lygiai, kad aš tada galima apskaičiuoti.
>> Taigi, iš esmės aš ruošiuosi naudoti šią funkciją split, kad
egzistuoja kaip Swift standartinės bibliotekos.
Aš ruošiuosi pereiti į juo eilutė, noriu padalinti.
Ir tada naudojant šią rūšiuoti funky sintaksę, kuri
Aš nežinau, jei mes gauti, bet gal mes
tikrai bus nurodyti tikslūs simbolių, kad mes norime padalinti ne.
Taigi, ką tai iš tiesų atrodo?
Paimkime pažvelgti tikrai veikia šį kodą.
>> Taigi, pavyzdžiui, tarkim turiu viktorina ir aš 50, kad.
Ir aš turiu PSETs ir Gavau šimtus apie tai.
Ir aš got-- yra kita viktorina ir gavau 40, kad.
Aš paspauskite Enter, ir galiausiai, kas įvyks tai, kad ką ji daro
vartoja šiuos parametrus, skėlimo dėl kurių šių dvitaškius stygos,
pripažįstant, kad yra du elementai kiekvienoje vieną,
ir tai iš esmės sekti kiekvieną.
>> Taigi turiu mano žodyne viktorinoje, kurios vertė yra lygi iš skaičiaus 50,
Turiu PSET kad turi vertę 100, ir viktorinos tas, kuris turi vertę iš 40.
Tada vėliau kodų I realiai vidutiniškai visų šių vertybių
sąrašą ir visus raktus kad ypač žodyną.
Tačiau tai yra svarbu, taip, kad jūs galite pastebėti,
tai, kas vyksta, yra tai, kad tai, ką mes noriu padaryti, tai priimti šį eilutę
ir padalino jį ne tokio pobūdžio, kurį mes galime padaryti dar kartą su šiuo padalijimu
funkcija naudojant šią rūšiuoti Įdomu sintaksė, kad egzistuoja čia.
>> Tiesiog dabar manome, kad tai yra gerai.
Mes atrodo labiau į tai vos truputį.
Bet dabar ten įdomu aspektas, kad mes iš tikrųjų
noriu pabandyti tai pakeisti styginių į sveikojo skaičiaus.
Bet kitomis kalbomis kas gali atsitikti
kad mes tikriausiai bandyti tai padaryti ir arba grįžti
kai kontrolinių rūšiuoti vertė, kaip neigiamas
gal niekinis ar kažkas panašaus.
O gal tai tiesiog sukelia klaidą.
Ir mes turime tada sugauti tą klaidą
ir tada pabandyti padaryti kažkas grindžiamas tuo,
kad šio perskaičiavimo iki sveikojo skaičiaus nepavyko.
Štai kur ši idėja nuo Papildomi reikmenys ateina.
Jūs iš tikrųjų galite sukurti duomenų tipą, yra int klaustukas, pavyzdžiui.
Tai reiškia, kad šio sveikojo skaičiaus yra, iš tikrųjų, pasirinktinai.
Ir, kas bus yra tai, kad ji gali sudėtyje yra sveikasis skaičius, arba ji negali.
Tai gali būti, iš tikrųjų, būti ši kita idėja, visiškai vadinamas nill.
Kokiais tai reiškia, kad ten jokios vertės kokia šioje srityje.
Tai net ne nulis, ten tiesiog nėra vertybė.
Yra absoliučiai jokios vertės atstovaujama.
>> Ir tai yra tai, ką ši eilutė 71 daro.
Yra tai, kad sakydamas, kad aš noriu pabandyti nustatyti vertę,
kintamasis vadinamas laipsnio, lygus konversija šiame eilutę į int.
Taigi aš ėmėsi šio eilutę, tai pirmieji komponentai,
ar veikiau antras komponentai, nes šis
yra lygus nuliui indeksuoti, tai eilutė, kad aš padalinti.
Ir aš noriu konvertuoti kad į sveikojo skaičiaus.
Bet tai ne visada gali elgtis paprastai, nes įsivaizduoti
kas nutiktų, jei, užuot tipą skaičius, aš tipo žinoma kaip asdf.
>> Tai vyksta žlugti.
Tai nėra iš tikrųjų bus gali paversti, kad į sveikasis skaičius
kaip aš norėčiau tikėtis.
Taigi užuot nusimesti kai klaidos rūšiuoti,
mes turime šį neprivaloma idėją.
O tai reiškia, kad naudojant tai klaustukas, ką galiu pasakyti,
Gerai, tai įmanoma, kad galiu imtis tai, konvertuoti jį į int,
ir įdėti jį į kintamąjį, kuris taip pat bus int.
Jei taip, tada, kad priemonė kad tai buvo sėkmingas
ir šis pirmasis porcija blokas gali tęstis.
>> Priešingu atveju, ji nepavyko.
Nėra grade-- vertė arba o nėra esama vertė,
ir aš iš tikrųjų turi stengtis dirbti šį klaidos būklę.
Jūs ketinate tai pamatyti klaustukas visą laiką
Swift ir pavyzdys kodą Swift.
Ir iš tiesų nill operatorius, tai tarsi nuo klaustuku, Papildomi reikmenys dalį,
bus turbūt vienas iš daugiau sunkiausių dalykų
rūšiuoti wrap savo galvos aplink kaip jūs iš tikrųjų su juo dirbti.
>> Tai gali prasmės dabar.
Ir iš tikrųjų, kai buvau raštu mėginio kodą už tai,
tikrai supratau kas vyksta,
bet vis dar sugauti mane staigmena kas taip dažnai
jei noriu pastebėti, kad kai kurie duomenys buvo iš tikrųjų
nulinis variantas, neprivalomas versija Duomenų, kad tikėjausi.
Taigi tiesiog suprasti, kad jei jus turi papildomą versiją
turite spausti, kad duomenys šiame langelyje.
>> Taigi, tai tarsi I-- įsivaizduokite, jei jus turi langelį ir jame kažką.
O ką jums reikia padaryti, yra užduoti klausimą,
tai įmanoma, kad iš tikrųjų šis langelis yra duomenų, kad Aš ieškau?
Jei taip, tada patraukite, kad duomenis iš ir įdėti jį į esamą šio kintamojo.
Jei ne, tada aš tiesiog nepaisyti šio langelio turinį
apskritai, nes ji tiesiog yra nieko.
>> Bet apie tai klausimai?
Gerai, pereikime nuo šio rūšiuoti komandinės eilutės pagrįstas dalykas
ir pradėti ieškoti kai kurios technologijos
kad Xcode suteikia mums į žaidimų aikštelės forma.
Taigi ten yra daug galimybė čia Swift.
Ir jei jūs atverti Xcode ir IT prašo, ką norite daryti,
galite atverti žaidimų aikštelė ir tiesiog žaisti aplink
su įvairių struktūrų partijos ir aspektai kalba
prieš jus net pradėti paliesdami "iOS SDK arba" Mac "SDK.
>> Taigi šiuo atveju, tarkim, kad aš have-- Turiu gana nenatūralu pavyzdį
čia, bet būti su manimi, kaip mes rūšiuoti darbo per šį pavyzdį.
Tarkime, kad mes turime padaryti daug eksponentų su fiksuota vertė,
kaip mes žinome, kad jūs ketinate reikia padaryti kvadratinių galių daug, pavyzdžiui.
Taigi mes ketiname imtis tam tikrų vertę x, mes ketiname suvesti ją,
mes ketiname imtis tam tikrų vertę y ir mes ketiname suvesti ją.
Taigi, toliau ir taip toliau.
>> Dabar mes iš tiesų gali tiesiog sukurti galia 2 funkcija tai, tiesa?
Taigi, mes norime sukurti 2 funkcijos galią.
Mes priimame dvigubai.
Mes output-- ar mes grįžti dvigubą tipą.
Mes priimsime šį rezultatą ir tada du kartus per
tai, ką mes iš tikrųjų imtis rezultatus, kurie buvo inicializuoti vertės vieną,
ir padauginkite jį iš x.
Taigi iš esmės turime x kartų x čia.
>> Ir taip, tada aš galiu tada, kaip mes galime tikisi, į tai, paleisti galia 2,
teikia jai kai kurie duomenys, man patinka 2.0.
Ir mes turime pamatyti čia 4,0 rezultatus.
Paleiskite galios 2 d 3.2 ir mes pamatys mūsų rezultatą, 10.24.
Kol kas viskas gerai, tiesa?
Dabar mes galvojate, gerai, gerai.
Dabar aš iš tikrųjų reikia padaryti galių 3 aikštelė.
Taigi aš nukopijuoti įklijuokite visą šį kodą, pakeisti nuo funkcijos pavadinimą
galia nuo 2 iki galios 3, ir viskas bus vienodi, išskyrus šios vertės
čia tai asortimentas, 1 ... 2.
>> Taigi, o ne kartoti šis ciklas du kartus,
Noriu pakartoti Šis ciklas tris kartus.
Taigi, aš tiesiog pakeisti šią vertę iš Nuo 1 iki 3-- arba, o 2-3.
Taigi dar kartą, tas pats kodas, tai vienintelis pakeitimas.
Dabar tai taip pat veikia.
Maitinimo 3, jei kai 2 vertę.
Mes gauname 8.
Taigi 2 kubeliais.
Ir 3.2 kubeliais yra 32,768.
Ir kol kas viskas gerai, tiesa?
Bet tikiuosi, tai tiek tiek raudona vėliava jums
tuo, kad dabar mes turime kai kodo dubliavimo
išskyrus kai labai mažas keisti iš vieno į kitą.
Taigi nėra kokiu nors būdu, kad galėtume supaprastinti
ši problema, kur mes galime iš tikrųjų, vykdymo metu, išsiaiškinti kai,
pateikiate mums šiek funkciją, kuri turi Būtent to mes norime galios.
>> Ir ten ši idėja uždarymo, kuris yra tikrai, tikrai
svarbus Swift kontekste ir daugelyje kitų kalbomis, taip pat.
Bet tikriausiai pamatysite jis naudojamas labiau, kad SWIFT
nes jis nematomas per kalbą
nei jums bus į kitą taip pat šiuolaikinių kalbų.
Taigi nuo uždarymo idėja tai yra, yra, kad mes
gali turėti funkciją, kuris yra skirtas būti bendrinis funkcija, bendrinis galia
funkcijos.
>> Ir ši funkcija ketina priimti tai eksponentė, kad mes iš tikrųjų
norite sukurti.
Taigi, pavyzdžiui, labai pirmasis Pavyzdžiui, mes norėjome iš 2 galios.
Taigi, mes suteiks galią ir tada skliausteliuose 2.
Ir dabar pastebėsite, ką tai iš tiesų grįžta.
Tai užtrunka gruntas įvestį vadinamas y, kad yra sveikasis skaičius,
ir jis grįžta šio crazy ieškote dalykas parentheses-- skliausteliuose
dvigubai ir tada arrow dvigubai.
>> Ką tai reiškia, kad aš ketina grįžti funkciją.
Aš negrįžta kitas duomenų tipas, aš
iš tikrųjų grįžta funkciją kuris turi šį parametrą, kad
priima dvigubai įvesties ir išveda du kartus, kaip grįžimo vertės.
Ir kaip rezultatas, nes dabar aš vadinamas galia, einančios tikru vertės y,
ir aš sukurti tai kita function-- pranešimas, kad yra
kita funkcija, kad manimi kuriama viduje this-- ką aš darau
yra galiu tada pakeisti ta vertė, kad vienas
vertė, kad aš pasikeitė 2-3, dabar padaryti, kad jis y.
>> Ir tai tęsiasi.
Taigi kiekvieną kartą, kai aš vadinu galia iš esmės tai, kas vyksta
yra, kad man grįžo funkciją.
Atkreipkite dėmesį, kad čia aš apibrėžta Naujas kintamasis vadinamas aikštėje.
Aš nustatyti, kad jis lygus galios, jeigu ši vertė 2 į valdžią.
Ir ką tai grįžo yra funkcija.
Taigi aikštė, kintamasis aikštė, dabar tipo funkcija
kad turi this-- Oi, slinkite aukštyn mažai bit--, kad turi šią parašą
priimti dvigubai ir išvestį dvigubai.
>> Taigi, ką aš padariau yra aš iš esmės
sukurta funkcija vadinama kvadratinės, kad priima kokią nors vertę ir aikštė ją.
Mes galime pamatyti, kas vyksta žemyn čia.
Aikštė 3, pavyzdžiui, reiškia, kad aš ruošiuosi imtis vertę 3 ir kvadrato jį.
Taigi, kaip tiksliai tai veikia?
Kai aš praeiti galia 2-- kai aš praeiti 2 į šią funkciją galios,
Šis kintamasis y yra apgyvendintos su tos vertės 2.
Ir kad yra rūšiuoti vyko atmintyje.
Tai tarsi kaip vyksta būklė kažkur kompiuteryje,
mes nerūpi, kaip arba, kur šiuo metu.
>> Bet grįžtu šią funkciją vadinamas exponentiate.
Ir vėl, tai tikrai ne klausimas ką ši funkcija vadinama,
mes tikrai gali skambinti jai nieko, kad priima dvigubai ir grąžina dvigubai,
bet naudoja šią vertę y viduje ji.
Taigi, nors tai ši funkcija, tai exponentiater funkcija, kuri yra
buvo grąžintas atgal į mano kintamasis, aš vadinamas aikštė,
ji joje esančios tai, kas y buvo sąvoka.
Ir tai prisimena, kad.
>> Taigi kiekvieną kartą aš vadinu šią funkciją, kad dabar vadinama aikštė, ji naudoja, kad.
Tačiau tai taip pat reiškia, kad aš galiu sukurti kitą kintamąjį, naudojant
skiriasi galia.
Taigi aš galiu sukurti kubo kintamasis, už Pavyzdžiui, suteikti jai galią 3.
Dabar kubas bus iš tikrųjų imtis kai vertė ir kubas, kad ir grąžinti ją.
Taigi matome, kad aš gausiu vertė 8 iš to.
>> Tačiau ši vertė Y neturi pasikeitė, nes jie
vyks rūšiuoti nepriklausomų kintamųjų.
Jie tarsi vyksta nepriklausomos erdvės atmintyje.
Taigi kubas visada turės x su 3 galia.
Ir aikštė visada turės x su 2 jėgą, kuri
reiškia, kad aikštė bus visada kvadratinių numeriai, kaip aš tikėtis.
Ir kubas visada Cubed numeriai, kaip aš tikėtis.
Tai taip pat reiškia, kad kartais jūs galite kažkiek funky ieško sintaksė rūšiuoti
kur jūs turite galią esant labai dugnas ekrano čia, galia 5.
Ir jūs patenka į rezultatą.
Jūs vadinate šią funkciją, kad yra buvo grąžintas su skaičiumi 4.
Ir taip, kas iš esmės tai yra nuo 4 iki penkto galia,
matome rezultatus ten.
Su manimi iki šiol?
>> Taigi ši idėja yra vadinamas uždarymą, nes tai, ką mes iš esmės darome
yra mes sandarinimo kai kurie duomenys into-- rūšiuoti
telpa šiuos duomenis į funkciją ir mes
galėtų panaudoti šią funkciją.
Dabar tai sintaksė nors iš tikrųjų galite supaprastinti labai daug.
Ir ten daug galimybių Swift šio supaprastinimo.
Ir tai, kokios rūšies vėlesni tikrųjų pažvelgti.
Taigi, 7b, pavyzdžiui, mes pasinaudoti šia patį kodą.
>> Bet dabar, o ne iš tikrųjų apibrėžti funkciją
viduje šio galios veikti ir suteikti jai pavadinimą,
ir tada grįžti pavadinimą tos funkcijos, kuri
tada yra naudojamas kaip dalis dėl šio uždarymo, o ne mes
tik ketina supaprastinti.
Mums nereikia ši funkcija turi būti įvardytas.
Taigi tai yra koncepcija Anoniminis funkcija, kur mes galime tada
priimti kaip indėlį, skliausteliuose čia kintamasis x, kuris yra tipo dvigubai.
>> Mes ketiname grįžti tipo dvigubai.
Ir tada sąvoka, n, yra šios funkcijos pradžia.
Taigi, pastebėti, kad visa tai yra per garbanotas skliausteliuose
ir mes apibrėžti Anoniminis veikti čia.
Tiesiog paprastesnis būdas apibrėžti tą patį dalyką.
Gerai?
Bet laikykis Swift tikrųjų leidžia mums eiti toliau ir supaprastinti dar labiau,
nes tikrai mes ne rūpintis, kad šis parametras yra
pavadintas jokio konkretaus dalyko.
Jis tikrai gali būti vadinamas nieko ir mes vis dar galime naudoti, kad pirmąjį parametrą.
>> Taigi iš tiesų yra ši ypatinga duomenų tipas anonimiškai funkcijas,
ten šis specialus pavadinimas kintamieji anonimiškai funkcijas
kad pradžia su dolerio ženklas ir atstovauja
parametrų numerius, nulis indeksuojami, šiai funkcijai.
Taigi ten pora dalykų vyksta.
Čia aš ruošiuosi grįžti, tada garbanotas petnešomis atstovaujanti funkciją,
tiesa?
>> Atkreipkite dėmesį, kad aš neturiu apibrėžta parametrų tipų ar grįžimas tipo.
Ji iš tiesų gali būti daroma išvada, dėl to, kad parašu
Šio originalaus funkcija.
Taigi, mes galime pašalinti kad kaip galimybę.
Bet taip pat galiu naudoti dolerio ženklas nulio iki atstovauti šį pirmąjį parametrą, kad yra
perėjo į šią anoniminę funkcija.
Taigi supaprastinti dar daugiau.
Gerai?
Iki šiol, taip gerai?
>> Dabar tai tik type-- padaryti jums prisiminti šią dolerio ženklas nulį
mes matėme šiame garbanotais petnešomis mes matėme tik truputį
prieš šiame Swift šešių pavyzdžiui?
Tai buvo čia.
Atkreipkite dėmesį, kad tai tiksliai mes ieškome, kas,
yra tai, kad mes praėjo į šią persėdimais funkcija
Anoniminis funkcija, tikrina pirmąjį parametrą
pamatyti, jei ji lygi dvitaškis simbolis.
Ir tai būtent tai, kas vyksta, yra ta, kad visi
mes doing-- grąžą raktažodis numanomų
Šioje case-- mes grįžti ši vertė kur mes palyginti
pirmasis parametras prieš šio pobūdžio dvitaškis.
Ir taip, kad tarsi demystifies tai.
Ir jūs ketinate pamatyti šį konstruktą Swift sintaksė daug, todėl tai laikyti, kad
omenyje, kai jūs atsižvelgiant į tai žiūrėti.
Dabar mes galime išlipti bėgiai šiek tiek
ir eiti tikrai išgalvotas, kad šou net kai SWIFT galios daugiau.
Galbūt net pamatyti kai iš jų iš pavyzdžių kodus.
Štai kodėl aš ruošiuosi rodo, kad tai jums.
>> Iš esmės tai, ką mes galime padaryti, tai, kad, pirma iš visų, jis buvo natūra Nereikia man
įgyvendinti visi tą valdžią kodas nes jei importuoti Darvinas
biblioteka, ji iš tikrųjų apima funkciją vadinamas pow kad daro tai už jus.
Taigi, mes galime supaprastinti dar labiau ir turime galios iki funkciją dabar tik
būti nuostabią vieną linijinės, kur mes tik grąžinti šią anoniminę funkciją,
priima dolerio ženklas 0 kaip savo bazę ir y jos eksponentė.
>> Tačiau mes galime gauti tikrai, tikrai išgalvotas, kai mes
suprasti, kad Swift daug energijos po gaubtu.
Operatorių daug, kad mes užsiimame,
plius ženklai ir dalybos simboliai ir visi šie dalykai, kad jūs paprastai
dirbti su su duomenų tipų programavimo kalba,
iš tikrųjų yra pailginamas Swift.
Taigi, ką tai reiškia, kad mes gali apibrėžti savo pačių operatorių.
>> Taigi, dabar aš esu pavargęs rašyti visa tai pow ir tada skliaustai ir tada
bazę.
Aš nenoriu to daryti.
Aš iš tikrųjų noriu turėti operatorius, kuris leidžia man tai padaryti.
Taigi galiu pasakyti Swift, kad aš noriu sukurti operatorius, žvaigždė
star-- beje aš negaliu naudoti karatų nes karatais yra operatorius,
daro ką nors kita visiškai.
Taigi, aš nenoriu rūšiuoti nuo susiduria su tuo.
Ir taip, tai ką matote veislės kalbų, įskaitant Python,
yra tarsi star star operatoriaus atstovauti eksponentų.
>> Taigi, kad vienintelė priežastis, kodėl aš padariau tai.
Ir tai bus Iestiprināt tipo operatorius.
Ir aš turiu pateikti jai šiek tiek informacijos
apie tai Vyresniškumo operatorius todėl kairėje asociatyvus.
Tai tarsi palyginti aukštos pirmenybę palyginti
į sumavimo arba dauginimasis.
Tai didesnė pirmenybė nei visi tie.
Taigi, toliau ir taip toliau.
Ir tada aš apibrėžti funkcija, kuri iš tikrųjų
diktuoja, ką šis operatorius daro.
Taigi darant prielaidą, kad turiu kairę pusėje ir dešinėje pusėje,
kuri būtų gal geriau kintamojo vardas už tai.
Kairiosios pusės ir dešinėje pusėje.
Galiu tada šią galią kairėje pusėje, kad dešinėje pusėje
ir grąžinti šią vertę.
Taigi dabar tai super saldus.
Visi mes turime padaryti, tai 2 star 3 ir, kad yra nuo 2 iki trečiosios galia,
ir mes vertė yra 8.
2 star 10 yra nuo 2 iki 10 galia, kurią mes gauname 1,024.
>> Taigi dabar mūsų galia funkcija, kuris vėl yra skirtingas,
nes visa idėja tai buvo tai, kad mes turime vieną funkciją, kuri
visada užtrunka tam tikrą vertę ir daugina it-- ar veikiau
laikosi prie tos pačios galios eksponentų.
Taigi, dabar tai dar paprasčiau.
Taigi, dabar tai tik doleris pasirašyti 0 star m.
Mes net neturime naudoti pow nebėra.
>> Gerai, kas prarasta?
Ar mes darome gerai?
Bet šioje stuff klausimų?
Taip?
>> AUDITORIJA: Kai you-- [nesigirdi] funk galia y dvigubai.
Taigi, kai jūs grįžti funkciją.
DANIEL Armendariz: Funk galia y dvigubai.
Oh yeah, aš nežinau, kas y numeriai.
Atsiprašome apie tai.
>> AUDITORIJA: Kodėl tu grįžti funkcija [nesigirdi] korpusas.
Ar ne doleris nulio žvaigždučių y zvaigzdes [nesigirdi]
rasti, kad operatoriui, kad grįžti dvigubai [nesigirdi] dvigubai?
>> DANIEL Armendariz: Tegul man atsakyti į jūsų klausimą
kaip suprantu ir tu gali man pasakyti, jei aš nesuprantu jūsų klausimą.
Taigi, šis konstruktas, garbanotas petnešomis dolerio ženklas nulis star y
yra funkcija.
Ir ji sutinka parametras, kuris yra atstovauja šio dolerio ženklas nulio.
Grįžimas raktažodis numanomų šiame labai trumpas, anoniminis funkcija sintaksė.
>> Tai reiškia, kad iš esmės ką tai sako
yra tai, kad aš apibrėžti function-- ir tada aš
tik jį vadiname something-- kur turiu šiek vertės m.
I turėti y, kuris yra dvigubai.
Ir aš grįžta dvigubai.
Ir aš turiu per tą deklaraciją y-- Atsiprašome, Aš neturėjo pavadino šį y-- x.
O dieve, oi brangioji, oi brangi.
X-- nope-- star m.
>> Taigi tai yra tik supaprastinta versija tai.
Ir taip todėl, kad turiu doleris ženklas nulis yra tai, kad naudojant šią kamerą
reiškia, kad aš jau nebeturi įveskite Pow, arba nebegali padaryti
Turiu kažką daryti kaip 3 star 2.
Galiu tik turėti vieną funkcija vadinama aikštė
kad bus visada kai kaip pirkimo vertė
ir iš tikrųjų grįžti į kvadratą.
>> Taigi, visa tikslas uždarymo yra tiesiog tarsi piliulę tai
kad aš visada nori naudotis y kai Aš vadinu šią funkciją kaip galios
Vartojant šį eksponentų.
Taigi grįžtant tada, funkcija, kuri priima
dviguba, kuris yra bazinis, ir grąžinant tos eksponentė rezultatą
yra raktas čia.
Ir tai pagrindinis skirtumas.
Čia buvo tik iš klestėti tiek.
>> Tai nėra kitoks palyginti su ankstesnių pavyzdžių,
bet tai buvo tik šiek tiek klestėti mes iš tikrųjų gali
sukurti operatorių Swift ir iš tikrųjų stuff su juo,
kuris yra tipo vėsioje dalykas.
Ar aš atsakyti į jūsų klausimą?
Saldūs.
Kitoks kol mes pereiti?
Gerai.
>> Dabar tai tarsi maldauja klausimas yra that-- gerai Gerai
dabar mes turime už galimybę funkcijos turi būti grąžintas.
Ar mes taip pat perduoti funkcijas kaip duomenų arba parametrų kitų funkcijų?
Ir iš tiesų, mes galime.
Taigi tarkime, kad mes turime visi tuo pačiu kodu.
Mes turime kvadratinę kintamasis kad bus suvesti šį kodą.
Ir mes turime kubo kintamasis kad bus kubas kai kuriuos duomenis.
Ir mes iš tikrųjų norime taikyti į platų skaičių.
>> Taigi, ką mes galime bandyti daryti, Žinoma, kuri yra žinoma, galioja,
yra Iterate per šį numerių sąraše ir taikyti mano funkcijos kvadrato ir kubo
ir gauti du naujus sąrašus, kaip rezultatus kad yra tai Pradinis sąrašas kvadrato
ir Cubed, atitinkamai.
Puikiai priimtinas.
Bet kas, ką, kad matome čia yra, kad mes turime,
vėl, dubliavimo mūsų kodą.
Ir ten gal galimybė mums supaprastinti tai truputį.
Ką daryti, jei ten buvo būdas mums iš tikrųjų visada kartoti per tam tikrą sąrašą
ir tiesiog pereiti į tai stebuklinga veikti kintamąjį, kad
žymi funkciją kad mes norite taikyti
į kiekvieną elementą šio sąrašo.
Tai iškelia sąvoką, kas vadinami aukštesnės eilės funkcijas.
Ir tai yra iš esmės, ką šis yra, yra ta, kad galėtume sukurti funkciją.
>> Ir šiuo atveju ji vadinama Mapper, tiesiog suteikti jai pavadinimą, tiesiog
kartografavimas per kiekvieną vieną elementą iš sąrašo.
Kur aš sąrašą ir aš funkciją.
Ir kad funkcija, žinoma, turi tam tikrą parašą.
Ji pripažįsta, kaip parametras dvigubai ir jis bus produkcija yra dvigubai.
Ir visa rezultatas ši funkcija vyksta
būti naujas sąrašas, kad yra tipo dvigubai.
Gerai?
>> Ir tai, ką aš ruošiuosi daryti yra taikyti šią funkciją f
kiekvienam į savo sąrašą elementas.
Ir reply-- ir gana grįžti ši nauja sąrašas, kaip rezultatas, kuris tikrai cool.
Dabar galiu perduoti funkcijas aplink.
Ir šis aukštesnės eilės idėja funkcijos yra tikrai svarbus.
Ir tai Mapper yra tikrai tik beturčio įgyvendinimas
apie funkciją, kuri yra pastatytas į Swift vadinamas žemėlapį.
Ir tai daro būtent tai, galbūt net šiek tiek geriau.
>> Tai tiesiog tarsi bendriniu, supaprastinta versija, kad
leidžia mums pamatyti sąvoka, kuri taikoma čia.
Dabar pažvelgti į tai, kaip aš iš tikrųjų gali kreiptis savo aikštėje
ir mano kubo funkcijos į šį numerių sąraše.
Aš paleisti savo mapper.
Aš suteikti jai savo sąrašą numerius.
Aš suteikti jai į funkcija, kuri vyksta
taikyti, kad kiekviena iš šių indeksų.
Ir tai bus išėjimo, kaip rezultatas.
Ir aš pamatys, kad aš kvadrato ir Cubed savo numerius, kaip rezultatas.
>> Ir, žinoma, Mapper užtruks bet anoniminio funkcija rūšiuoti.
Mes galime pamatyti, kad aš sukūriau Naujas anoniminė funkcija,
tereikia šiek parametrą ir ją dalina iš 2.
Ir mes galime pamatyti, kad aš, tiesą sakant, suskirstyti savo sąrašą 2 vietoj.
Cool?
Iki šiol, taip gerai?
Gerai, dabar tegul grįžti į šią idėją.
Leiskite įgyvendinti šią atgal iš gradebook kontekstas.
>> Ir jei aš tai padaryti, mes galime pamatyti, kad aš galiu taikyti įvairius šių options--
arba įvairių šių Aukštesnio lygmens funkcijos
kad iš tikrųjų supaprastinti savo gebėjimą atlikti įvairių dalykų sąrašus numerius.
Taigi, pavyzdžiui, jei aš imtis numerių sąrašą,
vienas iš aukštesnių eilės funkcijų kad egzistuoja vadinama sumažinti.
Kas sumažinti daro, o nei žemėlapyje, sumažėja bus
paimti du elementus sąraše, bus šiek tiek funkciją,
palygina du elementus: sąrašas ir jis bus tada
rūšiuoti output-- produkcija šią funkciją
bus dar vienas elementas, tada palyginti su kitais.
>> Taigi jums gali tai naudoti, kad iš tikrųjų suma iš jūsų sąrašo numerius.
Pavyzdžiui, jei turėjo iš 1, sąrašas, 2, 3, 4, 5,
Jums žengti pirmuosius elementus 1 ir 2.
Galite kreiptis į jį papildymo funkcija, į tuos du elementus
ir išspjauna vieną iš šių elementų, kuris būtų vertė 3.
Tada mes tą vertę 3 su kitais elementas sąraše, sudeda tie du,
ir tada toliau žemyn sąrašą.
>> Mes mažinti sąrašą, kad vieno vertę.
Ir tai tiesiog taip atsitinka, kad pliuso simbolį
yra operatorius, kaip mes ką tik matė.
Tai operatorius iš tikrųjų funkcija,
turi tiksliai šį sąrašą, kad mes norėtų, o šių savybių
kad mes norime.
Taigi raginu jus Paimkite šį išvaizdą.
Noriu rūšiuoti kelyje nuo kai kurių šio kodekso
taip, kad mes iš tikrųjų galite pažvelgti į kai faktinis, realus, tiesa SWIFT Xcode,
Ios plėtrai.
Tačiau pažvelgti tai ir pamatyti, jei jūs galite
apdoroti per tai, kas vyksta kai kurie iš šių aukštesnės eilės
funkcijos, įskaitant filtro, sumažinti, ir jums net
matyti kažkur čia map taip pat.
Tai čia.
Kur ji imsis seka pažymių ir jis bus iš tikrųjų
žemėlapį juos naudojant jungiklį konstruktą, kurį gali atpažinti iš C,
bet iš tikrųjų tai yra daug daugiau galingesnis nei jungiklio konstrukcija
kad mes turime C
>> Ir mes taikyti, kad būtų kas sąraše elementas
ir faktiškai teikia laišką klasės kiekvieno
tų klasių, naudojant visas šias sąvokas kad mes ką tik kalbėjome apie anksčiau.
Dabar tegul išsisukti tik už minučių ir kalbėti apie structs.
Ir taip structs yra C laukti, kad mes galėjo apibrėžti naują duomenų rūšį,.
Structs egzistuoja Swift.
Ir taip daryti kitų konstruktų daug vadinami enums ir klases, kad tikrai
pasinaudoti šia idėją Visa kitą lygį.
>> Ir iš esmės tai tik būdas apibrėžti naują duomenų rūšį,.
Taigi, jei jūs get-- jei ateis visoje klasėje ar structs ar enums,
nereikia susipainioti juo.
Tai tiesiog apibrėžti būdas kai kurių naujų pirma duomenų tipas.
Ir tai yra labai svarbu, kai mes kalbame apie iOS app plėtra
nes viskas, egzistuoja per iOS app
iš esmės yra tam tikros rūšies objektas.
Ir tikslas yra iš esmės klasės ar pervedimą arba konstrukto.
>> Taigi šiuo atveju aš apibrėžiant naują duomenų rūšį,
kad aš raginama įvertinti tai kai savybėmis, įskaitant
pavadinimas ir pažymių seka.
Taigi, vieno tipo įvertinimo kad galėčiau turėti omenyje,
Būtų viktorinos, pavyzdžiui.
Norėčiau turėti vertinimas buvo viktorina
ir kad turėjo klasių įvairovė susijęs su tuo, už viktorina vieną,
Testas du, taip toliau ir taip toliau.
>> Arba aš gali turėti kitą tipo vertinimo probleminėms rinkinių.
Ir aš galiu padaryti dalykus.
Aš iš tikrųjų gali turėti funkcijas pagal šio tipo
Duomenų, kurie dabar vadinami metodai.
Taigi, jei jūs kada nors pamatyti Žodis metodas, tai tikrai
yra tik funkcija, kuri taikoma labai konkrečios klasės,
arba su labai specifinio tipo duomenimis.
Tai leidžia mus keisti duomenis per.
>> Taigi, kitaip tariant, jei aš noriu pridėti pažymį į savo vertinimą
tada visa, ką reikia padaryti, tai pridėti rezultatas, kuris buvo įėjimas
į šią funkciją mano vidinis nuosavybė.
Yra dar vienas tvarkingas konstruktas čia Swift, kuri yra tai dot dot dot
operatorius, o tai reiškia, kad rezultatai gali dabar priimti bet sveikieji skaičiai, skaičių.
Ir balai bus sveikųjų skaičių masyvas, kad
buvo perduota į mano tarnybą, kuri tai reiškia, kad aš galiu padaryti stuff, kaip šis.
>> Galiu padaryti pridėti pažymius ir tiesiog suteikti savavališkų numeriai sveikieji į jį
ir iš tikrųjų būti teikiama masyvą tų mano funkcijos reikšmių
ar mano metodas, kaip yra šiuo atveju.
Dabar tai yra svarbu, nes viskas Xcode, viskas iOS,
iš tikrųjų yra objektas.
Taigi keep that in mind kai mes biustas atvirą Xcode
ir praleisti į priekį už "iOS" dviejų ir trijų versijų
ir iš tikrųjų eiti į keturias versiją.
>> Ir dar, visa tai bus būti paskelbtas seminaro puslapyje.
"iOS keturi yra tarsi visiškai išsiskleidęs įgyvendinimas labai pagrindinio app.
Ir ką ši programa daro tai įkelia UI, kuris atrodo kaip šis.
Vėlgi, jei mes paspauskite ant siužetinės linijos mes galime matyti, kad tai, kaip jis atrodo.
Tai sąsaja.
Ji pačiame viršuje titulą.
Aš jį pavadino interneto galerija.
>> Viduryje ten elementas vadinamas UI vaizdas vaizdas.
Ir apačioje ten įrankių juosta su vienu mygtuko, kad
turi Elastingas erdves, kad ji galėtų centras viduryje šioje juostoje.
O kas atsitinka, kad kai šis krovinių ir jį parsisiųsti į JSON failą, kad yra
esančios serveryje kitur, suvokia, kad JSON failą,
ir JSON failas atrodo kaip tai tiek.
JSON failas atrodo taip.
Ten ji yra.
>> Ji albumo pavadinimą ir ji turi nuotraukų masyvo.
Kiekvienas iš šių nuotraukų turėti pavadinimą, o taip pat
patys URL, atstovauti jpeg versija, kad individualios nuotrauką.
Taigi, kas atsitiks tai, kad kai ši programa kroviniai, jis atsisiunčia JSON failą,
analizuoja ją, kelia visa tai į AN iOS masyvo lygiavertis
App plėtrą, kuri yra nsarray.
Ir tada aš galiu tada įkelti šie duomenys į programą
ir įkelti jį ant mano ekrano.
>> Yra vaizdas, kuris buvo pakrautas su Pačioje apačioje mygtuką.
Jei aš spustelėkite Gauti Kita nuotrauka, tai tada traukia, kad vaizdas iš interneto
ir pakeičia, kad vaizdas į UI vaizdų nuomone.
Taigi jūs galite atsisiųsti šį ir iš tikrųjų į ją pažvelgti į savo kompiuterį.
Ir statyti ir iš tikrųjų kaupia jį ant savo prietaiso.
Bet iš esmės procesas tai, sukurti storyboard--
ar veikiau ne create-- bet pasirinkti siužetinės linijos.
Ir iš tikrųjų we'll-- jei jūs neturite mind-- mes priimsime tik keletą sekundžių
realiai parodyti jums, kaip tai buvo padaryta.
>> Tiesiog taip, kad tai, kaip mes galime iš tikrųjų tai pasiekti yra pagamintas šiek tiek daugiau
akivaizdu.
Vienvietis vaizdas taikymas, aš ketinate skambinti šiuo seminarą
keturi atstovauja tai pirma, skaičius.
Išsaugokite ją ant darbastalio.
Gerai, einu į spustelėkite siužetinės linijos.
Ir tai, ką aš ruošiuosi daryti yra rasti savo vaizdo rodinį,
vilkite jį į mano vartotojo sąsaja ir centro jis.
Dabar tik centravimo ją, deja, nesiruošia daryti visai daug,
išskyrus ekrane kad tai yra tikslus dydis.
>> Taigi, mes galime įtikinti save ir kad spustelėję šią dvigubo apskritimo dalykas,
mažinant šį pasipriešinimo meniu čia ir keičiasi
peržiūrėti, kur mes iš tikrųjų gauti galimybę pamatyti, kaip
tai iš tikrųjų atrodo ant kitų įrenginių.
Kaip matome, mes net ne pamatyti jį šiuo konkrečiu atveju.
Taigi, aš ruošiuosi uždaryti šį dabar.
>> Ir aš ruošiuosi pasirinkti ši piktograma žemyn labai
apačios dalis ekrane.
Ji sako išspręsti Auto išdėstymas klausimais.
Atsiprašome, jis nukirto apačioje.
Bet jei aš spustelėkite, kad tai, ką aš gauti yra tai pop up-- išeiti.
Kas man yra tai, kad pop-up leidžia man pridėti trūkstamus apribojimus.
Ir tai, kad ji Tada tarsi užrakinti
į centrą daliai ekranas kaip galiu tikėtis.
>> Dabar norint gauti šį mygtuką Top jo, man reikia eiti į redaktoriaus.
Eiti į Įterpti ir spauskite Navigacijos kontrolierius.
Kas, kad bus padaryti, tai, kad bus pridėti visas šis komponentas, kitas į jį,
bet tai tikrai bus susieti jį atgal prie mano originalios UI.
Ir detalės, ir vėl, mes neturime tikrai reikia rūpintis dabar.
Bet aš noriu turėti įrankių pačioje apačioje.
Taigi aš patikrinimas rodo, įrankių juostą.
>> Ir tai suteikia per mano nuomone, kuris dabar yra kažkur kitur,
matome tai susiję čia.
Dabar ji suteikia įrankių juostą tuo savo UI apačioje.
Taigi, dabar, o ne pasirinkdami vaizdas vaizde galiu rasti etiketę,
ar veikiau toolbar-- pažiūrėkime, kur tai yra?
Ką jis vadinamas?
Button-- punktas bar-- item-- sorry-- baras mygtuką punktas.
Staiga, kad ir taikyti pora lanksčių tarpai iš abiejų pusių
faktiškai centras, kuris.
Taigi, dabar aš sukūriau savo UI, iš esmės.
Ir aš galiu duoti jai vardą dukart spragtelėjus pačiame viršuje
čia ir pasakyti, web galerija ir pan.
Dabar vėl, šie elementai kad egzistuoja patys.
Ir aš turiu prisijungti jiems mano kodas, kuris
Galiu padaryti vėl pareikšti iki šio dvigubo apskritimo piktogramą,
keičiasi iš peržiūros.
Kuris, beje, dabar matome, yra gražiai centre ir atrodys gerai
ant įvairių prietaisų.
>> Perjungti į automatinis, kurie bus auklėti ViewController kodą.
Ir dabar ši dalis yra labai svarbi.
Kad galėtumėte prijungti juos du elementai, jūsų kodas UI,
Pasirinkus elementą, norite prisijungti.
Taigi, šiuo atveju, mes iš tikrųjų nori koduoti
pakeisti įvaizdį, kad manimi esančią per šį UI vaizdų nuomone.
Taigi, jei jums kontroliuoti spustelėkite iš vaizdas vaizdas ir vilkite,
jūs pastebėsite, kad jūs gaunate šiek tiek juostą, kai jūs atleiskite visko tai pop
iki įvyks.
>> Ir ji sako, kad mes sukurti ryšį.
Ir iš čia aš noriu duoti vardas, kažkas panašaus į galeriją.
Paspauskite Enter.
Ir tai iš tikrųjų suteikia kintamasis vadinamas galerija
kad aš tada gali nuoroda į mano kodas pakeisti vaizdą, pavyzdžiui.
Taigi, kaip, kad kodas iš tikrųjų atrodo?
Na vėl, aš nenoriu per daug laiko praleidžia ant jo.
Ir raginu jus jį atsisiųsti ir pažvelgti.
Tačiau vienas iš labiausiai svarbus aspektas yra kodas
kad iš tikrųjų ima vaizdą.
>> Taigi šiuo atveju aš noriu gauti per mano nuotraukas
masyvo, kuris yra pateiktas per mano klasėje.
Noriu apibrėžti pavadinimą ir URL kad buvo apdoroti iš šio JSON.
Tiesą sakant paklausti prietaisą gauti URL atnešti URL iš to,
ir tada paimti duomenis iš tos URL turinį.
Tada konvertuoti šiuos duomenis į atvaizdą praleidžiant jį į UI vaizdą.
Taigi dar kartą, visa tai yra skirtingų tipų objektų, skirtingų tipų klasių.
>> Ir tada aš galiu tada nustatykite savo gallery.image lygi šių duomenų.
Ir tai tarsi mėsos tai, kad iš tikrųjų yra tada
galėtų pakeisti duomenų from-- pokyčius Vaizdas iš vieno į kitą.
Taigi dar kartą, tikiuosi dabar iš konstruoja daug
bus šiek tiek daugiau prasmės.
Atkreipkite dėmesį, kad yra keletas šauktukų čia.
Į šauktukų yra iš esmės susiję su Papildomi reikmenys.
>> Ką aš iš esmės pasakyti, kad net tikrinti
pamatyti, jei ten duomenys per tai neprivaloma,
Aš ruošiuosi eiti į priekį ir daryti prielaidą, kad yra ir išvystyti jį.
Atminkite, kad mes panaudojome analogiją tarsi už Papildomi reikmenys pakuotėje
ir mes turime išvystyti paketas ir traukti duomenis iš.
Šauktukas jėgos, kurios iš tikrųjų įvyktų.
>> Bet aš žinau, kad tai yra saugūs, nes aš patikrinti
pamatyti, jei vaizdo duomenys yra lygus iki nulio, aš iš tikrųjų patikrinti
pamatyti, jei tai neprivaloma iš tiesų buvo, nepavyko.
Jei tai buvo iš tikrųjų nepavyko jau.
Ir todėl aš tikiu, kad kai gaunu tai I punkte galima saugiai išsivynioti, kad duomenis.
Jūs taip pat gali matyti iš klaustuko forma.
Taigi, jei mes slinkti žemyn, kur aš reikia realiai apdoroti duomenis.
>> Taigi nereikia atidėlioti tai ilgų pavadinimų rūšiuoti.
Jūs galite rasti, kad "Apple" kūrėjas svetainė aikštelė
nuorodų į visus objektai ir visi procesai,
kad iš tikrųjų tai padaryti.
Bet pranešimas, kad tai yra iš esmės funkcija, kur aš perduoti jį tam tikrus duomenis.
Ir aš grįšiu šiek tiek duomenų rūšiuoti.
Ir man reikia naudoti tai kaip raktinis žodis konvertuoti jį į šį nsdictionary?
Kuris yra vėl, neprivaloma nsdictionary.
Kuris man tada reikia patikrinkite, ar jis egzistuoja.
>> Taigi aš galiu naudoti, kad jei tegul sėkmingai nelygiaverčiai apdoroti,
Tada aš žinau, kad nebūtina iš tikrųjų yra tam tikrus duomenis.
Arba ką aš čia padariau buvo tiesiog manyti, kad, jei yra
buvo nėra klaidų, kad jis yra iš esmės saugūs.
Gerai, aš noriu padėkoti Jūs visi labai daug ateina.
Aš žinau, tai buvo daug, bet tai buvo tik valandą
kalbėti apie kai gana pažangi medžiaga.
Ir todėl tikiuosi, jūs gausite tikimybė, atsisiųsti visų kodą
ir imtis geriau, nuodugniai pažvelgti į jį.
Rūšiuoti įtikinti save, visų stuff, kad vyksta.
Ir aš noriu padėkoti jums visi, vėlgi, dėl atėjimo.
Ir geros kloties su savo galutinius projektus.
Ar puiki diena.