Paras vastaus
Et voi aina käyttää guard
-tilaa, koska se vaatii varhaisen poistumisen. Ei ole negatiivista if let
-rakennetta, mutta koodinpätkäsi ei todellakaan näytä mielenkiintoista tapausta, josta se jäi eniten.
Jos koodiasi ei todellakaan tarvitse date
if
jälkeen, sinun ei tarvitse käyttää if let
, testaa vain jos lauseke on nil
(huomaa, koodi on yksinkertaistettu Swift3-ish-syntaksiksi osuvuuden ja lyhyyden vuoksi):
if UserDefaults.standard.objectForKey("first\_launch\_date") == nil {
UserDefaults.standard.set(date, forKey: "first\_launch\_date")
}
Mutta olettaen, että koodisi haluaa Jos haluat käyttää date
if
-näppäintä seuraten (muuten miksi antaisit sille nimen), tarvitset jotain hieman hankalampaa, mikä loppuu johonkin if
-tapauksessa:
let date: Date
if let existingDate = UserDefaults.standard.objectForKey("first\_launch\_date") {
date = existingDate
} else {
date = Date()
UserDefaults.standard.set(date, forKey: "first\_launch\_date")
}
Tapaus, joka todella pettää minä kuitenkin käytän if let
-ketjua else if
. Usein (lähes puolet ajasta?) Ehtoketjun logiikka haluaa testata sarjan negatiivisia asioita, jotka loppuvat siihen, että toinen tapaus on yksi positiivinen ehto. Jos jokin ehdoista edellyttää kuitenkin if let
, sinun on pakko ilmaista logiikka positiivisen testinä, jolloin toinen tapaus on negatiivinen.
Esimerkki pseudokoodista:
if error {
failure
} else if unexpected-format {
failure
} else if parse-failed {
failure
} else if result is a {
handle result a
} else {
handle result b
}
Jos tämän toteuttaminen nopeasti edellyttää valinnaisen vaihtoehdon purkamista jäsennystestin aikana, kuten if let result = parse()
, sinä Olen saanut loikata logiikkaa epäonnistumisesta epäonnistumiseen menestykseen epäonnistumisen onnistumiseen. Esimerkki nopeammasta pseudokoodista:
if error {
failure
} else if unexpected-format {
failure
} else if let result = parse() {
if result is a {
handle result a
} else {
handle result b
}
} else {
failure
}
Yuck. Mahdollisesti if not let
sallisi alkuperäisen logiikan:
if error {
failure
} else if unexpected-format {
failure
} else if not let result = parse() {
failure // unlike if let, result not available to this code block
} else if result is a { // however it would be to everything after
handle result a
} else {
handle result b
}
Jonkun tulisi kirjoittaa ehdotus nopeaan evoluutioon.
Vastaa
- Hanki ilmainen Apple-kehittäjätili
- Ymmärrä tänään (4. kesäkuuta 2016) Swift 3.0: lle ei ole opetusohjelmia, koska se paljastetaan WWDC: llä ensi viikolla. Kirjoittajilta kestää vähintään 3 kuukautta, jotta he voivat saada uusia kirjoja ja oppaita Swift 3.0: lle. Poikkeuksena on Erica Sadun, joka on erittäin ahkera ja ennakoiva saamaan kirjansa uusimpaan Swift-versioon.
- {Uusi} Tästä päivästä lähtien (13. kesäkuuta 2016) Apple on ilmoittanut iPADille leikkikentistä, jotka näyttävät olevan erittäin hyvä tapa aloittelijoille oppia Swift. MYÖS, Applella on uusi e-kirja nimeltä \_App Development with Swift\_, joka on toinen hyvä resurssi koko kielen aloittelijoille.
- Vältä mitään Swift 1.0: ssa ja pysy kaukana useimmista. tietoa 2.0: sta ja 2.1: stä ja yritä löytää tietoja Swiftin tai sitä paremman version 2.2 lähteistä. Yritä myös välttää materiaaleja, joissa on viimeisimmät tiedot ennen marraskuua 2015. Tämä muuttuu muutaman kuukauden kuluttua Swift 3.0: n saatavuudesta. Joitakin merkittäviä syntaksi- ja kirjastomuutoksia on, ja vanhempiin versioihin kirjoitettujen opetusohjelmien noudattaminen voi olla vaikeaa.
- Hanki kopio Applen Swift-käsikirjoista iBooksista. Näiden pitäisi olla ensimmäiset päivitetyt versiot Swift 3.0: lla.
- Selaa näitä käyttöoppaita.
- Jos olet aiemmin ohjelmoinut muita kieliä, kiinnitä enemmän huomiota Swiftin erityisiin rakenteisiin Apple- ja 3rd Party -käyttäjinä ohjelmistoesimerkit todennäköisesti käyttävät niitä.
- luetteloinnit
- lisävarusteet
- virheen tarkistus
- sulkemiset (syntaksia ja conc syödä voi olla vaikea ymmärtää)
- rakenteet vs. luokat vs. protokollat vs. luettelot
- protokollapohjainen suunnittelu
- viitteiden laskeminen
- merkkijonot
- yleiset
- Swift-kirjasto
- kielen toiminnalliset näkökohdat (liittyvät sulkemiseen ja kirjastoon)
- Selaa ja / tai osta 1–2 e-kirjaa (tai fyysistä kirjaa) Swiftissä. Hyviä kirjoja on useita.
- On paljon enemmän tietoa ja opetusohjelmia, jotka odottavat, että aiot ohjelmoida iOS: n vs. Mac OS: n
- Selvitä, oletko kiinnostunut enemmän peleistä tai tuottavuudesta. ja keskittyä enemmän yhteen niistä. Pelikokemuksia varten on kirjoitettu useita kirjoja ja oppaita, ja mielestäni pelit ovat mielestäni joillakin tavoin helpompi oppia.
- Jos et ole koskaan kirjoittanut Apple-sovelluksia, ehdotan, että opit Swiftin myös huolimatta. paljon tavoite-C: stä. Vastuuvapauslauseke: Inhoan voimakkaasti Objective-C: tä. Jos sinulla on vanhoja koodeja Objective-C: ssä, mene kaikin keinoin oppimaan Objective-C: n ja Swiftin yhdistämisestä ja käytöstä. Swift-oppaat tarjoavat perustan sinun tarvitsemallesi tiedolle, etkä pääse siitä kokonaan, koska kaikki / suurin osa kaakaokirjastosta / -kehyksistä on kirjoitettu tavoite-C: ssä. tai maksa kaveri, kirjaudu Lyndaan. fi yhden kuukauden ajan ilmaiseksi ja katsele kaikkia videoita, joita voit saada Simon Allardicelta ja muilta Swiftiltä (ja yleisiä ohjelmakonsepteja, jos tarvitset sitäkin.)
- Tee sama osoitteessa Monivalo. fi .
- Selaa Apple Deve -sivustolta kaikki viiteasiakirjat ja miten pääset tähän x-Codeista. Toivottavasti olet käyttänyt X-koodia aiemmin. Jos ei, opetusohjelmien olisi pitänyt antaa tarpeeksi tietoa, jotta pääset eteenpäin. Tämä on tärkeää.
- Siirry RayWenderlichiin. fi ja katso kaikki Swift-videot ja e-kirjat, jotka voit. Jos haluat nähdä kaikki kirjat, voit rekisteröityä ja / tai ostaa siellä olevat materiaalit. Oikeudenkäynti on hyvin levännyt ja tee itse itse opetusohjelmat . Tämä on avain.
- Katso aiemmat Apple WWDC -videot Swiftissä. Lue Apple Swift -oppaat tarkemmin.
- Yritä kirjoittaa oma hakemuksesi. Tämä näyttää, missä sinulla on paikkoja, jotka sinun täytyy tarkistaa tai oppia paremmin.
- Yritä seurata iTunes-yliopiston / Stanfordin kurssia Swiftin iOS-kehityksestä. Katso, voitko pysyä mukana. Tämä ei ole aloittelijoille suunnattu kurssi, toisin kuin muut kertovat sinulle.
- Olen katsellut monia, monia erilaisia video-oppaita Youtubessa. Minulle suurin osa heistä on ainoa hyvä asia, että he ovat vapaita. Kun vertaa niitä aikaisemmin lueteltuihin oppaisiin, ihmettelet, miksi tuhlait aikaa heidän kanssaan. On poikkeuksia, mutta vietät paljon aikaa tuhlaamalla sitä niiden läpi katsomiseen. Arvostan sitä, että ihmiset haluavat luoda omia videoita. Olen jopa kokeillut tätä kerran. Joten tiedän, kuinka paljon energiaa ammattilaiset käyttävät tekemään asioista selkeitä ja ymmärrettäviä.
- Nyt, kun olet levittänyt ilmaiset YouTube-jutut, katso muutama näistä videoista ja katso, auttavatko ne täyttämään puuttuvia tietoja vai eivät . On hyvä, että sinulla on vaihtoehtoiset näkökulmat.
- Tilaa Swiftin online-uutiskirjeitä. RayWenderlichillä on hyvä luettelo aloituksesta.
- Lue joitain minun ja muiden tämän aiheen viestejä. Todennäköisesti täytyy selvittää, miten kysymykset / vastaukset yhdistetään.