>> [Ag seinm ceoil]
>> DAN AMRMENDARIZ: Tá ag gach duine, fáilte roimh an seimineár CS50,
iOS App Forbartha Swift.
Tá mé Dan Armendariz, agus mé preceptor na heolaíochta ríomhaireachta anseo ag Harvard.
>> Agus is é an uair seo chugainn ag dul a bheith turas whirlwind de stuif oiread
faoin ábhar agus is féidir linn oiriúnach.
Beidh mé sa phost gach ceann de na cód foinse go mbeidh tú a fheiceáil sa lá atá inniu ar líne.
Ní fhéadfadh muid a bheith in ann i ndáiríre dul thar gach rud
go bhfuil mé go bhfuil mé léiríonn tú i an uair an chloig.
Ach ar a laghad tá súil againn trí ar bharúlacha an cód foinse,
beidh tú in ann chun iarracht a dhéanamh amach cad go díreach atá ag tarlú do na rudaí
nach féidir linn a fháil go leor le.
>> Tríd is tríd, an struchtúr Beidh an lae inniu labhairt mar seo a leanas.
Beidh muid tús a chur amach ag déanamh roinnt bunúsacha error leis an teanga Swift,
dul isteach i roinnt de na níos forbartha chomhréir na teanga Swift.
Mar gheall ar an teanga i ndáiríre nua-aimseartha agus é a
Tá a lán de leibhéal ard gnéithe, rudaí nach bhfuil muid
le feiceáil i C fud CS50, nó fiú roinnt na teangacha eile
go atá againn a thosaigh ag baint úsáide as i CS50 mar PHP,
mar sin tá mé ag dul a bheith acu chun iarracht a dhéanamh a thabhairt isteach freisin roinnt topaicí a
a bhaineann le teangacha leibhéal níos airde nach féidir leat a fheiceáil go domhain i CS50,
ach beidh tú a fheiceáil i níos déanaí ranganna eolaíocht ríomhaireachta.
Mar sin, tá sé ag dul a bheith ina docht pacáilte uair an chloig.
Agus bíodh leisce ort in iúl dom Tá a fhios má tá aon cheist agat.
Mar sin, má tá suim agat dhéanamh ar fhorbairt
le Swift, nó i ndáiríre aon fhorbairt app iOS,
tá cúpla de riachtanais.
Gcéad dul síos, caithfidh tú a bheith ag baint úsáide Mac, ag rith sna samplaí
go bhfuil muid ag dul a bheith ag baint úsáide inniu, leagan réasúnta nua de OS
X. Sa chás seo, tá mé ag rith X 10.5.
Is féidir leat a bheith ag rith 10.11 más mian leat.
Ach gach rud go bhfuil tú ag dul go dtí a fheiceáil go bhfuil baint ag Xcode 7 agus níos déanaí,
a bhfuil an leagan is déanaí de Swift, atá Swift 2.0.
Seo i ndáiríre ar go leor idirdhealú tábhachtach.
Tá a lán de na error athrú go leor suntasach
i roinnt cásanna ó Swift 1.0, a eisíodh an bhliain seo caite,
go Swift 2.0, a díreach tháinig amach an titim.
Mar sin, táimid ag dul chun a thaispeáint Swift 2.0.
A lán de na rudaí a chuardaíonn tú ar líne
nuair a bhíonn tú ag iarraidh a fháil sa bhreis faisnéis faoi ar éagsúlacht na rudaí,
b'fhéidir gur mhaith leat a sainráite cuardach Swift 2
seachas díreach plain d'aois Swift a dhéanamh cinnte go bhfaigheann tú an chomhréir ceart.
>> Go deimhin, tá sé seo fíor go ginearálta.
Níl le méid tapa forbartha ag tarlú sa teanga Swift
ó shin i leith scaoileadh Apple é, I mo thuairimse, cad, tá sé curtha beagán níos mó ná bliain
anois.
Agus tá rudaí a athrú mór tagtha san am sin.
Agus nach bhfuil amhlaidh frustrated más rud é, nuair a bhíonn tú ag féachaint timpeall
do thopaicí ar Swift nó conas a chur i gcrích rud éigin ag baint úsáide as roinnt cód, mar shampla
nó rud éigin nach ndéanann sé obair iarbhír ar Swift 2.0.
Bí cinnte go bhfuil tú ag lorg go sonrach chun na leagan
chun iarracht a dhéanamh éifeachtaí éagsúla a íoslaghdú leaganacha agus na cineál rudaí.
>> Bainfidh mé triail as a chur in iúl ach roinnt rudaí atá éagsúil le leaganacha níos sine.
Ach tá sé rud éigin chun faire amach do.
Sin is dócha ag dul a bheith ar cheann de na tinneas cinn is mó
go mbeidh tú ag le Swift Tá aimsiú Sampla cód atá níos sine, fiú amháin
ag ar feadh cúpla mí, ag iarraidh a úsáid sé i do thionscadal níos nua-aimseartha.
Agus sé ach go simplí nach bhfuil ag obair.
Bhfuil tú ag fáil earráidí tiomsaitheoir, error earráidí, gach cineál rudaí ar mire.
Mar sin, ach a n-othar le go bhfuil, agus beidh tú tá súil againn
bhfuil taithí deas deas le an iomlán Swift.
>> Anois is féidir leat join-- ndáiríre agus tá súil agam ní mór dúinn i ndáiríre fós an year-- seo
CS 50 Apple app fhoireann a fhorbairt, a
Beidh deis a thabhairt duit a shuiteáil aon apps a chruthú duit ar do feistí iOS.
Mar sin, chur le breathnú ar an URL más rud é Tá suim acu go bhfuil tú.
>> Mar sin, ach cúpla rudaí faoi Swift féin.
Is teanga i dtoll a chéile.
Ach feicfidh tú go bhfuil roinnt de na gnéithe sin a úsáid againn
cheadú é a úsáid freisin i le beagán cosúil le léirmhíniú ar bhealach chomh maith.
>> Tá a lán de na error a fuarthas ar iasacht ó C. Tá sé bunaithe agus scríofa i C.
Agus mar sin beidh muid a fheiceáil go tá a lán de na takeaways
ó do eolas atá ann cheana ó C go féidir linn port a Swift.
>> Ach tá rudaí a dhéanamh sé an-difriúil ó C.
Tá sé an-láidir clóscríofa.
Níl bainistíochta cuimhne uathoibríoch.
Nach bhfuil tú ag dul a bheith acu chun úsáid malloc nó áit ar bith saor in aisce.
Tá sé seo deartha le haghaidh ghinearáltacht.
Mar sin, i bhfocail eile, is féidir leat é a úsáid i gach cineál na comhthéacsanna, ó Apple Watch
a iPhone léir ar an mbealach suas go dtí OS X, agus fiú roinnt freastalaithe, fiú roinnt scriptithe.
Ach beidh orainn a fheiceáil go bhfuil an tacaíocht a thabhairt do scriptithe
Níl go leor ann go fóill mar tá sé i dteangacha eile.
Mar sin, is dócha go mbainfidh tú a bheith ag baint úsáide as seo go heisiach le haghaidh forbartha
ar do Mac nó ar do iPhone.
>> Agus tá sé a lán de na gnéithe nua-aimseartha.
Agus tá a lán de na rudaí rudaí go táimid ag dul chun iarracht a dhéanamh aghaidh a thabhairt ar lá atá inniu ann,
ach freisin ar ár ábhair a frankly, is féidir linn a chaitheamh ar chúrsaí ar fad.
Go deimhin, CS 51, a bhfuil ar fáil seimeastar seo chugainn,
Díríonn go leor ar na hábhair seo go bhfuil cur síos orthu thíos.
Mar sin, is féidir leat a chaitheamh ar fad seimeastar tuiscint na rudaí seo.
Ach táimid ag dul chun iarracht a a fháil trí iad
ar a laghad, go leor go bhfuil tú Is féidir le tuiscint a fháil ar cad atá
ag dul ar nuair a fhéachann tú ag clár Swift
agus a bheith in ann a hack do bhealach a dhéanamh tríd sé ar an tionscadal deiridh.
>> Anois go féidir le duine de na bealaí is fearr leat eolas breise ar seo a fháil
Is frankly díreach trí Apple doiciméid dá bhforáiltear Swift.
Níl a lán de na APIs atá ar fáil.
Agus é seo bonn bhaile maith agat a lorg, rudaí ar leith go bhfuil tú
ag iarraidh a dhéanamh le API a bhaineann iOS.
Más mian leat a bhaint as an ceamara le haghaidh Mar shampla, is féidir leat a dtosaíonn ag anseo,
agus freisin a úsáid Google agus Stack Overflow mar a bheadh ​​agat de ghnáth.
>> Ceisteanna ar bith ar an roimh léim muid ceart i?
Ceart go leor.
A ligean ar bogadh ar aghaidh.
>> Mar sin, an chéad, tá mé líon na n-shampla comhaid.
Agus tá mé ag dul chun iarracht a céim trí iad sách tapa.
Is é seo an comhad Dia duit an Domhain do Swift.
Tá sé an-simplí.
Níl ar bhealach níos comments ná mar atá cód iarbhír.
Fógra go bhfuil an cód iarbhír ag an bun an-ar líne 14.
Deir sé phriontáil.
Agus ansin tá sé glao feidhm.
Táimid ag dul isteach sé teaghrán a dtugtar Dia duit CS50.
Fógra go níl aon leathstadanna.
Fógra go níl aon phríomh slánuimhir.
Níl aon cheann de na cruft a bhí againn le C.
Nuair a bhíonn muid ag baint úsáide as Swift ar an mbealach seo, a bhfuil ach scríofa i gcomhad téacs
agus a stóráil ar mo ríomhaire, ansin Is féidir liom a chur le chéile é agus rith sé.
>> Fógra go bhfuil mé anseo nach n-úsáideann an IDE CS50.
Glacann sé seo go bhfuil mé ag rith agus go bhfuil mé ar OS X,
agus go bhfuil mé Xcode suiteáilte cheana ar an meaisín d'fhonn seo
d'fheidhm i ndáiríre.
Ach tá sé seo ach gnáth comhad téacs gur féidir linn a chur le chéile ansin agus in eagar.
Mar sin a ligean ar a fheiceáil conas a oibríonn sé seo i ndáiríre.
Cad más mian liom a chur le chéile é?
1.swift swiftc.
Tar éis nóiméad nó dhó, sé Beidh a fheiceáil go bhfuil muid anois
thiomsaigh seo i gcomhad ar a dtugtar 1.
Agus anois ní mór dúinn i gcló ar ár CS50, ár n-iarratas Hello World in áit.
>> Fógra rud amháin eile mar go maith é sin de réir réamhshocraithe,
nach raibh againn a ionchur a / n a phriontáil líne nua.
De réir réamhshocraithe, an fheidhm cló i Beidh Swift phriontáil líne nua ar do shon.
Is féidir leat pas a fháil sa bhreis roghnach paraiméadar a insint nach é sin a dhéanamh.
Ach Google le haghaidh tuilleadh eolais ar sin.
De réir réamhshocraithe, beidh sé a dhéanamh ar an bprionta líne.
>> Gach ceart, mar sin a ligean ar bogadh ar aghaidh ansin le roinnt rudaí eile.
Mar sin, conas is féidir linn a shainiú i ndáiríre athróg?
Is féidir linn a dhéanamh go bhfuil úsáid a bhaint as ar cheann de na dhá mhodh.
Agus an ceann a ba mhaith liom a insint duit faoi ​​gcéad é an sainmhíniú seo ligean.
Agus tá sé seo tábhachtach mar gheall ar go héifeachtach
cad táimid ag déanamh is shainmhíniú ar tairiseach.
Táimid ag dul a chruthú athróg, nó in áit a ainm a thugtar air i gcónaí,
a chur ar fáil sé roinnt data-- i chás seo, an teaghrán Dan.
Ach ag baint úsáide as an ligean eochairfhocal, tá muid ag rá
go variable-- seo nó arís constant-- dtugtar
Ní cúis í in ainm dul a athrú.
Tá sé ag dul a bheith ar fud immutable ré an chláir seo
nó ar fud na fad an comhthéacs
go bhfuil athróg ar fáil.
>> Tá sé seo tábhachtach i ndáiríre go nuair tá tú cuid de na sonraí nach bhfuil
ag dul a athrú i do chlár, agus go mbainfidh tú a fheiceáil ar éagsúlacht na samplaí
faoi ​​nuair ba mhaith linn a úsáid ligean i gcoinne an error eile,
tá sé tábhachtach go bhfuil tú úsáid a ligean nuair is féidir mar gheall ar seo in iúl d'
an teanga go bhfuil sé nach bhfuil ag dul a athrú,
agus is féidir é a dhéanamh i ndáiríre a lán de na optimizations
chun feabhas a chur ar an luas agus sábháilteacht do chlár.
Agus ag sábháilteacht, ní chiallaíonn mé in iúl tuairteála sé le hearráidí dÚsachtach
go bhféadfaimis a bheith accustomed a fheiceáil i C.
>> Ansin, is féidir linn a úsáid idirshuíomh teaghrán a Cuach seo laistigh de teaghrán.
Mar sin, is féidir linn a fheiceáil ar an bprionta líne, a phriontáil hello,
agus ansin ag baint úsáide cúlslais parens oscailte, agus ansin an t-ainm mo athróg,
sa chás seo tairiseach, dún an lúibíní.
Tá mé ag go bunúsach ansin a chur ar an ábhar an t-ainm ar a dtugtar athróg
taobh istigh de na teaghrán agus ansin priontáil an toradh ann.
>> Níl athrú amháin eile chuig an gcomhad seo a bhfuil go bhfuil mé, ag an mbarr an-,
a chur i líne shebang, a Sonraíonn go bunúsach ach
gur mhaith liom a bhaint as an Ateangaire sciobtha, a
Ciallaíonn sé sin go mé a thuilleadh thiomsú an clár ar leith.
Is féidir liom a reáchtáil ach é mar a script féin.
Ach tá sé seo, sa chás seo, taobh thiar de na radhairc á cur le chéile agus ansin
á reáchtáil.
Tá sé díreach dofheicthe a chur chugainn.
>> Gach ceart, mar sin a ligean ar bogadh ar aghaidh.
Mar sin níl beagán de trickery a tharla díreach roimh.
Thaispeáin mé tú go bhfuil mé D'fhéadfadh a shainiú tairiseach.
Agus d'fhéadfadh mé a chur ar fáil cuid de na sonraí chun é a dhéanamh.
Ach sa chás seo, faoi deara nach raibh mé sonraigh iarbhír an cineál sonraí
go bhfuil sé.
Agus sin mar gheall ar an tiomsaitheoir, is féidir Swift
tátal a bhaint astu an cineál sonraí díreach bunaithe ar na sonraí a chuir mé isteach é.
Gheall ar a fhios sé go bhfuil ag a mheas seo athróg ar dheis anseo, ceart seo sonraí
anseo, a fhios sé go bhfuil sé ar teaghrán.
Agus mar sin is é an t-ainm tairiseach, dá bhrí sin dul chun bheith ina teaghrán chomh maith.
>> Ach is féidir linn a bheith chomh maith follasach mar gheall ar an gcineál sin
táimid ag dul a úsáid le haghaidh tairisigh nó athróg
ag baint úsáide as an error instead-- a ligean ionann Teaghrán ainm colon
Dan, rud a chiallaíonn sa chás seo tá muid dul ar ainm a thugtar air i gcónaí a shainiú.
Tá sé ag dul a bheith de chineál Teaghrán.
Agus is é an luach ag dul a bheith Dan.
Anois an bealach eile a Is féidir linn a chruthú variables--
agus tá na hathróga mutable, a Ciallaíonn sé sin go bhfuil muid, i ndáiríre, ag dul
chun a n-ábhar a athrú éigin i ré an comhthéacs
go bhfuil go athróg defined-- linn a bain úsáid as an eochairfhocal var ionad ligean.
Ach arís, de réir réamhshocraithe, ach amháin má tá a fhios agat gur gá duit a ionramháil go bhfuil na sonraí,
iarracht a úsáid ligean do feabhsuithe feidhmíochta.
>> Sa chás seo, is féidir liom ansin sonraigh an cineál sonraí
go táimid ag súil le bheith taobh istigh de an athróg nua ar a dtugtar lipéad.
Tá sé ag dul a bheith ina teaghrán.
Agus táimid ag dul chun comhcheangail ansin dhá teaghráin le chéile, an teaghrán Dia duit,
agus an teaghrán ionadú ag an athróg, nó in áit an t-ainm tairiseach.
>> Mar sin, is é seo deas mar gheall ar an Tá PHP beag cosúil i go againn
tá comhchaitéiniú teaghrán an-éasca.
Ní chuirimid a go huathoibríoch úsáid a bhaint as aon saghas bainistíochta cuimhne
a mhéadú an méid agus a dhéanamh aon saghas rudaí greannmhar ann.
Oibríonn sé seo mar ba mhaith linn a bheith ag súil i ndáiríre.
>> Ceart go leor, aon cheisteanna ar seo?
>> Anois an chúis eile go ní mór dúinn tá an cumas
a bheith in ann a shainiú cad cineál na n-athróg sonraí atá
Is mar gheall ar uaireanta ní dhéanaimid ag iarraidh a athróga thúsú
le cuid de na sonraí ag an pointe sainmhíniú.
Mar sin, sa chás seo, a ligean ar rá gur mhaith liom a thosú ionchur
roinnt grád i leabhar grád.
Bhuel tá a fhios agam go bhfuil ceann de na athróga gur mhaith liom a bheith
ag dul a bheith ina ghrád mutable.
Agus tá a fhios againn freisin go bhfuil muid ag iarraidh é a bheith ina slánuimhir.
Ach b'fhéidir nach bhfuil againn go fóill tá go grád atá ar fáil.
>> I Swift, tá tú chun a shainiú an cineál sonraí
go bhfuil a bhaineann le athróg nó a ligean tairiseach
sula féidir leat i ndáiríre úsáid athróg.
Toisc go bhfuil sé clóscríofa go láidir, caithfidh tú a chomhlachú le cineál
leis na hathróga.
>> Mar sin, sa chás seo, más rud é nach Tá mé ag gceart initialized an chéad le roinnt luach,
ansin is gá dom a insint cad Swift Táim ag súil leis an gcineál sonraí a bheith.
Agus tá sé ag dul chun fanacht chineál sin sonraí céanna
ar fud an stair an chláir seo.
>> Anois d'fhéadfá a bheith tempted a luaithe Chruthaigh mé an athróg grád
agus ar choinníoll sé slánuimhir de 100, anois má tá mé
ag iarraidh chun iarracht a comhcheangail teaghrán leis slánuimhir,
D'fhéadfadh a bheith tempted a úsáid i gcónaí go oibreoir comhchaitéiniú teaghrán
mar a rinne muid ach cúpla líne roimh.
Ach ar an drochuair, Beidh sé seo i ndáiríre ní
ag obair, mar go bhfuil tú go bunúsach ag feidhmiú
oibríocht ar dhá chineál éagsúla.
>> Anois tá sé seo an-difriúil ó eile Teangacha cosúil le PHP atá i ndáiríre
goosey loosey lena n-saghas de chineálacha.
Siad díreach ag cosúil, yeah, is cuma cad, ní féidir liom cúram.
Just a thabhairt dom le cineál amháin, agus b'fhéidir go mbainfidh mé a dhéanamh ar an rud ceart.
>> Sa chás seo, tá Swift thar a bheith dian faoi na cineálacha
go bhfuil tú ag déileáil leis.
Seo oibreoir suimiú nó oibreoir comhchaitéiniú
Tá go bunúsach cúpla roghanna éagsúla féideartha.
Is féidir leat a dhéanamh suimiú le slánuimhreacha, nó is féidir leat
is féidir a dhéanamh comhchaitéiniú teaghrán, agus b'fhéidir roinnt rudaí eile chomh maith.
Ach más rud é nach bhfuil oibreoir aithníonn an méid atá ar an dá thaobh de,
nó in áit an teaglaim de na dhá chineál, nach bhfuil cad atá sé ag súil,
ansin tá sé ag dul a chur faoi deara teip.
>> Mar sin, sa chás seo, cad a chiallaíonn sé a bheith acu ar shraith móide slánuimhir?
Go maith i gcomhthéacs seo, ba mhaith linn is dócha
chun oibríocht comhchaitéiniú teaghrán.
Ach ar ndóigh an ríomhaire Níl gur saghas chomhthéacs.
Agus mar sin ní mór dúinn a chur ar fáil go eolas breise
chun ligean a fhios sé cad é is é sin ba mhaith linn a dhéanamh.
>> Mar sin, i bhfocail eile, ar an bhfíric go bhfuil Swift clóscríofa go láidir
a chiallaíonn go bhfuil tú a dhéanamh ar beagán den obair bhreise
chun é a fháil a oibriú an bhealach a bheadh ​​gur mhaith leat.
Ach mar thoradh air sin, tá sé níos sábháilte.
Agus nuair a bhíonn tú a chur ar san áireamh na cineálacha,
rudaí ach tús frankly a bheith ag obair go maith go leor.
>> Mar sin, sa chás seo, ba mhaith linn ansin dhéanamh comhchaitéiniú teaghrán
trí réitigh go sainráite an tslánuimhir go teaghrán
ag timfhilleadh sé seo caipiteal feidhm S Teaghrán,
agus ansin ag baint úsáide as comhchaitéiniú teaghrán oibreoir a mhodhnú ar ár athróg lipéad,
agus ansin a phriontáil amach.
>> Go dtí seo, chomh maith?
Ceart go, a ligean ar bogadh ar aghaidh.
>> Anois tá éagsúlacht na sonraí cineálacha gur féidir linn a úsáid i Swift.
Toisc go bhfuil tú i dtaithí ar, Is féidir linn a chruthú sraith mutable.
Agus is féidir go sraith amháin go bhfuil cineál amháin.
>> Mar sin, sa chás seo, táimid ag dul a chruthú a arrays mutable de slánuimhreacha, a
beidh muid ag glaoch grád, agus beidh muid in ann a stóráil go sa lúibín cearnach
formáid mar atá tú tar éis fás accustomed i réimse teangacha eile.
Ach faoi deara go anseo tá muid shainmhíniú cúpla rudaí.
Is grád ar variable-- mutable táimid ag a úsáid ar an eochairfhocal ligean.
Mar sin, ciallaíonn gur féidir linn a mhodhnú ansin ar an ábhar an eagar.
Tá sé de chineál Int Eagar, agus is féidir linn a rá go bhfuil
bunaithe ar na lúibíní cearnacha anseo.
>> Anois ar cheann de na rudaí deas faoi ​​seo é go bhfuil muid ag
rochtain a fháil ar a lán de eolas breise
mar gheall ar an sraith díreach ag baint úsáide as roinnt simplí ponc nodaireacht.
Mar sin, mar shampla, Soláthraíonn grades.count a chur chugainn
líon na míreanna atá ann sa mhéid is go eagar, ar féidir linn a rochtain a fháil ar go leor ansin
go héasca ag baint úsáide as ach go ponc nodaireachta.
>> Más mian leat a chur sa bhreis míreanna a ghabhann leis an eagar,
Ní féidir leat a dhéanamh ar an stíl PHP áit a bhfuil tú díreach tar éis a shainiú go sainráite,
ag innéacs ar leith, roinnt luach gur mian leat a chur isteach.
Ina áit sin, bain úsáid as an iarcheangail modh sa chineál eagar
a fhoscríbhinn go mír, 95, leis an liosta.
>> Mar sin, anois tá an eagar seo a leanas contents-- 100, 0, 90, 85.
Agus anois tá muid i gceangal 95 sin chomh maith.
>> Tá bealaí eile féidir linn rudaí a fhoscríbhinn.
Is féidir leat é a úsáid iarbhír oibreoir shuimiú,
a a léiriú mar oibríocht iarcheangail eagar.
Agus is féidir leat fhoscríbhinn ansin eile eagar, a bhfuil a t-ábhar atá 70 agus 80,
leis an eagar.
Mar sin, anois táimid tar éis an t-ábhar ar an athróg
grades-- 100, 0, 90, 85, 95, 70, agus 80.
Is é seo ach comhréire deas beag siúcra a sholáthraíonn Swift a chur chugainn.
>> Mar sin, más mian linn chun suim an grád, tá muid, b'fhéidir
dul go dtí gur mian a iterate thar gach mír sa lúb.
Agus dhéanaimid bhfuil, i Swift, an coincheap de do lúb mar a bheifeá ag súil.
Ach ar an mbealach a léiríonn linn a Tá réimse beagáinín difriúil.
Mar sin, sa chás seo, go suim gach rud, beidh muid a
ag dul a chruthú sealadach suim a dtugtar athróg d'fhonn dúinn
a choimeád ar bun ar an líon.
>> Agus faoi deara ár chun tógála lúb anseo.
Le haghaidh innéacs i 0 .. <grade.count.
Mar sin, seo a thógáil, 0 .. <grades.count Is oibríocht réimse ina bhfuil muid
ag rá go bhfuil muid ag dul a chruthú réimse slánuimhreacha ó 0 suas
go ach gan grades.count.
Mar sin, beidh sé seo a bheith 0, 1, 2, 3, 4, 5, suas go dtí áfach, go leor amháin
roimh grades.count.
>> Mar sin, is é seo difriúil ná conas a Bheadh ​​a úsáidtear de ghnáth le haghaidh lúba
i gcás ina mbeadh ort roinnt innéacs athróg, leag sé cothrom le 0 ar dtús,
agus ansin a chomhtháthú go dtí roinnt luach níos lú ná an líon na n-ítimí
sa mhéid is go eagar.
>> Mar sin, tá modhnú leis seo, i ndáiríre,
a ligeann dúinn a an-éasca leagtar cineálacha éagsúla raonta.
Má athraíonn tú an raon a trí poncanna, 0 ... grade.count,
léiríonn sé seo an raon 0 a grades.count cuimsitheach,
a chiallaíonn go bhfuil an líon sin freisin ansin ar áireamh sa raon.
>> Ach tá sé seo an-áisiúil le haghaidh na rudaí seo cruinn,
nuair atá againn a dhéanamh iterations thar lúb
toisc go bhfuil na innéacsanna innéacsaítear náid, mar atá feicthe againn i dteangacha eile
chomh maith.
Ceisteanna ar bith ar seo le haghaidh lúb?
>> Mar sin, níl sainmhíniú intuigthe den athróg innéacs,
Tosaíonn luach a bhfuil a ag 0, agus Leanann ag gach atriall lúb
a mhéadú trí 1 suas go dtí pointe is é sin cothrom le grades.count,
ag an bpointe, aborts an lúb.
>> Fógra go bhfuil ar ár téad idirshuíomh anseo,
is féidir linn a dhéanamh i ndáiríre ar roinnt simplí manipulations leis na luachanna sin.
Mar sin, innéacs móide 1 Beidh iarbhír dhéanamh go léir a shuimiú luach sin
toisc go bhfuil innéacs, i chás seo, slánuimhir.
Agus ag an bpointe sin, beidh sé a thiontú ansin isteach ar shraith
agus interpolated isteach sa teaghrán anseo, agus a phriontáil amach mar ba mhaith linn a bheith ag súil. .
>> Agus an rud deas mar gheall ar an arrays anseo
go bhfuil muid in ann a bheith acu freisin Luachanna ag fáil agus luachanna a leagan síos
ag baint úsáide as an nodaireacht lúibín cearnach mar againn le feiceáil i dteangacha eile chomh maith.
>> Ceart go leor, mar sin ó anseo, táimid ag anois ríomh ar ár suim i ngach ceann dár grád.
Anois saghas an chéad Bheadh ​​chéim loighciúil a bheith
chun oibríocht rannán a fháil as an meán de na gráid.
Ach rud éigin tábhachtach anseo atá ag tarlú a
is é go bhfuil an tsuim b'fhéidir slánuimhir.
Ach ní mór dúinn a dhéanamh ar roinnt saghas de roinn dúbailte.
Agus is é seo ag dul a bheith thar a bheith tábhachtach nuair
ba mhaith linn a dhéanamh an oibríocht, mar gheall ar cad tá muid ag rá
Is gur gá dúinn chun i ndáiríre dhéanamh rannán ar dhá doubles.
Agus arís, mar gheall ar Swift Tá clóscríofa-láidir,
ní mór dúinn a leagtar go sainráite gach ceann de na míreanna a doubles roimh againn i ndáiríre
an fheidhm sin a oibriú.
>> Mar sin, d'fhonn dúinn go dhéanamh roinn dúbailte,
nach bhfuil sé go leor chun ach amháin de na míreanna a bheith ina dúbailte.
An bheirt acu a bheith ina dúbailte ionas tapa
a bheith cinnte go bhfuil an bhfuil cad ba mhaith linn a dhéanamh.
Mar sin, beidh muid a ansin typecast sainráite an tsuim a againn ríomh thuas
agus an líon de grád do doubles, agus ansin an fheidhm sin a oibriú agus a stóráil
go isteach an athróg nua, nó in áit an tairiseach nua ar a dtugtar an meán,
a mbeidh cén cineál, a shamhlú duit?
Double, yeah.
Mar sin, sa chás seo, táimid ag nach bhfuil a shonrú é
mar is féidir é a thuiscint ón oibriú cén cineál meán sonraí
Beidh.
Agus is é Swift maith go leor i gcoitinne faoi ​​a bheith in ann tátal a bhaint astu ar na cineálacha.
>> Ar mhaith leat a fheiceáil seo rith, nó is féidir liom a bogadh ar aghaidh?
Ba mhaith liom a choinneáil ag dul.
Ceisteanna ar bith ar aon cheann de seo?
Mór.
>> Anois, tá muid ag dul chun tús a fháil chun na feidhmeanna shainmhíniú maith stuff--,
agus cúpla de chineálacha eile atá uathúil Swift nach bhfuil tú
le feiceáil i dteangacha eile suas go dtí an bpointe seo,
ach tá siad i láthair i eile Teangacha go d'fhéadfá a fháil níos déanaí.
Mar sin, an chéad más mian leat a shainmhíniú fheidhm,
leat a shainiú sé leis an focal funky fheidhm, agus ansin an t-ainm fheidhm,
agus ansin i lúibíní, na hargóintí gur mian leat an fheidhm a glacadh.
Ní mór na hargóintí freisin specify-- generally--
Ní mór a shonrú freisin an cineál sonraí a bhfuil siad, ach amháin más féidir iad a bhaint mar thátal.
Agus beidh orainn a fheiceáil go beag caveat i díreach beagán.
>> Mar sin, sa chás seo, ní mór dúinn a fheidhm a dtugtar printGradeCount.
Táimid ag dul chun glacadh le variable-- nó in áit sa chás seo,
a constant-- dtugtar gradebook.
Agus tá sé ag dul a bheith ar cineál sraith de slánuimhreacha.
Anois tá rud éigin go bhfuil i ndáiríre tábhachtach anseo
gur mhaith liom tú a thuiscint.
Is é sin go bhfuil de réir réamhshocraithe, na hargóintí go bhfuil ionchur fheidhm seo
sainithe le eochairfhocal ligean intuigthe, rud a chiallaíonn nach féidir liom a mhodhnú seo a
athróg gradebook anseo.
Agus gur saghas ciall leis, toisc go bhfuil tú ag dul sonraí i.
Agus tú nach b'fhéidir mian sé a athrú ó faoi tú.
Is féidir a lua go sainráite go bhfuil an athróg trí chur
an eochairfhocal var anseo.
Ach is é sin le gotcha go bhfuil muid daoine faoi deara a bheith déanta san am atá thart
is é sin ghlac siad go bhfuil sé ag dul a bheith athróg nuair, i ndáiríre, é a
Is tairiseach.
>> Ceart go leor, mar sin anseo ansin, sa chás seo, nach bhfuil muid ag sonrú aon chineál ar ais.
Beidh muid ag léiríonn tú conas a dhéanamh gur i díreach nóiméad.
Ach faoi deara go bhfuil muid anseo ach simplí más riocht.
Má tá an gradebook folamh, atá sa chás seo
ach an maoin de chuid an slánuimhir eagar, ansin dúinn a phriontáil amach rud éigin.
Seachas sin dhéanaimid rud éigin eile.
>> Pretty simplí go dtí seo I mo thuairimse.
Ach stop a chur orm má tá aon cheist agat.
>> Anois an fheidhm seo, an meán, a thógann freisin roinnt argóintí, nó in áit argóint amháin,
a bhfuil an gradebook, agus an uair seo ag dul chun filleadh ar le cineál dúbailte.
Toisc go bhfuil sé á ríomh an meán agus tá sé
dul a thabhairt ar ais i ndáiríre go meán ríomh go dtí an líne ag glaoch.
>> Sa chás seo, ní mór dúinn a shonrú ar an ar ais cineál ndiaidh saighead.
Agus d'fhéadfadh sé seo a bhraitheann cineál aisteach ar dtús.
Tá tú tar éis fás accustomed a leagan ar ais
cineál roimh an t-ainm na feidhme.
Ach má cheapann tú de seo ó thaobh na matamaitice,
cosúil nuair a tá tú mhatamaitic a shainmhíníonn feidhm,
tá tú feidhm le roinnt ionchuir, agus táirgeann sé ar aschur.
Agus sin go díreach cad tá sé seo ceaptha a mimic.
Agus níl cúpla teangacha eile go bhfuil error den chineál céanna chomh maith,
ach is dócha go none tú atá le feiceáil i CS50.
Ach nach bhfuil fós a mheascadh aige.
Ciallaíonn an tsaighead cad atá ar siúl a chur ar ais sa chás seo.
OK, mar sin conas bhfuil muid ag dul a ríomh ar an meán?
Bhuel, más rud é an gradebook Is folamh, go maith ansin tá muid
dul ar ais 0, a b'fhéidir ar bhealach réasúnta chun cóir leighis seo.
Níl a fhios agam, a ligean ar teacht ar ais go dtí sin i beagán.
Ní fhéadfaidh sé seo i ndáiríre a bheith ina bhealach réasúnta
a ríomh ar an meán más rud ní mór dúinn gradebook folamh.
>> Ansin, beidh muid a dhéanamh ach ár suimiú.
Fógra go anseo againn i ndáiríre go mbeadh leagan malartach de
do lúb, a ligeann dúinn a iterate thar gach mír aonair i sraith
agus áit gach gné isteach ina athróg féin.
Trína shonrú le haghaidh ghrád i gradebook, cad tá muid ag rá
is é sin táimid ag dul chun hintuigthe a chruthú tairiseach nua ar a dtugtar
grád go bhfuil dul chun ionadaíocht a gach mír ar leith sa gradebook
gach uair go bhfuil an d'béim arís lúb.
Mar sin, an chéad uair a tá sé á reáchtáil, beidh ghrád
bheith ar an gcéad mhír sa gradebook.
An dara huair beidh sé a bheith ar an dara mír, mar sin de agus mar sin de
go dtí go mbeidh gradebook ídithe féin na n-eilimintí.
Ansin, beidh muid in ann a suim go ghrád isteach inár athróg shuimiú
agus seol ar ais ár n-an meán mar atá feicthe againn roimh.
OK, aon cheist?
Yes?
LUCHT ÉISTEACHTA: Tá mé dhá cheist.
Uimhir amháin, hypothetically is féidir, ritheann tú slánuimhir ar an gceann seo?
An bhfuil nach bhfuil a bheith ina dúbailte é, go ceart?
DAN AMRMENDARIZ: An féidir leat arís an cheist sin?
LUCHT ÉISTEACHTA: An féidir liom a dhéanamh slánuimhir mar an meán?
DAN AMRMENDARIZ: An féidir leat slánuimhir a dhéanamh mar an meán?
Mar sin, ar ais slánuimhir meán in ionad dúbailte?
>> LUCHT ÉISTEACHTA: Return-- tú tá an ceart sin anois thíos.
DAN AMRMENDARIZ: Ceart anseo, ar ais 0.0?
LUCHT ÉISTEACHTA: Yeah, ar ais ach 0.
Mar sin, beidh sé a bheith 80 nó 85, ach ní 85.2.
>> DAN AMRMENDARIZ: Mar sin, sa chás sin, mar sin níl cúpla bealaí éagsúla
a fhreagairt go.
Lig dom a fhreagairt dóibh in ord.
Mar sin, má tá mé a dhéanamh ach an tuairisceán seo 0, tá súil le 0 luach slánuimhir.
Agus mar sin beidh a bheith ina chúis le Earráid chineál do chás seo
toisc go bhfuil sé ag súil le dúbailte ach tá ag filleadh ansin slánuimhir.
Más mian liom a thabhairt ar ais slánuimhir, is féidir liom.
Is féidir liom a leagtar ar an gcineál ar ais a slánuimhir, ar ais 0 anseo,
agus ní a dhéanamh rannán dúbailte.
Ach ansin mhaith linn a bheith ag déanamh roinn slánuimhir.
Agus mar sin ní ba mhaith linn a fháil ansin an meán go mbeadh muid a bheith ag súil, b'fhéidir.
Ach tá is féidir linn a mhodhnú na cineálacha sa tslí sin.
>> LUCHT ÉISTEACHTA: Agus ar an dara, tú an Double ceann ar an mbarr.
Ach síos thíos, nuair a dhéanann tú dhéanamh ar ais Double Double,
go huathoibríoch cheana ag filleadh formáid Double.
Cén fáth a bhfuil gá duit fós a shainmhíniú le arrow ar barr le Dúbailte?
>> DAN AMRMENDARIZ: Mar sin, i gcás, is é an chuid
de the-- sin a dhéanamh arís ar an gceist, mar tá sé intuigthe as an tuairisceán
cineálacha anseo, cén cineál seo i ndáiríre is é, ní mór dúinn a bheith follasach le Swift
faoi ​​cad ba mhaith linn a ar ais amach as an fheidhm seo
ionas gur nuair a fheidhmíonn sé cineál seiceáil, is féidir é a dhéanamh cinnte
go bhfuil an méid atá againn scríofa i ndáiríre síos thíos gcomhréir iarbhír leis sin.
Mar sin tá sé saghas cosúil le seic leis féin saghas staid.
Ach tá are--
>> LUCHT ÉISTEACHTA: [inaudible] arrow?
>> DAN AMRMENDARIZ: Tá cásanna nuair is féidir linn a shonrú gur féidir linn hintuigthe
leag an cineál ar ais.
Ach sa chás seo, ní féidir liom cheapann a bheadh ​​ag obair.
Níl error éigin eile go beidh orainn a fheiceáil níos déanaí.
>> Ceart go leor, mar sin an fhoinse Is cód le beagán difriúil
toisc go parses sé seo hargóintí ó an fheidhm sin tá muid ag glaoch.
Lig dom léiríonn tú conas a oibríonn sé roimh sinn ag dul i ndáiríre ar
le roinnt rudaí suimiúla go atá ag tarlú i Swift.
>> Mar sin, sa chás seo, má ritheann mé díreach tar éis seo cód, faoi deara go bhfuil an méid atá sé ag déanamh
cé is--, sé de chineál ar Tugann dom earráid aisteach.
Is gá dom chun pas a dó cúpla slánuimhreacha mar argóint-orduithe.
Mar sin, a ligean ar a fheiceáil, 150 agus 80, agus bhuail Iontráil a fháil amach cad atá sé ag déanamh i ndáiríre.
Tá sé seo ag glacadh le gach ceann de na luachanna mar slánuimhreacha.
Tá sé seo ionchur dóibh isteach i gradebook.
Agus ansin tá sé ag feidhmiú go meán ríomh
agus outputting go mar ba mhaith linn a bheith ag súil.
>> Ach ar ndóigh níl rud éigin ag dul ar leis an rud ag diúltú
rud éigin mar slánuimhir.
Mar a d'fhéadfadh tú a thabhairt chun cuimhne ó nuair a bhí againn ag déileáil le hargóintí orduithe
i C agus i dteangacha eile, an chéad an- Ítim 0-ú sa argóint orduithe
tá liosta de na an t-ainm ar an ordú go fhorghníomhú againn i ndáiríre.
Mar sin, sa chás seo, tá mé ag looping díreach thar na hargóintí orduithe.
Ach níl mé ag déanamh aon saghas mhaisiúil seiceáil a scipeáil thar chéad cheann.
Tá mé díreach go sainráite nó go hintuigthe tá mé seiceáil cé acu de na cineálacha
Tá slánuimhreacha roimh mé i ndáiríre gníomh seo ríomh.
>> Agus sin go bunúsach cad atá ag tarlú anseo.
Le haghaidh gach argóint i argóintí ar an bpróiseas ar,
Tá mé ag dul a dhéanamh ar roinnt seiceáil.
Agus sa chás seo, tá mé ag dul chun iarracht a dhéanamh an chéad thiontú
go argóint i slánuimhir ag feidhmiú ar typecast follasach,
toisc go bhfuil sé, ar ionchur, ar shraith agus ní i ndáiríre slánuimhir.
>> Ach tá sé seo de chineál ar error aisteach, má bhíonn grád a ligean Int (argóint).
Cad atá ag tarlú i ndáiríre anseo tá an-
tábhachtach do baint úsáide as Swift.
Tá sé seo ag baint úsáide as cad atá ar a dtugtar cineál roghnach.
>> Mar sin, an fheidhm seo, Int (argóint), Filleann ní hamháin slánuimhir, ach tuairisceáin
cad atá ar a dtugtar slánuimhir roghnach.
Agus mar sin tá sé seo saghas i ndáil le cineál ar bharr chineál.
Is féidir leat saghas shamhlú sé cosúil tá sé ag filleadh mar a bheadh ​​pacáiste.
Agus nuair a osclaíonn tú go pacáiste, sé ceachtar
Tá slánuimhir, a bhfuil an toradh, nó tá sé fíor aon rud ann ar chor ar bith.
Agus tá sé seo úsáideach mar seiceáil earráid mheicníocht, mar gheall ar sa chás seo
Is féidir linn a fháil amach, ba é seo comhshó cineál rathúil?
Má bhí sé, ansin tá sé i ndáiríre ag dul go bhfuil slánuimhir taobh istigh.
Seachas sin tá sé ag dul go bhfuil roinnt luach go beidh muid ag glaoch nialas, a
atá ionadaíoch aon slánuimhir ar chor ar bith.
Tá sé i ndáiríre ionadaí de rud ar bith.
>> Agus mar sin seo más rud tógála ligeann dúinn a unwrap phacáiste sin,
go roghnach ceangailteach.
Agus má tá muid in ann a unwrap go pacáiste agus a fháil slánuimhir taobh istigh,
ansin cad tá muid ag rá anseo go déanfaimid ansin
a cheadú go luach a leagan isteach an tairiseach a dtugtar grád.
Agus seo an chuid sin den más ráiteas, an chuid barr an dá ráiteas
beidh sé ar siúl, mar gheall ar go Bhí unwrap rathúil.
>> Má tharlaíonn sé ach ionas go tharla earráid b'fhéidir
sa comhshó cineál follasach ó teaghrán go slánuimhir, b'fhéidir
tá sé an ABC luach mar shampla.
Agus sin i ndáiríre nach bhfuil ag dul a thiontú go slánuimhir.
Ansin beidh sé ar ais nialas, nach bhfuil slánuimhir.
Agus seo más rud é an ráiteas go maith theipeann ansin.
ghrád Ní bheidh ann mar gheall ar tá sé aon ábhar slánuimhir.
Agus beidh sé ar siúl ar an eile bloc ina ionad.
Yes?
>> LUCHT ÉISTEACHTA: Tá Nialas N-I-L?
DAN AMRMENDARIZ: nialas N-I-L, yes.
>> Mar sin, tá sé seo b'fhéidir ar cheann de na rudaí deacra faoi Swift,
go háirithe nuair a bhíonn tú i na fiailí ar app iOS
agus tá tú ag iarraidh i ndáiríre a dhéanamh ar roinnt forbairt ann.
Tá sé seo ag dul a bheith yelling ag tú faoi roghnach.
Tá sé seo ag dul a bheith ag iarraidh ort le haghaidh marcanna gceist agus pointí exclamation.
Ach nuair a figiúr tú out-- má tá tú roinnt ama a chaitheamh ar figuring amach
cad atá ar siúl le cineálacha roghnach, go mbainfidh tú a shábháil féin a lán de tinneas cinn
mar atá tú ag iarraidh a scríobh app i Swift.
>> Tá sé i ndáiríre gné an-chumhachtach.
Agus beidh sé agat ach a glac mo focal le haghaidh sé do anois.
Ach beidh orainn a fheiceáil an tógáil agus roinnt daoine eile maith liom é
i roinnt de na cód foinse eile beidh orainn léiríonn tú i ach beagán.
>> An bhfuil aon cheist tosaigh anseo?
Mar sin, is é an takeaway tábhachtach gur Is cineál roghnach saghas metatype.
Tá sé ceachtar luach, agus má dhéanann sé, ansin é
beidh an luach a bhaineann b'fhéidir leis, nó a bhfuil sé ar aon luach ar bith,
agus tá sé ionadaíocht ag nialas.
Is é an chuid eile den b'fhéidir mar a bheifeá ag súil.
>> Mar sin, a ligean ar rampaí suas an deacracht fós arís.
Agus an uair seo, a ligean ar ghlacadh le breathnú ar roinnt cineálacha eile sonraí atá ann i ndáiríre.
Is é ceann acu foclóirí, a bhfuil an-chosúil leis foclóirí Python.
Tá sé beagán cosúil le tábla hash i C. Tá sé bunúsach mapáil eochracha
nuair is féidir eochracha a teaghráin.
Agus nuair a fhéachann tú suas na heochracha, beidh na heochracha bhfuil luach.
Mar sin, nach bhfuil sé go leor le sraith, ach ina ionad sin, a bhaineann níos dlúithe
do léarscáil hash nó tábla hash.
>> A ligean ar a fheiceáil conas é seo ceaptha a bheith ag obair os againn i ndáiríre
dul isteach ar an cód foinse féin.
Má ritheann mé díreach tar éis seo, a tharlaíonn aon rud i ndáiríre.
Tá sé ag insint dom go bhfuil mé ag súil roinnt paraiméadair den chineál seo a leanas.
Mar sin, tá mé ag dul a chur ar fáil do sé roinnt ainmneacha fhadhb atá leagtha,
mar sin pset0, b'fhéidir fuair mé 100.
Agus pset1, fuair me 5.
Agus ansin ar an scrúdú, mé Rinne i ndáiríre go maith agus fuair 30.
Agus Oops, bhuail mé le spás anseo.
>> Nuair a bhuail mé Iontráil, is féidir leat a fheiceáil fheidhmíonn sé roinnt ríomh.
Deir sé go bhfuil gradebook trí grád, pset1, pset0, scrúdú.
Agus tá an gradebook an meán ar leith.
Mar sin arís, tá muid ag obair leis an smaoineamh gradebook,
ach táimid ag dul chun leanúint ar aghaidh iterating leis an chastacht ár fheidhm.
>> Mar sin, ag tosú, tá muid díreach ag dul a chruthú feidhm a
freagrach as priontáil an úsáid.
Agus níl an slí amach feidhm a thiocfaidh díreach
scor héigeanta an t-iarratas.
Ní hé seo an rud go Beidh tú ag úsáid i iOS app.
Tá sé seo ach amháin, sa chás seo, le argóint orduithe.
Next beidh muid tús a bogadh i dtreo Xcode.
Ach tá sé seo go sonrach le ordú clár stíl líne i Swift.
>> A ligean ar ghlacadh le breathnú ar roinnt de na na rudaí suimiúla anseo.
A ligean ar a fheiceáil, ach cúpla rudaí suimiúla a lua b'fhéidir
is é sin i mo fheidhm de priontáil ar líon na gráid,
d'fhéadfadh tú a thabhairt chun cuimhne go raibh mé an liosta sin de pset1 items--, pset0, agus scrúdú a dhéanamh.
Is féidir leat i ndáiríre go tapa agus go héasca seo a dhéanamh
ag cur an gradebook, a bhfuil Foclóir a bhfuil eochracha agus luachanna.
Aimsigh é gach ceann de na príomh-trí an modh eochracha ponc anseo,
agus ansin a bhaint as an joinWithSeparator, a bheidh ar ansin gach ceann de na heochracha
go raibh clóscríofa againn i, pset1-- nó tá brón orainn, pset0, pset1, agus exam--
agus iad a comhcheangail le chéile ag baint úsáide as camóg agus spás
a chruthú teaghrán fada amháin.
Is é seo an oibríocht a bheith páirteach go díreach phenomenally úsáideach i gcomhthéacsanna éagsúla.
Agus mar sin tá sé seo joinWithSeparator.
>> Agus is é an rud amháin go bhfuil athraithe ó Swift 1 go Swift 2.
Ní úsáidtear chun bheith ina Style-- python má tá tú
eolas maidir leis Python-- a Python Stíl páirt a ghlacadh modh ar teaghráin.
Ach is é sin a thuilleadh an cás sa Swift 2.
Ba mhaith leat a úsáid más mian leat chun comhcheangail le sraith de stuif
mar aon le teaghrán.
>> Mar sin, b'fhéidir ansin inár plé ar an meán roimh,
a dhéanann sé ciall le beagán níos mó le linn a shocrú ar an fheidhm meán
a bheith ina roghnach dúbailte in áit ná díreach an dúbailte follasach.
Toisc go raibh muid go coinníoll neamhghnách más rud é,
cad má gradebook iarbhír Níl aon luachanna laistigh de sé?
Cad ba chóir an tuairisceán meán?
>> Bhuel b'fhéidir i C tú Bheadh ​​bheith déanta rud éigin
cosúil ar fáil le luach fairtheora, ar nós 0.0, nó b'fhéidir uimhir dhiúltach,
nó rud éigin a ionadaíonn díreach ar an bhfíric go raibh roinnt coinníoll earráid
agus tú nach bhfuil i ndáiríre, b'fhéidir an cumas a ríomh go meán.
Bhuel an áilleacht a shonrú ar Bheadh ​​an cineál roghnach a bheith a dhéanamh.
Agus mé ag rá anois go léir na focail seo, ach seo nach bhfuil i ndáiríre a úsáid optionals.
Ach beidh orainn a fheiceáil go bhfuil i díreach nóiméad nuair is féidir linn a leagtar ar an meán
a bheith ina cineál sonraí roghnach ionas go má fhilleann sé i ndáiríre cuid de na sonraí, ansin
beidh muid ar ais go sonraí.
Seachas sin beidh muid ar ais nialas, ag rá go bhfuil an
Níl aon ríomh brí.
>> A ligean ar bogadh ar aghaidh go dtí rud éigin eile.
Mar sin, ó anseo, tá muid ag féachaint ar go léir na samplaí sa na n-orduithe.
Ach i ndáiríre cad bhfuil tú ag dul is é sin le bheith ag déileáil le Xcode.
Agus ceann de na rudaí deas faoi Xcode é, agus go háirithe i Swift,
Is go bhfuil muid an rud ar a dtugtar a Chlós Súgartha.
Agus is é a Clós Súgartha nach bhfuil ag gach app iOS.
Ach ceadaíonn sé duit a turgnamh le Swift ar bhealach an-éasca.
Is féidir leat cineál gach ceann de do chód.
Tá sé seo ag chomhréir béim nicely anseo.
Nuair a chruthú duit comhad nua, beidh sé a iarraidh tú más mian leat a chruthú Chlós Súgartha.
Ach an rud deas faoi an Chlós Súgartha is é sin ar an gceart do fuinneog,
dhéanann léiríonn sé i ndáiríre tú aschur ó do cód.
Mar sin má scrollú mé síos, is féidir linn a fheiceáil cad an t-aschur na línte éagsúla de chód
a tharlaíonn i ndáiríre a bheith.
>> Mar sin, sa chás seo, táimid ag dul chun treoracha a athrú ach beagán
agus labhairt faoi rud éigin go bhfuil i ndáiríre tábhachtach a thabhairt ar an mbealach seo ardleibhéil
go n-oibríonn Swift, agus é a tá sé seo smaoineamh dúnadh.
Agus tá tú ag feiceáil dócha seo le beagán i JavaScript.
Mar sin de tú go atá i CS50, dúnadh
Tá an-tóir orthu, ar bhealach an-mhaith a dhéanamh rudaí a leibhéal ard i dteangacha nua-aimseartha.
Ach tá sé chomh maith ar chineál an deacair a wrap do cheann ar fud an chéad uair.
Mar sin, má lorg tú ag an den chéad uair, go bhfuil ceart go leor.
Díreach breathnú ar an cód foinse agus a fheiceáil más féidir leat an figiúr sé amach sa bhaile.
>> Mar sin, sa chás seo, a ligean ar rá go bhfuil muid ag iarraidh a chruthú a lán de na léiritheoirí
le roinnt luach seasta.
Mar sin, sa chás seo is féidir liom a chruthú feidhm.
Tá mé ag dul a ghlaoch air cumhacht 2 críche sin a bhfuil a t-aon i saol
Is a chur roinnt ionchur agus dúbailte sé, agus seol ar ais go luach.
Fógra go anseo tá mé glacadh le cineál amháin sonraí.
Tá sé ag dul a bheith ina athróg ar a dtugtar x.
Tá sé de chineál Dúbailte.
Agus tá mé ag dul a thabhairt ar ais Dúbailte anseo.
Agus tá mé ag dul díreach a dhéanamh an-, frankly, deas
bhealach naive a dhúbailt an luach.
Agus beidh mé léiríonn tú cén fáth seo Is úsáideach i díreach dara.
>> Fógra go anseo ní mór dúinn an raon arís. as rud éigin i 1, ponc
ponc ponc, 2, rud a chiallaíonn go Beidh sé seo ar siúl faoi dhó lúb.
Ach léiríonn sé seo athróg Caochadán.
Ciallaíonn sé Níl mé ag dul i ndáiríre a bheith ag baint úsáide go athróg áit ar bith
taobh istigh den lúb.
Ba mhaith liom ach an líne seo de chód a rith faoi dhó,
gan gá go mbeadh a fhios an luach na raon.
>> Mar sin, sa chás seo tá mé ag rith toradh amanna x faoi dhó, a bunúsach
Ciallaíonn sé sin go bhfuil mé ag squaring an luach.
Agus a tharlaíonn sé seo a obair mar ba mhaith linn a bheith ag súil.
Cumhacht na 2, a rith luach de 2.0 thugann dúinn aschur de 4.
3.2 oibreacha 10.24.
>> Anois is féidir linn a dhéanamh den chineál céanna Rud do chumhacht de 3.
Ach a athrú anois ach an raon.
Le haghaidh athróg chaocha i 1 trí 3, iolrú 3 huaire,
agus a dhéanamh ar an rud céanna.
>> Mar sin, d'fhéadfadh sé seo a bhraitheann ar beag bréige.
Ach níl tábhachtach rud anseo a
is é sin ag féachaint ar na dhá fheidhm, níl
ach rud amháin go bhfuil difriúil, a bhfuil an luach sa réimse.
Gach rud eile mar gheall ar na dhá feidhmeanna, cumhacht 3 agus cumhacht de 2,
Tá, i ndáiríre, mar gheall ar an gcéanna siad ag obair ar an mbealach céanna.
>> Mar sin, ag an bpointe seo, beag Ba chóir clog aláraim a bheith ag dul amach.
Súil go dtosnódh cad tá tú ag rá, tá a fhios agat, mothaíonn sé seo le beagán
cosúil le dúbláil iarrachta.
B'fhéidir níl ar bhealach go mbeadh mé a bheith in ann a Cuach seo ar fad
agus a chur ar fáil feidhm nó a chruthú feidhm a
é go díreach cad ba mhaith liom gan de dhíth orthu a chlóscríobh sé amach go follasach.
Agus is é seo cad an chumhacht de dúnadh ligeann dúinn a dhéanamh.
Mar sin, a ligean ar ghlacadh le breathnú ar seo.
Agus beidh mé a chaitheamh ar feadh cúpla nóiméad ar an, mar gheall ar seo
Tá go leor tábhachtach do Swift.
Feicimid seo go léir an t-am.
Táimid ag dul chun feidhm a shainiú.
Sé ag dul a bheith ar a dtugtar powerOf.
Tá sé ag dul chun glacadh le paraiméadar a dtugtar y de chineál Int.
Ach a ghlacadh le breathnú ar an gcineál ar ais.
Is é an cineál ar ais, i lúibíní, Double arrow Dúbailte.
Rud a chiallaíonn go fheidhm seo, an powerOf fheidhm,
ag filleadh feidhm.
Is é sin glacadh Dúbailte agus ag filleadh ar Dúbailte.
Mar sin d'fhéadfadh go fuaim de chineál ar mire, ach ligean ar scrollú síos le beagán beag
agus breathnú a fheiceáil cad a tharlaíonn.
Tá muid taobh istigh den powerOf feidhme.
Táimid ag a chruthú feidhm nua ar a dtugtar exponentiator,
ach ní chuireann sé ábhar a bhfuil sé.
>> Fógra go bhfuil an luach ionchur x.
Agus tá sé ag cur i Dúbailte agus ag filleadh ar Dúbailte.
Agus is é seo an cód céanna go bhfuil muid Chonaic thuas, ach amháin go bhfuil an luach de 2
nó luach 3, go uachtair faoi cheangal sa réimse,
curtha in ionad le an luach y, a
bhí an paraiméadar tosaigh dár bhfeidhm powerOf.
Agus ag an bpointe seo, táimid ag ar ais exponentiator.
Táimid ag filleadh ar an fheidhm.
>> Tá sé cineál cosúil le séideadh aigne beag.
Ach a ligean ar a shamhlú cad a tharlaíonn nuair a ghlaonn mé an fheidhm seo powerOf
agus pas a fháil isteach é roinnt luach cosúil le 2.
Cad é ciallaíonn sé seo go Tá mé anois an luach
2 le haghaidh y, rud a chiallaíonn go bhfuil an luach y sa fheidhm exponentiator
Beidh an luach 2.
Ach tá mé ag filleadh ar an feidhm exponentiator.
>> Mar sin, faoi deara an méid a deir Swift I a chruthaigh sa chás seo.
a ligean Tá chearnóg sainmhíniú, tá sé feidhm a ghlacann le Dúbailte
agus tuairisceáin a Dúbailte.
Chruthaigh mé feidhm go cearnóga rud éigin
ag baint úsáide as an meicníocht seo ar dheis anseo.
Agus i ndáiríre cad atá ag tarlú é go bhfuil sé ag filleadh an fheidhm seo a
exponentiator, ach tá sé seo luach y Tá fillte taobh istigh de sé.
Agus mar sin anois gach uair a úsáideann mé an athróg nó an tairiseach a dtugtar
cearnach, tá sé sé ag dul iad féin a iompar mar fheidhm.
Agus mar sin is féidir liom glaoch ansin go athróg mar a ba mhaith liom glaoch feidhm,
agus pas a fháil isteach é a PO, mar sa chás seo 3.
Agus beidh mé cearnach ansin an luach.
Mar sin, 3 Beidh cearnógach ansin bheith 9, mar is féidir linn a fheiceáil anseo.
>> Tá sé an dÚsachtach, ach tá sé seo anois Ceadaíonn an deis dom
a chruthú feidhmeanna powerOf eile.
Cosúil féidir liom a rá, ceart go leor, go maith anois is mian liom a chruthú feidhm nua, powerOf (3),
agus a stóráil go isteach i ciúb a dtugtar tairiseach.
Agus anois tá ciúb dul a bheith ina fheidhm ar leith go mbeidh ansin
a chur roinnt luach mar ionchur agus ciúb go luach mar is féidir linn a fheiceáil ar an líne bun
anseo.
Tá ciúb de 2 ag dul a mar thoradh ar 8.
>> Stuif tá súil againn néata go leor.
Riamh tá tú ag feiceáil seo roimh.
Spreagadh mé leat chun breathnú isteach dúnadh agus imscrúdú a dhéanamh ar an beagán níos mó.
Tá sé seo stuif i ndáiríre cumhachtach a fheicimid go leor i JavaScript agus roinnt teangacha eile.
Tá sé i ndáiríre ríthábhachtach chun APIs tuiscint chomh maith
go beidh orainn a fháil sa ach an dara.
Yes?
>> LUCHT ÉISTEACHTA: Nuair a dhéanann tú powerOf (2), lúibíní, agus ansin
lúibíní eile, input-- eile bhfuil tú ag ionad go bunúsach ar an chearnóg.
DAN AMRMENDARIZ: Mar sin, breathnú ag an líne an-dheireanach anseo.
Tá sé i ndáiríre go hiomlán indéanta é sin a dhéanamh shlabhrú mar a mhol tú.
Mar sin, (5) Ciallaíonn powerOf go bhfuil muid ag dul go mbeadh exponentiator de 5 suas anseo.
Mar sin, tá sé seo go bunúsach ag dul a bheith ar an rud céanna le 4 go dtí an cúigiú chumhacht,
mar gheall ar tar éis a cruthaíodh againn exponentiating feidhmiú go dtí an cúigiú chumhacht,
agus tá muid ag dul isteach go feidhmiú an luach 4.
Agus a fháil againn go luach go táimid ag súil, 1024.
LUCHT ÉISTEACHTA: Agus nach bhfuil sé ina ainm, ionas go ndéanann sé níos éasca
a léamh, an chearnóg is cuma cad.
>> DAN AMRMENDARIZ: Ceart, go díreach.
Mar sin, roimh chuir mé díreach tar éis é isteach i tairiseach anseo mar sin
go ndearna sé sé éasca a úsáid an ainm sin.
Yes?
>> LUCHT ÉISTEACHTA: Sa chomhthéacs seo powerOf, tá sé mar chuid
na teanga cláir le hais an mbealach tú
smaoineamh ar powerOf i [inaudible]?
DAN AMRMENDARIZ: Mar sin, sa chás seo, powerOf
Is é ach ainm an fheidhm a shainmhínítear mé suas anseo.
Mar sin, nach bhfuil sé is gné dhílis de go dtí an teanga féin,
ach ina ionad sin, tá sé ach feidhm go bhfuil
ainm sin toisc go bhfaighidh mé é an ainm sin.
Ceisteanna ar bith eile?
Ceart go leor.
>> Anois tá sé seo iontach.
Ach nach bhfuil tú ag dul a fheiceáil lán de na feidhmeanna dúnta go
Tá mar seo áit a shainmhíniú tú, taobh istigh fheidhm amháin, feidhm eile.
Agus is féidir leat é a dhéanamh.
Ach tá sé de chineál nach i ndáiríre is gá, ceart?
Cosúil cén fáth a bhfuil mé a shainiú seo fheidhm a dtugtar exponentiator
agus ansin ar ais láithreach é.
Cén fáth nach féidir liom láithreach díreach ar ais an fheidhm seo?
>> Agus go deimhin, tá sé seo go beacht an smaoineamh taobh thiar de choincheap a dtugtar
feidhmeanna gan ainm, i gcás ina nach bhfuil na feidhmeanna gan ainm i ndáiríre
bhfuil ainm toisc go bhfuil siad Ní gá go mbeadh ceann amháin.
Agus mar sin sa chás seo, i 7B, Is féidir linn teacht ar go beacht sin.
Tá sé ar fad an cód céanna, é go díreach an rud céanna,
ach anois tá muid athraigh sé beagán mar sin go bhfuil an fheidhm powerOf láithreach
tuairisceáin feidhm.
Fógra go bhfuil tar éis filleadh, níl an lúibín curly oscailte.
Tá sé seo ag súil an ionchur Dúbailte.
Tá sé ag súil go-aschur Dúbailte.
Agus ansin an eochairfhocal i scarann ​​an cód féin.
Mar sin, is é seo feidhm gan ainm.
Ní chuireann sé i ndáiríre t-ainm, ach sula raibh sé ar a dtugtar exponentiator.
Ach mar a chonaic muid, ach i ndáiríre Ní raibh tagairt do exponentiator
lasmuigh na feidhme sin.
Mar sin, ní raibh sé ábhar.
Mar sin, tá an fheidhm gan ainm mar a thugtar air toisc go bhfuil sé nameless,
ach tá sé á úsáid go fóill i gcomhthéacs an cód seo.
>> An chéad cinn lánúin Tá mé dul chun leanúint ar súil againn
séideadh d'intinn le beagán.
Is féidir linn a shimpliú seo fiú níos mó.
Mar gheall ar mar a bhí go géarchúiseach fios níos luaithe,
b'fhéidir a fhios againn i ndáiríre, ag inferring as cód seo, cad
Tá an t-aschur cód seo ag dul a bheith.
Agus go deimhin, ar an fheidhm gan ainm, is féidir linn a tátal a bhaint astu i ndáiríre na cineálacha sonraí.
>> Mar sin, i gceann seo, againn a thuilleadh Ní mór a shainmhíniú go sainráite
an cineál sonraí go á ionchur agus aschur ó fheidhm seo
ar feadh cúpla cúiseanna.
Is é ceann go atá againn sainithe, suas ag an fhréamhshamhail na feidhme iamh,
cén cineál na sonraí seo gan ainm Ba chóir feidhm ionchur agus aschur.
Agus ó na eile, táimid ag Is féidir tátal a bhaint astu as an cód
síos anseo go bhfuil muid ag glacadh ionchur atá de chineál Dúbailte
agus ag filleadh ar Dúbailte.
>> Fógra go anseo nach bhfuil muid go sainráite sainithe ainmneacha na hargóintí
go bhfuil an fheidhm seo a glacadh.
Agus mar sin linn a fheiceáil gur féidir linn a tharchur chuig na paraiméadair ag baint úsáide as $ 0, $ 1,
mar sin de agus mar sin de, ag brath ar líon na bparaiméadar sin a úsáideadh
i fheidhm seo.
>> Is é an rud go bhfuil tú ag dul a fheiceáil go bhfuil go leor seo lúibín chatach oscailte
sainmhíniú dhiaidh sin ag $ 0, agus ansin roinnt oibríocht,
agus ansin scriosaidh chatach dúnta.
Is é sin feidhm gan ainm a dhéanann an oibríocht.
Tá sé seo i gcás ina paraiméadar tá sé go bhfuil cineál thátal.
Is é sin an chéad paraiméadar $ 0.
Agus tá roinnt oibríocht ag tarlú ar $ 0.
>> LUCHT ÉISTEACHTA: Mar sin, an comhartha Dollar Ciallaíonn paraiméadar bunúsach,
agus ciallaíonn 0 an chéad cheann?
DAN ARMENDARIZ: Sin ceart.
Mar sin, ciallaíonn an comhartha Dollar bunúsach paraiméadar, agus ciallaíonn 0 an chéad cheann.
Ach oibríonn sé go sonrach i chás seo i gcás nach bhfuil mé ainmnithe
na hargóintí i m'fheidhme gan ainm.
>> LUCHT ÉISTEACHTA: An bhfuil Perl nó rud éigin go bhfuil seo a shíniú dollar, dollar 0 i ann?
DAN ARMENDARIZ: An bhfuil a, Tá brón orm?
LUCHT ÉISTEACHTA: An bhfuil Perl bhfuil an dollar 0, dollar 1--
DAN ARMENDARIZ: Níl mé ró-eolach ar Perl,
ach PHP sainmhíniú ar cad athróg bunaithe ar comharthaí dollar.
Agus d'fhéadfadh go mbeadh roinnt teangacha a bhfuil gnéithe mar seo.
Go deimhin, iasacht Swift ar lán de na gnéithe mar seo
ó a lán teangacha eile.
Feicimid leideanna de Python ann.
An sainmhíniú ar chineál cosúil le teacht as OCaml.
Agus ní mór dúinn ach a bunch iomlán de stuif ó go leor teangacha éagsúla.
Sin ceann de na deas rudaí faoi Swift
is go dtógann sé a lán de na fearr smaointe ó a bunch teangacha
agus shoehorns iad go léir le chéile i dteanga Super amháin.
Go deimhin, má cheadaíonn duit dom leanúint ar aghaidh ag séideadh d'intinn,
mar sin tá muid ag déanamh seo ar fad.
Is féidir linn a shimpliú b'fhéidir seo beagán beagán le a bhaint amach go, ar ndóigh,
Swift Tá exponentiating fheidhm a tógadh i.
Má allmhairiú mé Darwin, a ach an leabharlann go
Gnéithe fheidhm a dtugtar an Filleann POW, anois Is féidir liom a shimpliú mo chumhacht fheidhm
a bheith ar an méid seo a leanas.
Tá sé ag dul a bheith ag filleadh an fheidhm gan ainm.
>> Ach breathnú ar conas simplí go bhfuil sé seo anois.
Is é seo feidhm gan ainm go ag glacadh roinnt de chineál sonraí,
agus tá sé ag dul a bheith ar cheann argóint go sonrach,
tagairt ag $ 0 go bhfuil de chineál Dúbailte.
Tá sé ag dul a thabhairt ar ais Dúbailte cineál.
Ach an tuairisceán ráiteas Is intuigthe anois.
>> Agus tá sé an stíl cruinn go Tá an-, an-forleithne i Swift,
ar fud na háite.
Táimid ag dul chun an doiciméad seo an t-am i Swift.
Mar sin, tá mé ag taispeáint go léir seo a tú mar gheall ar seo error.
Tá sé seo an-choitianta a fheiceáil, rud a chiallaíonn sé
Is feidhm gan ainm atá ag feidhmiú
roinnt ngníomh na hargóintí.
Agus tá tuairisceán intuigthe.
Mar sin, tá sé go hiomlán ar an rud céanna dúinn a rá seo, ar dheis anseo.
>> Mar gheall ar seo chatach Is lúibín feidhm,
tá muid an gníomh seo a oibriú ar an gcéad argóint.
Táimid ag dul a thabhairt ar ais go.
Ach tá sé seo tuairisceán seachtrach ag filleadh feidhme sin ar fad,
feidhme sin ar fad gan ainm go atá againn a cruthaíodh go díreach.
Ceisteanna ar bith eile?
Ceart go leor, níl a fhios agam má tá tú guys réidh le haghaidh seo,
ach is féidir linn dul fiú crazier le Swift.
Tú réidh?
OK, tá sé seo iontach.
>> Anois, tá muid i ndáiríre an cumas go, i Swift, gheall ar an gcaoi modúlach
agus conas atá bunaithe prótacal bhfuil sé, go shainmhíniú ár n-oibreoirí freaking féin.
Cosúil sa chás seo, bhí againn aon oibreoir exponentiation-- maith,
le haghaidh chomhlíonadh cumhachtaí rud éigin.
Ach is féidir liom, i Swift, a shainiú nua oibreoir go ndéanann beacht sin.
Mar sin, sa chás seo níl a bunch de chomhréir anseo.
Agus beidh mé deis a thabhairt duit chun breathnú ar sé sa bhaile nuair a fhéachann tú ar an.
Ach tá muid ag sainiú an Infix oibreoir, **, a ligfidh ansin dúinn,
trí shainmhíniú cad a fheidhm ** iarbhír
ní, glacadh le lámh chlé taobh agus a thaobh na láimhe deise,
agus ansin a thabhairt ar ais ar an easpónant sin thaobh na láimhe clé go dtí an taobh na láimhe deise.
>> Agus mar sin anois go léir a tobann mé chruthaigh uimhreoir nua.
Mar sin, 2 ** 3 ciallaíonn 2 don tríú cumhachta.
[GCUIMHNE SOUND BLOWING] seo trí ba chóir é féin a dhéanann tú a bheith cosúil le,
OK, scriú C. Tá mé ag dul Swift léir ar an mbealach.
Tá sé seo iontach.
Tá sé seo deas iontach.
>> Cé go bhfuil sé seo sampla iontach.
Ach tá mé riamh uair amháin taobh amuigh den sampla seo i ndáiríre
shainmhínítear mo oibreoir féin.
Ach fós, léiríonn sé ina go leor de an chumhacht de Swift
agus cén fáth go bhfuil sé seo i ndáiríre i ndáiríre an-cool.
OK, yes?
LUCHT ÉISTEACHTA: Má tá tú a shainiú do oibreoir féin,
cén chaoi a fhios agat nach bhfuil tú thaisme iarracht a dhéanamh agus oibreoir go chruthú
i áit éigin i C, cosúil le i bhfolach áit éigin i Swift,
cosúil le ceann doiléir go bhfuil tú Ní féidir a bheith le feiceáil roimh.
>> DAN ARMENDARIZ: Mar sin, má tá tú ag iarraidh a shainiú do na hoibreoirí féin,
tá an baol a shainiú amháin thar oibreoir atá ann cheana féin.
A théann isteach i leibhéal mionsonraí go Ní dóigh liom go mór dúinn am chun dul thar.
Ach is é sin an baol.
Agus is é sin i ndáiríre an chúis an-cén fáth Ní raibh mé úsáid as an tsiombail caret, a
nuair a bhíonn muid ag clóscríobh amach cumhacht, againn de ghnáth Úsáideann 4 carait beag 5 nó rud éigin
mar sin, ach nuair a bhíonn muid Cairde nó pé rud Gchatting.
Ach sa chás sin, go hiarbhír Bheadh ​​ba chúis imbhualadh.
Agus mar sin a sheachaint mé sé ach mar gheall ar Tharla mé go mbeadh a fhios sa chás seo
go mbeadh a bheith ina chúis go imbhualadh.
>> Ceart go leor.
Anois ar an drochuair, le haghaidh na seacht nóiméad deireanach,
Tá mé séideadh a choinneáil do intinn le beagán.
Mar sin, deis dom a thaispeáint duit roinnt rudaí eile chomh maith.
>> Táimid tar éis léirithe tú an smaoineamh a bhfuil na feidhmeanna gan ainm,
na dúnadh a ligfidh tú chun de chineál ar feidhmeanna pas timpeall.
Is féidir leat iad ar ais.
Is féidir leat iad a ionramháil.
Is féidir leat a dhéanamh gach cineál rudaí ar mire.
>> Ach rud amháin eile a tharlaíonn a bheith úsáideach
Tá an cumas chun, seachas filleadh na feidhmeanna sin
i feidhm, chun pas a fháil le feidhm mar pharaiméadar chun feidhm eile.
D'fhéadfá a bheith ag smaoineamh maith cén fáth ar an Domhan Ba mhaith liom iarraidh rud éigin mar sin a dhéanamh?
>> Bhuel, a ligean le rá gur mhaith liom a ghlacadh oibreoir seo go bhfuil mé
d'oibrigh chomh crua chun a chruthú agus iarratas a sé le bunch na n-uimhreacha éagsúla
i sraith.
Mar sin, sa chás seo tá mé le sraith de integers-- 1, 4, 7, 2, 5, 10, 56.
Agus ba mhaith liom a dhúbailt iad go léir.
An bealach go ba mhaith linn go hiondúil dhéanamh go bhfuil sé a scríobh ach
simplí do lúb go béim arís thar gach ceann acu
agus comhlíonfaidh sé de chineál éigin oibriú cearnach os a gcionn,
ionchur na luachanna nua isteach i nua athróg, nó in áit, le sraith nua anseo.
Agus luach an aschuir na Is toradh sin gach ceann de na arrays,
nó in áit gach ceann de na eilimintí cearnaithe anois.
>> Agus d'fhéadfadh linn a dhéanamh ar an gcéanna rud cubing é,
ach le clog aláraim beag Ba chóir a bheith ag dul amach
ag rá go b'fhéidir níl ar bhealach éigin go ba mhaith linn
a bheith in ann a shimpliú seo le beagán.
Agus go deimhin tá.
Cad a tharlaíonn má d'fhéadfadh muid a chruthú feidhm a ligeann dúinn
glacadh, mar creachadóir, feidhm?
Mar sin, sa chás seo, a chur le féachaint ar na hargóintí.
Táimid ag dul chun glacadh liosta de doubles.
Agus ansin táimid ag dul glacadh le feidhm
i athróg ar a dtugtar f go bhfuil dul a ghlacadh Dúbailte agus seol ar ais ar Dúbailte.
Agus an t-aschur ar fad den fheidhm ar fad
ar a dtugtar mapper ag dul go dtí ar ais le sraith a dtugtar dúbailte.
>> Cad é a cheadú ansin sé seo dom dhéanamh ná a iterate thar liosta sin
agus a dhéanamh ar an rud céanna, ach anois iarratas a dhéanamh ar an fheidhm sin ar gach
de na luachanna aonair sa liosta sin.
Mar sin níl a fhios agam i ndáiríre cad é f.
Ní chuireann sé ábhar a thabhairt dom.
Ach fad a thógann sé i Dúbailte, fheidhmíonn roinnt oibríocht ar sé,
agus ansin ar ais ar Double, ba mhaith liom a bheith ansin
in ann a mhapáil go feidhm ar fud gach gné amháin ar an liosta.
>> Agus is é an cineál seo de chláir ar a dtugtar feidhmeanna ord níos airde,
i gcás ina bhfuil muid ag dul feidhmeanna timpeall mar pharaiméadair
agus rudaí a dhéanamh le feidhmeanna.
Tá sé saghas cosúil le cur gach ceann de na smaointe go atá foghlamtha againn i CS50
agus iad a cur saghas de go dtí an chéad leibhéal eile.
Agus is é seo go léir stuif stíl CS51.
Agus mar sin beidh muid ag dul go domhain níos mó i ranganna mar sin.
>> Ach tá sé seo freisin tábhachtach anseo mar gheall orainn
fheiceáil go leor de na feidhmeanna a úsáidtear i Swift
go bunúsach a dhéanann seo, áit a bhfuil muid
roinnt uimhreacha, roinnt sraith de uimhreacha.
Táimid ag dul chun pas a fháil go sraith isteach inár mapper.
Agus táimid ag dul freisin chun pas a fháil ar roinnt fheidhm, a
againn sainithe cheana féin suas anseo.
Tá sé ag dul a bheith cearnach.
Agus táimid ag dul chun shin cearnach gach ceann de na huimhreacha
agus a stóráil go isteach an toradh anseo.
>> Mar sin, chás seo tá muid sainmhínithe ár fheidhm féin ar a dtugtar mapper.
Ach is é an rud cruinn, i ndáiríre, a tógadh isteach Swift.
Tá éagsúlacht de feidhmeanna ar a dtugtar léarscáil.
Níl feidhm léarscáil, níl a laghdú fheidhm,
agus níl feidhm scagaire, a bhfuil feidhm acu go bunúsach feidhmeanna
gach gné amháin i liosta chun iad a mhodhnú ar bhealach éigin.
>> LUCHT ÉISTEACHTA: Mar sin, ós rud é go bhfuil tú ag athrú na sonraí i bhformáid eile
trí function--
DAN ARMENDARIZ: Ceart.
Yeah, mar sin an fheidhm go bhfuil muid ag glacadh
Tá athrú ar na sonraí ar bhealach éigin.
Sa chás seo, bhí muid ceachtar squaring, nó bhí muid ag cubing é,
nó i ndáiríre, d'fhéadfadh muid a dhéanamh aon oibríocht ar sé ar chor ar bith.
>> Ach lig dom a thaispeáint duit ansin conas an ag dul chun breathnú i gcleachtas.
Agus arís, tá mé ag rith beagán ama. mar sin nach bhfuil mé
ag dul a bheith in ann dul thar gach ar an cód foinse anseo go mion.
Ach a spreagadh mé tú a dhéanamh sin.
Beidh muid phost é chomh luath agus is is féidir tar éis an chaint.
>> Ach má tá tú le breathnú ar seo, glacadh leis go bhfuil muid liosta de uimhreacha,
le sraith de uimhreacha sa athróg a dtugtar uimhreacha.
Ansin, ba mhaith linn chun an gníomh seo oibríocht scagaire ar na huimhreacha sin.
Mar sin, tá scagaire níos airde fheidhm a ordú go
Glacann sraith agus chomh maith le feidhm.
Agus ar gach gné sa mhéid is go eagar, a chomhlíonann sé feidhme sin.
>> Más rud é go tuairisceáin fheidhm fíor, go gcoinníonn sé go mír.
Má fhilleann feidhme sin bréagach, throws sé ar shiúl go mír.
Agus ansin tuairisceáin sé liosta go bhfuil déanta ansin suas go léir
de na míreanna atá scagtha.
>> Mar sin, i bhfocail eile, tá sé seo an smaoineamh céanna, an gradebook.
D'fhéadfadh muid bheith acu ar éagsúlacht de grád isteach sa luach a dtugtar an uimhreacha.
Níorbh fhéidir a bheith 100, agus 70, agus 40, mar sin de agus mar sin de.
Cad a dhéanann an scagaire is fógra go bhfuil sé seo go siúcra syntactic
le haghaidh feidhm gan ainm.
Is é seo feidhm ag rá gan ainm go bhfuil an paraiméadar go bhfuil mé ag glacadh
ag dul a bheith, más rud é níos mó ná 70,
ansin beidh sé seo ar ais fíor, rud a chiallaíonn go Beidh ítim sin a choinneáil i an scagaire.
Mar sin, a ligean ar a bheith le beagán níos nithiúla faoi seo.
Má tá mé an sraith de uimhreacha agus tá sé comhdhéanta de 100, 70, agus 40,
Dhéanamh mé an scagaire ngníomh ar gach ceann de na.
Mar sin, tá go bhfuil an chéad cheann an luach de 100.
100 mó ná nó cothrom go 70 Is fíor, a
Ciallaíonn sé sin go bhfuil 100 choinneáil i an chóip nua den eagar.
70 Gabhann freisin.
Ach nach bhfuil 40.
Mar sin, cad atá ar ais i passingCount Is é an sraith na n-eilimintí 100 agus 70--
100, camóg, 70.
Bhí Glacfar na ach dhá míreanna coinníodh go.
Agus mar sin an chúis a chuaigh mé go tapa trí a lán de na chineál ordaithe ard
tá rudaí mar is é seo go coitianta rud go mbeidh tú a fheiceáil i go leor Swift
go minic, ag comhlíonadh roinnt oibríocht baint úsáide as an error an fheidhm gan ainm.
>> Níl roinnt rudaí cool.
Tá lasca ndáiríre cumhachtach i Swift, Ciallaíonn mé díreach cosúil dÚsachtach, dÚsachtach cumhachtach.
Is féidir leat é a úsáid lasc, agus is féidir leat iarratas a dhéanamh i ndáiríre iad
do raonta, a bhfuil de chineál ar mire, agus a dhéanamh stuif mhaisiúil mar sin.
>> Ach i an nóiméad beaga anuas, Ba mhaith liom a skip amach romhainn go leor i bhfad
agus a thaispeáint duit sampla ar leith ar conas Is féidir linn a chruthú i iOS app ag baint úsáide as Swift.
Mar sin, nuair tú ag déanamh seo, beidh ort a ghlacadh
a breathnú at-- ar Apple doiciméadú, siad
a lán de na ranganna teagaisc gur maith a chruthú le haghaidh do chéad iarratas.
Agus a spreagadh liom tú a dhéanamh gur toisc go nglacfaidh siad tú
tríd na céimeanna go díreach le cad cliceáil ar a chruthú iarratas iOS.
>> Ach anseo ní mór dúinn an app iOS.
Agus tá sé ina app simplí go leor i ndáiríre.
Má ritheann mé seo, lig dom a thaispeáint agat cad tá sé cosúil.
Gach a dhéanann sé go bunúsach go bhfuil sé pulls as an idirlíon comhad JSON
go bhfuil mé stóráil ar fhreastalaí.
Agus sin comhad JSON Sainmhíníonn íomhánna a chuireann ar chumas
dom ansin timthriall trí, ar mo app, íomhánna ó mo fhreastalaí gréasáin.
>> Mar sin, tá mé anseo getNextImage.
Ualaí a eascraíonn sé íomhá as an idirlíon, agus ansin léiríonn sé ar an scáileán.
>> Mar sin, tá sé simplí go leor.
Ach tá an sprioc anseo chun a thaispeáint tú conas is féidir linn rudaí a chur le chéile
as na seachtainí deiridh de CS50 isteach iarratas iOS iarbhír.
I bhfocail eile, b'fhéidir ar cheann de na rudaí go mbeidh tú ag iarraidh a dhéanamh
Is a bheith acu ar iarratas iOS go Is féidir na sonraí a tharraingt as an idirlíon
agus léiríonn an t-úsáideoir roinnt eolais.
Is é sin go hiomlán an bpointe den cód foinse anseo.
>> Mar sin níl a lán a rá faoi conas a dhéanamh ar fhorbairt iOS iarbhír.
Tá a lán de error dÚsachtach nach bhfuil feicthe againn go leor go fóill
cosúil le rang, cad is aicme ndáiríre.
Is féidir linn neamhaird a den chuid is mó go thuras na huaire.
>> Ach faoi deara go bhfuil muid le fáil laistigh den éagsúlacht na rudaí
go atá againn le feiceáil cheana féin ar nós feidhmeanna go bhfuil ainmneacha sonracha.
Agus nuair a thabhairt dóibh siúd feidhmeanna na hainmneacha cearta
a bhfuiltear ag súil ag iOS, i ndáiríre Mothaíonn sé seo le beagán draíochta.
Ach nuair a chruthú duit iarratas iOS, tá
Tá ainmneacha feidhm ar leith a Tugtar ag an bhfón féin
mar go bhfuil an t-iarratas luchtú chun iarracht a chruthú ar an bpróiseas sin i ndáiríre
Ritheann d'iarratas.
Mar sin arís, níl a lán de na rudaí a bhfuil mé a snasta thar anseo d'fhonn dúinn
chun labhairt faoi seo go sonrach.
Ach a spreagadh mé leat chun breathnú ar b'fhéidir an seimineár iOS eile, ach freisin roinnt
den líne ranganna teagaisc a dhéanamh post i bhfad níos fearr cur síos
an t-eolas ar leith.
>> Ach is féidir linn a fheiceáil cúpla rudaí a suimiúil ó na cód anseo.
Fógra go bhfuil muid má ráitis.
Dála an scéil, ceann tábhachtach rud faoi má ráitis
is é sin an lúibíní ar fud an Tá slonn Boole roghnach.
Ach nach bhfuil na braces gcuach roghnach, is cuma cé beag nó go leor línte de chód
tá tú i más rud é ráiteas.
Ní féidir leat a bheith ar ráitis má gan braces gcuach i Swift.
>> Agus é seo, go maith, saghas amaideach.
Ach níl chúiseanna stairiúla sin.
Tá sé seo ceaptha a shábháil tú as duit féin.
Mar seo, mar shampla, ní féidir leat deireadh a chur leis na braces gcuach timpeall go
más rud é ráiteas.
Glacfar iad i ndáiríre ag teastáil.
Mar sin, a spreagadh mé leat chun chur le breathnú ar seo.
Ach níl ceann níos mó thógáil gur mhaith liom
a thaispeáint duit faoi Swift go Is nua go Swift 2.0 i gcomparáid
le leaganacha níos sine de Swift, a bhfuil an méid seo a leanas.
A ligean ar a fheiceáil nuair a raibh mé é a chur anseo?
>> Mar sin, i fheidhm seo ar a dtugtar fetchJSON, an fheidhm seo
freagrach as tarraingt go JSON comhad ó URL, a tharlaíonn ach mar sin
a bheith ag rith ar mo IDE CS50.
Thosaigh mé díreach tar éis Apache, a chur ar mo chomhad JSON ann,
agus tá mé in ann tarraingt ansin go sonraí ón idirlíon ag baint úsáide as
an fheidhm seo agus URL seo, atá ar fáil ag an bhfón.
Tá sé seo ar fáil ag leabharlann a úsáideann tú nuair
tú ag déanamh roinnt forbartha app iOS.
>> Fógra anseo go bhfuil sé seo neamhghnách thógáil comhréire a dtugtar garda.
Agus i ndáiríre go léir é seo i Is Swift bhealach chun a fhíorú
go bhfuil roinnt rudaí a comhlíonta sula tú
dul ar aghaidh leis an gcuid eile den fheidhm.
Go bhféadfaí mé a bheith acu, ag baint úsáide as an cineál roghnach,
Raibh mé in ann a fuair an URL ag reáchtáil an fheidhm NSURL
agus a stóráil go isteach URL tairiseach, agus ansin seiceáil
a fheiceáil má bhí URL nialas, mar gheall ar é a bhí ag dul a thabhairt ar ais ar chineál roghnach.
Agus má bhí sé nialas, ansin ba mhaith liom phriontáil amach earráid agus ansin ar ais.
>> Ach ina ionad sin, ligeann cén garda dhéanann dúinn go bhfuil an rud an-,
ach a chinntiú go bhfuil sé iarbhír an cháis gur url
curtha i gceart ag NSURL.
Agus má tá sé, ansin é skips níos mó ná seo, agus é a
Beidh deis a thabhairt duit dul ar aghaidh le url bheith sainithe i gceart.
Ach má tá sé an cás go Níl url sainithe go cuí,
má tuairisceáin an fheidhm seo earráid nó rud éigin eile gan choinne
i ndáiríre a tharlaíonn, an garda thógáil ligeann dúinn a ansin aschur go earráid
agus seol ar ais láithreach.
Yes?
>> LUCHT ÉISTEACHTA: Mar sin tá sé de chineál de cosúil le más rud é sin eile?
DAN ARMENDARIZ: Tá sé de chineál cosúil le más rud é sin eile, tá,
ach amháin go bhfuil sé seo url sin sainithe do gach rud faoi bhun seo.
Má théann sé seo garda, ansin é Beidh a líonadh i ndáiríre le sonraí
agus inúsáidte sa fágtha cód foinse i do fheidhm.
Mar sin, doigh liom go bhfuil tú ag dul go dtí tús a fheiceáil ar an garda chomh maith.
Agus a bheith aireach ar sin.
>> Mar sin, ach ag féachaint ar feadh cúpla eile rudaí, is é an ceart seo anseo cad,
a cheapann tú, ach bunaithe ar an méid bhí muid ag caint faoi roimhe seo?
>> LUCHT ÉISTEACHTA: Smaoinigh go mbainfidh sé ar siúl ar an liosta?
>> DAN ARMENDARIZ: Mar sin tá go dlúth.
Is é seo an fheidhm go bhfuil muid ag sainiú.
Agus tá muid ag ionchur feidhme sin mar argóint leis an fheidhm seo anseo.
>> LUCHT ÉISTEACHTA: [inaudible] más rud é nach nialas.
Mar sin tá sé ar an liosta, ceart?
>> DAN ARMENDARIZ: Mura bhfuil earráid nialas, ionas is-- go ionas go mbeidh mé a scrollbharra.
Bhuel, a ligean ar féach, ní féidir liom i ndáiríre scrollaigh do cheart anseo.
Is earráid argóint atá á ar aghaidh chuig an fheidhm gan ainm.
Is é seo feidhm gan ainm.
Tá sé aon ainm.
Ach tá muid ag glacadh na trí argóintí, sonraí, freagairt, agus earráid.
Agus tá sé ag dul a thabhairt ar ais ar neamhní, mar sin níl sé ag dul chun aon ní a thabhairt ar ais.
Agus is é seo an t-ábhar na feidhme sin.
Agus ansin go mbeadh rochtain taobh istigh go bhfuil muid feidhm le gach ceann de na hargóintí.
>> Mar sin, tá sé ina whirlwind turas ar an teanga.
Ach tá súil agam leis seo, tá súil againn a ghlacann tú
le breathnú ar roinnt de na ranganna teagaisc go sonrach le forbairt iOS le Swift,
go háirithe má théann tú go dtí Page-- gréasáin úll ar bhforbróir
tá siad a lán de gur maith ranganna teagaisc chun tús a thabhairt duit.
Ach tá súil againn ach an uair an chloig de ag caint mar gheall ar an error tá féin tugtha
tú go leor chun tús a chur leis sin.
>> Déanfaimid post ar fad bhfoinse seo cód ar an suíomh gréasáin seimineár
a luaithe is féidir, agus chomh maith leis na sleamhnáin ionas go mbeidh tú tagairt do gach.
Ach luck maith le do thionscadail.
Agus go raibh maith agat go léir go mór do teacht.
>> [Bualadh bos]