Tidligere I år avslørte apple-ledere Swift, som til slutt skal erstatte Objective-C som programmeringsspråk for Mac og iOS-enheter. Mens Objective-C er fortsatt populære, utviklere ofte klager over hvor vanskelig Det er å bruke; Swifts funksjoner vil visstnok eliminere minst noen av disse problemene.
til tross for brukervennligheten, må utviklere fortsatt bruke litt tid på å lære hvordan språket fungerer. Dette er den første av noen få artikler som viser hvordan du programmerer iOS-apper ved Hjelp Av Swift.
Klikk her For Å finne Raske utviklingsjobber.
Forutsetninger
Du trenger En Mac som kan kjøre OS X Mavericks. I skrivende stund kan Du bare programmere I Swift hvis du er en registrert iOS-utvikler. For å utvikle Og kjøre Swift-apper, bør du ha iOS 8 og versjon 6 Av Apples IDE Xcode. (Du må være en registrert utvikler for å teste Swift-appene dine på iPhone, selv om du ikke trenger å være en for å opprette og kjøre de samme appene på en iPhone-eller iPad-emulator.)
i forbindelse med denne opplæringen bruker jeg en betaversjon Av XCode 6 (som i skrivende stund, nå OPP TIL GM seed). Før vi begynner, kan du laste ned prosjektfilene og (hvis Du er en registrert Apple-utvikler med den nyeste xcode beta) installere dem. Deretter åpner du prosjektfilene og laster Dem Inn I Xcode.
Hva Er I En Swift-App?
for å bygge En Swift-app må du først opprette Et xcode-prosjekt og velge Swift som språk. Etter å ha fylt ut noen detaljer, vil programvaren lage et prosjekt som i mitt tilfelle heter Jeg Førsteksempel. Den vil inneholde to kildekodefiler for å starte, samt to info.plist filer som inneholder informasjon Om Appen din og en storyboard-fil (som vi ikke trenger for dette eksemplet).
disse eiendelene er det minste du trenger for a bygge en app som kan kjore. Men hvis du kjører det i begynnelsen, får du bare en tom skjerm-du må legge til mer kode for å få det til å gjøre noe. Vi kommer snart til den delen.
Last Opp Cven Dinarbeidsgivere vil ha kandidater som deg. Last opp din cv. Vis dem at du er fantastisk.
Andre Forberedelser
hvis du følger med og har opprettet en ny app, vil Det være En Hoved.storyboard-fil i Prosjektfiler-listen. Vennligst slette den og redigere info.plist fil. Fjern nøkkelen som starter med, » Hoved storyboards filnavn.»
de to kildekodefilene Er AppDelegate.swift og ViewController.rask. I iOS er en delegat en klasse som gjør noe på vegne av en annen klasse, Og AppDelegate er et sted å håndtere spesielle uiapplication stater. Den har en rekke funksjoner kalt av iOS. For eksempel, hvis Appen din er i bruk og telefonen ringer, vil funksjonen applicationWillResignActive bli kalt. Det er her du bør pause oppgaver, deaktivere timere, etc.
her er en liste over funksjoner Som er stubbet I AppDelegate.rask. Hvis programmet ditt støtter bakgrunnsbehandling, kalles applicationDidEnterBackground, ellers applicationWillTerminate. Disse funksjonene er steder å legge til kode for å lagre data, men vi vil bare bruke den første:
func applicationWillResignActive(program: UIApplication)
func applicationDidEnterBackground(program: UIApplication)
func applicationWillEnterForeground(program: UIApplication)
func applicationdidbecomeactive(program: uiapplication)
func applicationwillterminate(program: uiapplication)
hvis den første funksjonsdefinisjonen har nsobject: anyobject, endre Den Slik At Den Leser Nsobject: nsdictionary. Dette er funksjonen som vi må legge til kode; det er der alt starter. – > Bool betyr at Den returnerer en bool-verdi, dvs. sann eller usann. Hvis noe går galt i koden din når appen starter, vil den returnere «false» (men i vårt tilfelle vil den alltid returnere true).
Legge Til Kode I AppDelegate.swift
dette er hva Hele AppDelegate.swift-filen skal se ut. Jeg har fjernet kommentarer for å holde det kort:
I Swift oppretter Du en forekomst av en klasse som dette: window = UIWindow (.. ) for å opprette en forekomst Av UIWindow. Dette er bare en parameter som sendes inn, og den heter frame med verdien UIScreen.hovedskjerm ().Bounds, som angir størrelsen på hele skjermen. Merk at vinduet er definert I klassen Som UIWindow?. Spørsmålstegnet betyr at det er en valgfri type og at verdien kan være fraværende eller til stede; dette ligner en nullverdi på andre språk, men det fungerer for alle typer ikke bare klasser.
if let window = kontrollerer at vinduet er til stede og pakker ut vinduet (som er Av Typen UIWindow?) slik At uiwindow egenskaper og metoder kan brukes. Prøv å kommentere» if let «- linjen og tilhørende»} «(ved hjelp av//), og du får tre lignende kompileringsfeil, med den første som sier at backgroundColor ikke er medlem Av UIWindow? Det er medlem Av UIWindow, så å komme Fra UIWindow? Til UIWindow, det trenger å pakke ut; legg til en «!»på slutten av variabelnavnet for å pakke det ut (vindu!.backgroundColor = vil fungere). Når det er sagt, uten utpakking levert av «hvis la,» hvert vindu.referanse i blokken må også være vindu!. «Hvis la» gjør alle tre unwraps.
linjene i denne setningen angir ViewController som rotvisningskontroller, som er den første som ble opprettet. Visningskontrollene du implementerer, styrer hele appens navigasjon. Apples Om Visningskontrollere er vel verdt å lese hvis du vil forstå hele konseptet; men i dette tilfellet dekker vi bare ett eksempel. Men hva gjør egentlig en visningskontroller?
Hva Er En Visningskontroller?
skjermområdet til en iOS-enhet administreres av en eller flere visningskontrollere, som brukes både til å navigere mellom skjemaer og til å administrere visninger i et gitt skjema. En visning er en forekomst Av En UIView eller en underklasse Av En UIView, og styrer et rektangulært område på skjemaet. Hvis skjemaet tilsvarer et murstein-og-mørtel-kontor, vil skjemavisningskontrollere være ledere på det kontoret, og visningene er de ansatte som faktisk utfører arbeidet.
hvert skjema i en app administreres av en og (noen ganger flere) visningskontrollere. Hvis et skjema har en fast del og en rullende del, kan du bruke en annen visningskontroller for hver del.
i denne appen er det en visningskontroller for kontrollene, og en som styrer popup-varselet når du klikker på knappen.
hovedvisningskontrolleren i appen min har en visning som består av En Etikett( UILabel), en tekstredigeringsboks (UITextField) og en knapp (UIButton). Når du kjører appen, skriver du inn tekst i tekstredigeringsboksen og klikker på knappen. Dette vil dukke opp en varselmelding som viser teksten du skrev inn:
Du kan også visuelt designe brukerflyten gjennom appen din ved hjelp av storyboards, som er avhengige av mindre kode og bidrar til å eliminere feil som du vil få med manuell styring av visningskontrollere i kode. I dette eksemplet er alt opprettet i kode I ViewController.rask.
Visninger og Visningskontrollere
Hver visningskontroller har en visningsegenskap som er en samling Av UIViews. Kontrollene du plasserer på skjermen, er Alle underklasser Av UIView, og legges til i denne visningen.
i vårt eksempel opprettes visningen i den overstyrte visningskontrollerens viewDidLoad () – metode. Jeg har kodet dette for å ringe funksjonen makeLayout (), der uilabel og UIButton kontrollene er opprettet. UITextField ble opprettet på klassenivå fordi det må nås i funksjonen buttonAction (). Alle tre kontrollene har sine egenskaper angitt i makeLayout (); en kontroll vises ikke før den legges til visningen ved å ringe visningskontrollerens visning.addSubview () metode.
ViewController-klassen starter slik:
variabelen msg holder strengen som er skrevet inn. Fordi vi trenger tilgang til tekstfeltet utenfor makeLayout () – metoden (se nedenfor), opprettes den på klassenivå.
denne metoden er i tre deler; den første oppretter en uilabel-kontroll med setningen:
la FirstLabel = UILabel()
de neste seks linjene angir firstlabel-egenskapene. Merk at kompilatoren er smart nok til å vite det .redColor () er en forkortelse For UIColor.redColor (). Til slutt legges kontrollen til visningen med addsubview () – setningen.uitextfield-kontrollen ble allerede opprettet på klassenivå, så her setter vi bare egenskapene og legger det til visningen. Knappen opprettes, egenskapene angis, og den legges til i visningen.
UIButton.addTarget () – metoden har en handlingsparameter som angir navnet på funksjonen som skal kalles når knappen klikkes, og den har en etterfølgende»: «som» buttonAction:». Dette kalles oppfinnsomt kalt buttonAction () – metoden.
funksjonsknapphandling(sender:UIButton) {
msg = MyEdit.tekst
showAlert(sender)
}
buttonaction () – metoden tilordner tekststrengen fra tekstfeltet til msg-variabelen, som deretter vises Med ShowAlert () – metoden. Dette bruker den nye iOS 8 UIAlertController, som erstatter den gamle UIAlertView (nå utdatert). ShowAlert () – metoden oppretter en forekomst Av En UIAlertController, legger til en handling slik at du har noe a klikke, og kaller deretter presentViewController (), som er en mate for a se kontrolleren bytte til en annen.
Kommentarer På Koden
søkeordet «var» brukes til å erklære en variabel mens » la » brukes til å erklære en konstant eller uforanderlig variabel. Selv om kontrollene er erklært som uforanderlige, betyr det bare at du ikke kan endre kontrollforekomsten, men du kan endre egenskapene. Varselet er implementert Av En UIAlertController; en annen type visningskontroller.
- Python, Swift, JavaScript, Java: Beste Måter å Lære dem
- Her Er Apple For Å Lære Deg Om Swift
- En Første Titt På Apples Swift Programmeringsspråk