aiemmin tänä vuonna Applen johtajat paljastivat Swiftin, jonka on tarkoitus lopulta korvata Objective-C Mac-ja iOS-laitteiden valitsemana ohjelmointikielenä. Vaikka Objective-C on edelleen suosittu, Kehittäjät valittavat usein sen käytön vaikeudesta; Swiftin ominaisuudet oletettavasti poistavat ainakin osan noista ongelmista.
sen helppokäyttöisyydestä huolimatta kehittäjien on vielä käytettävä aikaa kielen toiminnan opetteluun. Tämä on ensimmäinen muutamasta artikkelista, jotka osoittavat, miten iOS-sovelluksia ohjelmoidaan Swiftin avulla.
Klikkaa tästä löytääksesi nopean kehitystyön.
edeltävät tehtävät
tarvitset Macin, jolla voi ajaa OS X Maverickeja. Kirjoitushetkellä Swiftissä voi ohjelmoida vain, jos on rekisteröity iOS-kehittäjä. Jotta voit kehittää ja ajaa Swift-sovelluksia, sinulla pitäisi olla iOS 8 ja versio 6 Applen IDE Xcode. (Sinun täytyy olla rekisteröity kehittäjä, jotta voit testata Swift-sovelluksia iPhonessa, vaikka sinun ei tarvitse olla yksi, jotta voit luoda ja käyttää samoja sovelluksia iPhonessa tai iPadissa emulaattori.)
tässä opetusohjelmassa käytän Xcode 6: n beetaversiota (tätä kirjoitettaessa, nyt jopa GM-siementä). Ennen kuin aloitamme, lataa projektin tiedostot ja (jos olet rekisteröity Apple Kehittäjä uusin Xcode beta) asentaa ne. Sen jälkeen avaa projektin tiedostot ja lataa ne xcodeen.
mitä Swift-sovelluksessa on?
rakentaaksesi Swift-sovelluksen luo ensin Xcode-projekti ja valitse kieleksi Swift. Täytettyään muutamia yksityiskohtia, ohjelmisto luo projektin, joka, minun tapauksessani, Nimesin FirstExample. Se sisältää kaksi lähdekooditiedostoja aloittaa, sekä kaksi info.plist tiedostoja, jotka sisältävät tietoja sovelluksen ja kuvakäsikirjoituksen tiedosto (jota emme tarvitse tässä esimerkissä).
nämä varat ovat pienin mitä tarvitset rakentaa sovellus pystyy käynnissä. Mutta jos suoritat sen alussa, saat vain tyhjän näytön-sinun täytyy lisätä enemmän koodia, jotta se tekee mitään. Palaamme siihen kohta.
Upload your resume employers want candidates like you. Lataa ansioluettelosi. Näytä, että olet mahtava.
muut valmisteet
Jos seuraat mukana ja olet luonut uuden sovelluksen, tulee Pää.kuvakäsikirjoituksen tiedosto projektin tiedostot-luettelossa. Poista se ja muokkaa tietoja.plist-tiedosto. Poista avain, joka alkaa, ”tärkein kuvakäsikirjoituksia tiedoston nimi.”
kaksi lähdekooditiedostoa ovat AppDelegate.swift ja ViewController.nopea. IOS: ssä delegaatti on luokka, joka tekee jotain toisen luokan puolesta, ja AppDelegate on paikka käsitellä erityisiä Uiapplikaatiotiloja. Se on joukko toimintoja kutsutaan iOS. Esimerkiksi, Jos sovellus on käytössä ja puhelin soi, niin funktion applicationWillResignActive kutsutaan. Tässä kannattaa keskeyttää tehtävät, poistaa ajastimet jne.
tässä on luettelo Appdelegatessa stubboitavista funktioista.nopea. Jos hakemus tukee taustan käsittelyä, niin applicationDidEnterBackground kutsutaan, muuten hakemus päättyy. Nämä funktiot ovat paikkoja lisätä koodia tietojen tallentamiseksi, mutta käytämme vain ensimmäistä:
func applicationWillResignActive(application: UIApplication)
func applicationDidEnterBackground(application: UIApplication)
func applicationWillEnterForeground(application: UIApplication)
func applicationdidbecomeactive(application: uiapplication)
Func applicationwillterminate(application: uiapplication)
jos ensimmäisessä funktion määritelmässä on nsobject: anyobject, muuta sitä niin, että siinä lukee nsobject: nsdictionary. Tämä on toiminto, johon meidän täytyy lisätä koodia; siitä kaikki alkaa. – > Bool tarkoittaa, että se palauttaa booliarvon eli tosi tai epätosi. Jos jokin menee pieleen koodissasi, kun sovellus käynnistyy, se palauttaa ”false” (mutta meidän tapauksessamme, se palaa aina true).
koodin lisääminen Appdelegateen.swift
tätä on koko Appdelegaatti.swift-tiedoston pitäisi näyttää. I ’ ve delivered comments to keep it short:
In Swift you create an instance of a class like this: window = UIWindow( .. ) luoda instanssi UIWindow. Tämä on vain yksi parametri, ja sen nimi on kehys arvolla UIScreen.päänäyttö ().Bounds, joka määrittää koko näytön koon. Huomaa, että ikkuna on määritelty luokassa nimellä UIWindow?. Kysymysmerkki tarkoittaa, että se on valinnainen tyyppi ja että arvo voi olla poissa tai läsnä; tämä on samanlainen kuin nolla-arvo muissa kielissä, mutta se toimii kaikille tyypeille ei vain luokille.
If let-ikkuna = tarkistaa, että ikkuna on olemassa ja avaa ikkunan (joka on tyyppiä UIWindow?) niin, että Uiwindowin ominaisuuksia ja menetelmiä voidaan käyttää. Kokeile kommentoida” jos antaa ”rivi ja vastaava”} ” (käyttämällä //), ja saat kolme samanlaista kääntää virheitä, joista ensimmäinen sanomalla, että backgroundColor ei ole jäsen UIWindow? Se on UIWindow ’n jäsen, joten päästä UIWindow’ sta? Jotta UIWindow, se tarvitsee käärimistä; lisää”!”lopussa muuttujan nimi avata se (ikkuna!.backgroundColor = toimii). Tästä huolimatta, ilman avaamista tarjoamia ”jos antaa”, jokaisen ikkunan.viittaus lohkon olisi myös oltava ikkuna!. ”Jos let” tekee kaikki kolme unwraps.
kyseisen lausekkeen sisällä olevat rivit asettavat viewcontrollerin juurinäkymäohjaimeksi, joka on ensimmäinen luotu. Näkymäohjaimet otat hallita koko sovelluksen navigointi. Applen about View-ohjaimet ovat lukemisen arvoisia, jos haluat ymmärtää koko konseptin; tässä tapauksessa käsittelemme kuitenkin vain yhtä esimerkkiä. Mutta mitä näkymäohjain tarkalleen tekee?
mikä on näkymäohjain?
iOS-laitteen näyttöaluetta hallitsee yksi tai useampi näyttöohjain, joita käytetään sekä lomakkeiden välillä navigointiin että tietyn lomakkeen näkymien hallintaan. Näkymä on esimerkiksi UIView tai alaluokka UIView, ja hallinnoi suorakulmainen alue lomakkeella. Jos lomake vastaa kivijalkakonttoria, lomakenäkymän valvojina olisivat kyseisen toimiston johtajat, ja näkymät ovat työntekijöitä, jotka todella suorittavat työn.
jokaista sovelluksen lomaketta hallinnoi yksi ja (joskus useampi) katseluohjain. Jos lomakkeessa on kiinteä osa ja vieritysosa, voit käyttää eri näkymäohjainta jokaiselle osalle.
tässä sovelluksessa on yksi näyttöohjain ohjaimille, ja yksi, joka hallinnoi ponnahdushälytystä, kun napsautat painiketta.
sovellukseni päänäkymäohjaimessa on näkymä, joka koostuu etiketistä (UILabel), tekstin muokkausruudusta (UITextField) ja painikkeesta (UIButton). Kun suoritat sovelluksen, kirjoita tekstiä Tekstin muokkaus-ruutuun ja napsauta painiketta. Tämä avaa varoitusviestin, joka näyttää kirjoittamasi tekstin:
voit myös visuaalisesti suunnitella käyttäjävirran sovelluksen läpi käyttämällä kuvakäsikirjoituksia, jotka nojaavat vähemmän koodiin ja auttavat poistamaan virheitä, joita saat, kun hallitset manuaalisesti näkymäohjaimia koodissa. Tässä esimerkissä kaikki on kuitenkin luotu koodina Viewcontrollerissa.nopea.
näkymä-ja Katseluohjaimet
jokaisella katseluohjaimella on katseluominaisuus, joka on kokoelma UIV-katselukertoja. Näytölle asetettavat ohjaimet ovat kaikki UIView: n alaluokkia, ja ne lisätään tähän näkymään.
esimerkissämme näkymä luodaan ohitettavan näkymäohjaimen viewDidLoad () – menetelmällä. Olen koodannut tämän kutsumaan funktiota makeLayout (), jossa luodaan UILabel-ja UIButton-ohjaimet. UITextField luotiin luokkatasolla, koska siihen täytyy päästä funktiolla buttonAction(). Kaikilla kolmella ohjaimella on ominaisuutensa asetettuna makelayoutissa (); ohjain ilmestyy vasta, kun se lisätään näkymään kutsumalla näkymäohjaimen näkymää.addSubview () – menetelmä.
ViewController-luokka alkaa näin:
muuttuja msg pitää merkkijonon, joka kirjoitetaan sisään. Koska tekstikenttään on päästävä makeLayout () – menetelmän ulkopuolelta (katso alla), se on luotu luokkatasolla.
tämä menetelmä on kolmiosainen; ensimmäinen luo Uilaabelin kontrollin lauseella:
let FirstLabel = UILabel ()
seuraavat kuusi riviä asettavat ensimmäisen merkin ominaisuudet. Huomaa, että kääntäjä on tarpeeksi fiksu tietää, että .redColor () on lyhenne sanoista UIColor.punaväri (). Lopuksi kontrolli lisätään näkymään addSubview () – lauseella.
uitextfield-ohjaus luotiin jo luokkatasolla, joten tässä vain asetetaan ominaisuudet ja lisätään se näkymään. Painike luodaan, ominaisuudet asetetaan ja se lisätään näkymään.
UIButton.addTarget () – menetelmässä on toimintoparametri, joka määrittää napin painalluksen yhteydessä kutsuttavan funktion nimen, ja sen perään on merkitty ”:” kuten ”buttonAction:”. Tämä kutsuu mielikuvituksellisesti nimettyä napinaktiomenetelmää ().
func buttonAction(sender:UIButton) {
msg = MyEdit.text
showAlert(sender)
napinotto () – menetelmä määrittää tekstikentästä lähtevän merkkijonon msg-muuttujaksi, joka sitten näytetään ShowAlert () – menetelmällä. Tämä käyttää uutta iOS 8 UIAlertController, joka korvaa vanhan UIAlertView (nyt vanhentunut). ShowAlert () – menetelmä luo instanssin Uialertcontrollerista, Lisää toiminnon, jotta sinulla on jotain napsautettavaa, ja kutsuu sitten presentviewcontrollerin (), joka on yksi tapa vaihtaa näkymäohjain toiseen.
kommentteja koodista
hakusanaa ”var” käytetään muuttujan julistamiseen, kun taas ”let” käytetään muuttumattoman tai muuttumattoman muuttujan julistamiseen. Vaikka ohjaimet on julistettu muuttumattomiksi, se tarkoittaa vain sitä, että et voi muuttaa ohjausilmoitusta, mutta voit muuttaa sen ominaisuuksia. Kuulutuksen toteuttaa UIAlertController; muunlainen katseluohjain.
- Python, Swift, JavaScript, Java: Best Ways to Learn Them
- Here ’s Apple to Teach You about Swift
- a First Look at Apple’ s Swift Programming Language