Hogyan építsünk alkalmazásokat a Swift – ben

Az év elején az Apple vezetői bemutatták a Swift-et, amely végül felváltja az Objective-C-t, mint a választott programozási nyelvet Mac és iOS eszközök számára. Míg az Objective-C továbbra is népszerű, a fejlesztők gyakran panaszkodnak arra, hogy milyen nehéz használni; a Swift funkciói állítólag kiküszöbölik e problémák legalább egy részét.

a könnyű használat ellenére a fejlesztőknek még mindig időt kell tölteniük a nyelv működésének megtanulásával. Ez az első néhány cikk, amely bemutatja, hogyan kell programozni az iOS alkalmazásokat a Swift használatával.

kattintson ide a gyors fejlesztési munkák megtalálásához.

előfeltételek

szüksége van egy Mac, amely képes futtatni OS X Mavericks. Az írás idején csak akkor programozhat Swift-ben, ha regisztrált iOS-fejlesztő vagy. A Swift alkalmazások fejlesztéséhez és futtatásához rendelkeznie kell az Apple IDE Xcode iOS 8 és 6 verziójával. (Regisztrált fejlesztőnek kell lennie ahhoz, hogy tesztelje Swift-alkalmazásait iPhone-ján, bár nem kell annak lennie ahhoz, hogy ugyanazokat az alkalmazásokat hozza létre és futtassa egy iPhone vagy iPad emulátoron.)

az oktatóanyag alkalmazásában az XCode 6 béta verzióját használom (az írás óta, most a GM vetőmagig). Mielőtt elkezdenénk, kérjük, töltse le a projektfájlokat, és (ha regisztrált Apple fejlesztő vagy a legújabb Xcode bétaverzióval) telepítse őket. Ezután nyissa meg a projektfájlokat, és töltse be őket az Xcode-ba.

mi van egy Swift alkalmazásban?

Swift alkalmazás létrehozásához először hozzon létre egy Xcode projektet, és válassza ki a Swift nyelvet. Néhány részlet kitöltése után a szoftver létrehoz egy projektet, amelyet esetemben FirstExample-nek neveztem el. Ez tartalmaz két forráskód fájlokat kezdeni, valamint két info.plist fájlok, amelyek információkat tartalmaznak az alkalmazásról és egy storyboard fájlról (amelyekre ebben a példában nem lesz szükségünk).

Ezek az eszközök a minimum meg kell építeni egy app képes futni. De ha az elején futtatja, akkor csak egy üres képernyőt kap—további kódot kell hozzáadnia ahhoz, hogy bármit megtegyen. Erre a részre hamarosan visszatérünk.

töltse fel Önéletrajzátafoglalkoztatók olyan jelölteket akarnak, mint te. Töltse fel önéletrajzát. Mutasd meg nekik, hogy király vagy.

egyéb készítmények

Ha követed, és létrehoztál egy új alkalmazást, akkor lesz egy fő.storyboard fájlt a projekt fájlok listáját. Kérjük, törölje és szerkessze az információt.plist fájl. Távolítsa el a kulcs kezdődik, “fő storyboards fájl neve.”

a két forráskód fájl AppDelegate.swift és ViewController.gyors. Az iOS rendszerben a küldött olyan osztály, amely egy másik osztály nevében tesz valamit, az AppDelegate pedig a speciális UIApplication állapotok kezelésére szolgáló hely. Van egy csomó funkciója, amelyet az iOS hív. Például, ha az alkalmazás használatban van, és a telefon csörög, akkor a funkció applicationWillResignActive fogják hívni. Itt kell szüneteltetnie a feladatokat, letiltania az időzítőket stb.

itt van egy lista a funkciók, amelyek stubbed AppDelegate.gyors. Ha az alkalmazás támogatja a háttérfeldolgozást,akkor az applicationDidEnterBackground neve, egyébként az applicationWillTerminate. Ezek a funkciók olyan helyek, ahol kódot lehet hozzáadni az adatok mentéséhez, de csak az elsőt fogjuk használni:

func applicationWillResignActive(alkalmazás: UIApplication)

func applicationDidEnterBackground(alkalmazás: UIApplication)

func applicationWillEnterForeground(alkalmazás: UIApplication)

FUNC applicationdidbecomeactive(alkalmazás: uiapplication)

FUNC applicationwillterminate(alkalmazás: uiapplication)

ha az első függvénydefiníció nsobject: anyobject, változtassa meg úgy, hogy olvassa Nsobject: nsdictionary. Ez az a funkció, amelyhez kódot kell hozzáadnunk; itt kezdődik minden. A -> Bool azt jelenti, hogy bool értéket ad vissza, azaz igaz vagy hamis. Ha valami elromlik a kódban, amikor az alkalmazás elindul, akkor “hamis” lesz (de a mi esetünkben mindig igaz lesz).

kód hozzáadása az AppDelegate – hez.swift

Ez az, amit az egész AppDelegate.a swift fájlnak úgy kell kinéznie. Eltávolítottam a megjegyzéseket, hogy rövid legyen:

A Swift-ben létrehoz egy ilyen osztály példányát: window = UIWindow( .. ), hogy hozzon létre egy példányát UIWindow. Ez csak egy paraméter, amelyet átadtak, és frame-nek hívják, az UIScreen értékkel.mainScreen().Határok, amely meghatározza a teljes képernyő méretét. Vegye figyelembe, hogy az ablak az osztályban UIWindow-ként van meghatározva?. A kérdőjel azt jelenti, hogy ez egy opcionális típus, és az érték hiányozhat vagy jelen lehet; ez hasonló a nil értékhez más nyelveken, de minden típusra működik, nem csak osztályokra.

az if let window = ellenőrzi, hogy az ablak jelen van-e, és kibontja az ablakot (melyik UIWindow típusú?), hogy az UIWindow tulajdonságai és módszerei használhatók legyenek. Próbáld meg kommentálni az “if let” sort és a megfelelő”} ” sort (a / / használatával), és három hasonló fordítási hibát kapsz, az első azt mondja, hogy a backgroundColor nem tagja az UIWindow-nak? Az UIWindow tagja, tehát az UIWindow-tól? Az UIWindow-hoz, kicsomagolni kell; adjon hozzá egy “!”a változó nevének végén, hogy kicsomagolja (ablak!.backgroundColor = működni fog). Hogy azt mondta, anélkül, hogy a kicsomagolás által biztosított “ha hagyja,” minden ablak.a blokkban lévő hivatkozásnak is ablaknak kell lennie!. A” ha hagyjuk ” mind a három kibontja.

az utasításon belüli sorok a viewcontrollert állítják be gyökér nézetvezérlőként, amely az első létrehozott. Az Ön által végrehajtott nézetvezérlők vezérlik az alkalmazás teljes navigációját. Az Apple a Nézetvezérlőkről érdemes elolvasni, ha meg akarja érteni az egész koncepciót; ebben az esetben azonban csak egy példát fogunk lefedni. De mit csinál pontosan egy nézetvezérlő?

mi az a Nézetvezérlő?

az iOS-eszközök képernyőterületét egy vagy több nézetvezérlő kezeli, amelyek mind az űrlapok közötti navigáláshoz, mind az adott űrlap nézeteinek kezeléséhez használhatók. A nézet egy uiview példánya vagy egy UIView alosztálya, és egy téglalap alakú területet kezel az űrlapon. Ha az űrlap megegyezik egy téglából és habarcsból álló irodával, akkor az űrlapnézet-vezérlők az adott iroda vezetői, a nézetek pedig azok az alkalmazottak, akik ténylegesen elvégzik a munkát.

az alkalmazás minden űrlapját egy vagy (néha több) nézetvezérlő kezeli. Ha egy űrlapnak rögzített része és görgethető része van, előfordulhat, hogy minden egyes részhez más nézetvezérlőt használ.

ebben az alkalmazásban, van egy nézet vezérlő a vezérlők, és az egyik, hogy kezeli a pop-up figyelmeztetés, ha rákattint a gombra.

az alkalmazásom fő nézetvezérlője tartalmaz egy címkét (UILabel), egy szövegszerkesztő mezőt (UITextField) és egy gombot (UIButton). Az alkalmazás futtatásakor írjon be néhány szöveget a szövegszerkesztő mezőbe, majd kattintson a gombra. Ez megjelenik egy figyelmeztető üzenet, amely megjeleníti a beírt szöveget:

vizuálisan is megtervezheti a felhasználói folyamatot az alkalmazáson keresztül a storyboards segítségével, amelyek kevesebb kódra támaszkodnak, és segítenek kiküszöbölni azokat a hibákat, amelyeket a nézetvezérlők kézi kezelésével kap a kódban. Ebben a példában azonban minden a viewcontroller kódjában jön létre.gyors.

nézetek és Nézetvezérlők

minden nézetvezérlő rendelkezik egy nézet tulajdonsággal, amely az UIViews gyűjteménye. A képernyőn elhelyezett vezérlők az UIView összes alosztálya, és hozzáadódnak ehhez a nézethez.

példánkban a nézet a felülbírált nézetvezérlő viewDidLoad() metódusában jön létre. Ezt kódoltam a makeLayout () függvény meghívására, ahol az UILabel és az UIButton vezérlők jönnek létre. A UITextField jött létre az osztály szinten, mert meg kell elérni a funkció buttonAction(). Mindhárom Vezérlőelem tulajdonságai a makeLayout () függvényben vannak beállítva; a vezérlő nem jelenik meg, amíg a nézetvezérlő nézetének meghívásával hozzá nem adják a nézethez.addSubview () módszer.

a ViewController osztály így kezdődik:

az msg változó tartja a beírt karakterláncot. Mivel a szövegmezőt a makeLayout() metóduson kívül kell elérnünk (lásd alább), az osztály szintjén jön létre.

Ez a módszer három részből áll; az első létrehoz egy UILabel vezérlőt a következő utasítással:

hagyja, hogy FirstLabel = UILabel()

a következő hat sor állítsa be a FirstLabel tulajdonságait. Vegye figyelembe, hogy a fordító elég okos ahhoz, hogy ezt tudja .a redColor () az UIColor rövidítése.redColor (). Végül a vezérlő hozzáadódik a nézethez az addSubview() utasítással.

az UITextField vezérlőt már osztály szinten létrehoztuk, így itt csak a tulajdonságokat állítjuk be és adjuk hozzá a nézethez. A gomb létrejön, a tulajdonságok be vannak állítva, és hozzáadódik a nézethez.

az UIButton.az addTarget () metódusnak van egy műveleti paramétere, amely megadja a hívandó függvény nevét, amikor a gombra kattint, és van egy záró”:”, mint a “buttonAction:”. Ez az ötletesen elnevezett buttonAction () metódust hívja.

func buttonAction(feladó:UIButton) {

msg = MyEdit.text

showAlert (sender )

}

a buttonAction () metódus hozzárendeli a szövegmezőből a szöveges karakterláncot az msg változóhoz, amelyet ezután a ShowAlert () metódus jelenít meg. Ez az új iOS 8 Uialertcontrollert használja, amely felváltja a régi UIAlertView-t (most elavult). A showAlert () metódus létrehoz egy UIAlertController példányt, hozzáad egy műveletet, hogy legyen mire kattintania, majd meghívja a presentViewController () függvényt, ami az egyik módja annak, hogy a nézetvezérlő átváltson egy másikra.

Megjegyzések a kódhoz

a “var” kulcsszó egy változó deklarálására szolgál, míg a “let” egy állandó vagy megváltoztathatatlan változó deklarálására szolgál. Bár a vezérlőket megváltoztathatatlannak nyilvánítják, ez csak azt jelenti, hogy nem módosíthatja a vezérlőpéldányt, de megváltoztathatja annak tulajdonságait. A riasztást egy UIAlertController hajtja végre; egy másik típusú nézetvezérlő.

  • Python, Swift, JavaScript, Java: A legjobb módja annak, hogy megtanulják őket
  • itt az Apple tanítani Swift
  • az első pillantást az Apple Swift programozási nyelv

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.