Hoe Apps te bouwen in Swift

eerder dit jaar onthulde Apple executives Swift, dat uiteindelijk bedoeld is om Objective-C te vervangen als de gewenste programmeertaal voor Macs en iOS-apparaten. Hoewel Objective-C populair blijft, klagen ontwikkelaars vaak over hoe moeilijk het is om te gebruiken; Swift ‘ s functies zullen vermoedelijk ten minste enkele van deze problemen elimineren.

ondanks het gebruiksgemak zullen ontwikkelaars nog wat tijd moeten besteden aan het leren hoe de taal werkt. Dit is de eerste van een paar artikelen die laten zien hoe je iOS-apps met behulp van Swift programmeren.

Klik hier om Swift-ontwikkelingstaken te vinden.

Prerequisites

U hebt een Mac nodig die OS X Mavericks kan draaien. Op het moment van schrijven kunt u alleen programmeren in Swift als u een geregistreerde iOS-ontwikkelaar bent. Om Swift-apps te ontwikkelen en uit te voeren, moet je iOS 8 en versie 6 van Apple ‘ s IDE Xcode hebben. (Je moet een geregistreerde ontwikkelaar zijn om je Swift apps te testen op je iPhone, hoewel je niet hoeft te worden om dezelfde apps te maken en uit te voeren op een iPhone of iPad emulator.)

voor deze tutorial gebruik ik een beta versie van XCode 6 (vanaf dit schrijven, nu tot GM seed). Voordat we beginnen, download de projectbestanden en (als u een geregistreerde Apple developer met de nieuwste Xcode beta) installeer ze. Daarna, open het project bestanden en laad ze in Xcode.

Wat zit er in een Swift-App?

om een Swift-app Te Bouwen, Maak je eerst een Xcode-project aan en selecteer je Swift als taal. Na het invullen van een paar details, zal de software een project dat, in mijn geval, ik noemde FirstExample te creëren. Het bevat twee broncodebestanden om te starten, evenals twee info.plist-bestanden die informatie bevatten over uw App en een storyboard-bestand (die we niet nodig hebben voor dit voorbeeld).

deze activa zijn het minimum dat u nodig hebt om een app te bouwen die kan draaien. Maar als je het in het begin uitvoert, krijg je gewoon een leeg scherm—je moet meer code toevoegen om het iets te laten doen. Daar komen we zo op terug.

Upload uw cv werkgevers willen kandidaten zoals u. Upload uw cv. Laat ze zien dat je geweldig bent.

andere voorbereidingen

Als u een nieuwe app hebt aangemaakt, zal er een Main zijn.storyboard-bestand in de lijst met projectbestanden. Verwijder het en bewerk de info.plist file. Verwijder de sleutel die begint met, “Main storyboards bestandsnaam.”

de twee broncodebestanden zijn AppDelegate.swift en ViewController.snel. In iOS, een gedelegeerde is een klasse die iets doet namens een andere klasse, en de AppDelegate is een plek om speciale UIApplication Staten af te handelen. Het heeft een heleboel functies genoemd door iOS. Bijvoorbeeld, als uw App in gebruik is en de telefoon gaat, dan is de functie application willresignactive zal worden opgeroepen. Dit is waar je taken moet pauzeren, timers uitschakelen, enz.

Hier is een lijst met functies die in AppDelegate worden gestoten.snel. Als uw applicatie achtergrondverwerking ondersteunt, dan wordt applicationDidEnterBackground genoemd, anders zal applicationterminate. Deze functies zijn plaatsen om code toe te voegen om gegevens op te slaan, maar we gebruiken alleen de eerste:

func applicationWillResignActive(toepassing: UIApplication)

func applicationDidEnterBackground(toepassing: UIApplication)

func applicationWillEnterForeground(toepassing: UIApplication)

func applicationDidBecomeActive(toepassing: UIApplication)

func applicationWillTerminate(toepassing: UIApplication)

Als de eerste functie definitie heeft NSObject: AnyObject, wijzigen, zodat het leest NSObject: NSDictionary. Dit is de functie waaraan we code moeten toevoegen; het is waar alles begint. De – > Bool betekent dat het een bool waarde retourneert, dat wil zeggen Waar of onwaar. Als er iets misgaat in uw code wanneer de app start, het zal terugkeren “false” (maar in ons geval, het zal altijd terugkeren true).

Code toevoegen aan AppDelegate.swift

Dit is wat de hele Appdelegeert.swift dossier moet eruit zien. Ik heb opmerkingen verwijderd om het kort te houden:

in Swift maak je een instantie van een klasse als deze: window = UIWindow( .. ) om een instantie van UIWindow aan te maken. Dit is slechts een parameter doorgegeven, en het heet frame met de waarde UIScreen.mainScreen ().Grenzen, die de grootte van het hele scherm specificeert. Merk op dat venster is gedefinieerd in de klasse als UIWindow?. Het vraagteken betekent dat het een optioneel type is en dat de waarde afwezig of aanwezig kan zijn; dit is vergelijkbaar met een nulwaarde in andere talen, maar het werkt voor alle typen niet alleen klassen.

The if let window = controleert of het venster aanwezig is en unwraps window (welke is van het type UIWindow?) zodat de UIWindow eigenschappen en methoden kunnen worden gebruikt. Probeer een commentaar te geven op de” if let “regel en de bijbehorende”} ” (met behulp van//), en je krijgt drie soortgelijke compileerfouten, waarbij de eerste zegt dat backgroundColor geen lid is van UIWindow? Het is een lid van UIWindow, dus om van UIWindow te krijgen? Om UIWindow, het moet uitpakken; voeg een “!”aan het einde van de variabele naam om het uit te pakken (venster!.achtergrondkleur = zal werken). Dat gezegd hebbende, zonder het uitpakken van “als laat”, elk venster.referentie in het blok zou ook moeten worden venster!. “Als laten” doet alle drie de uitrollen.

de regels binnen dat statement stellen ViewController in als de root view controller, de eerste die aangemaakt wordt. De weergavecontrollers die u implementeert controleren het geheel van de navigatie van uw app. Apple ‘ s About View Controllers is het lezen waard als je het hele concept wilt begrijpen; in dit geval behandelen we echter slechts één voorbeeld. Maar wat doet een beeldcontroller precies?

Wat Is een weergavecontroller?

het schermgebied van een iOS-apparaat wordt beheerd door een of meer weergavecontrollers, die zowel worden gebruikt voor het navigeren tussen formulieren als voor het beheren van weergaven op een bepaald formulier. Een weergave is een instantie van een UIView of een subklasse van een UIView, en beheert een rechthoekig gebied op de vorm. Als de vorm het equivalent is van een bakstenen kantoor, dan zijn de form view controllers de managers in dat kantoor, en de views zijn de werknemers die het werk daadwerkelijk uitvoeren.

elk formulier in een app wordt beheerd door één en (soms meer) weergavecontrollers. Als een formulier een vast onderdeel en een schuifdeel heeft, kunt u voor elk onderdeel een andere weergavecontroller gebruiken.

in deze app is er één weergavecontroller voor de besturingselementen en één die de pop-up alert beheert wanneer u op de knop klikt.

De hoofdweergavecontroller in mijn app heeft een weergave die bestaat uit een Label (UILabel), een tekst bewerkingskader (UITextField) en een knop (UIButton). Wanneer u de app uitvoert, typt u wat tekst in de tekst bewerken vak en klik vervolgens op de knop. Dit verschijnt een waarschuwingsbericht met de tekst die u hebt getypt:

u kunt ook visueel de gebruikersstroom door uw app ontwerpen met behulp van storyboards, die vertrouwen op minder code en helpen fouten te elimineren die u zou krijgen met het handmatig beheren van weergavecontrollers in code. In dit voorbeeld wordt echter alles gemaakt in code in ViewController.snel.

weergaven en Weergavecontrollers

elke weergavecontroller heeft een weergaveeigenschap die een verzameling UIViews is. De besturingselementen die u op het scherm plaatst zijn allemaal subklassen van UIView, en worden toegevoegd aan deze weergave.

in ons voorbeeld wordt de weergave gemaakt met de methode viewDidLoad() van de overschreven weergavecontroller. Ik heb dit gecodeerd om de functie makeLayout () aan te roepen, waar de UILabel en UIButton besturingselementen worden gemaakt. Het UITextField is gemaakt op klasse niveau omdat het moet worden benaderd in de functie buttonAction (). Alle drie de besturingselementen hebben hun eigenschappen ingesteld in makeLayout(); een besturingselement verschijnt niet totdat het aan de weergave is toegevoegd door de weergave van de controller aan te roepen.addSubview () methode.

De Klasse ViewController begint als volgt:

de variabele msg bevat de tekenreeks die wordt ingetypt. Omdat we toegang moeten krijgen tot het tekstveld buiten de makeLayout() methode (zie hieronder), is het gemaakt op klasse niveau.

Deze methode bestaat uit drie delen; de eerste maakt een UILabel controle met de instructie:

let FirstLabel = UILabel()

de volgende zes regels stellen de FirstLabel eigenschappen. Merk op dat de compiler slim genoeg is om dat te weten .redColor () is een afkorting van UIColor.redColor (). Tot slot wordt de controle toegevoegd aan de weergave met het statement addSubview ().

het besturingselement UITextField is al gemaakt op het class niveau, dus hier stellen we gewoon de eigenschappen in en voegen het toe aan de weergave. De knop wordt gemaakt, de eigenschappen ingesteld, en het is toegevoegd aan de weergave.

De UIButton.addTarget () methode heeft een actie parameter die de naam van de functie die moet worden aangeroepen wanneer op de knop wordt geklikt specificeert, en het heeft een trailing “:” zoals “buttonAction:”. Dit noemt de fantasierijk benoemde buttonAction () methode.

func buttonAction(sender:UIButton) {

msg = MyEdit.text

showAlert (sender )

de methode buttonAction () wijst de tekenreeks uit het tekstveld toe aan de MSG-variabele, die vervolgens wordt weergegeven met de methode ShowAlert (). Dit maakt gebruik van de nieuwe iOS 8 UIAlertController, die de oude UIAlertView vervangt (nu verouderd). De showAlert () methode maakt een instantie van een UIAlertController, voegt een actie toe zodat je iets hebt om op te klikken, en roept dan presentViewController () aan, wat een manier is voor een view controller om naar een andere te schakelen.

Comments On the Code

het trefwoord ” var “wordt gebruikt om een variabele te declareren, terwijl” let ” wordt gebruikt om een constante of onveranderlijke variabele te declareren. Hoewel de besturingselementen zijn gedeclareerd als onveranderlijk, betekent dat gewoon dat je de control instantie niet kunt veranderen, maar je kunt de eigenschappen ervan wijzigen. De waarschuwing wordt geà mplementeerd door een UIAlertController; een ander type view controller.

  • Python, Swift, JavaScript, Java: beste manieren om ze te leren
  • Hier is Apple om je te leren over Swift
  • een eerste blik op de Swift-programmeertaal

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.