la inceputul acestui an, directori Apple a prezentat Swift, care este menit să înlocuiască în cele din urmă Objective-C ca limbaj de programare de alegere pentru Mac-uri și dispozitive iOS. În timp ce Objective-C rămâne popular, dezvoltatorii se plâng frecvent de cât de dificil este de utilizat; Caracteristicile Swift vor elimina cel puțin unele dintre aceste probleme.în ciuda ușurinței sale de utilizare, dezvoltatorii vor trebui să petreacă ceva timp învățând cum funcționează limba. Acesta este primul dintre câteva articole care arată cum să programați aplicațiile iOS folosind Swift.
Click aici pentru a găsi locuri de muncă de dezvoltare rapidă.
cerințe preliminare
aveți nevoie de un Mac care poate rula OS X Mavericks. La momentul scrierii, puteți programa în Swift numai dacă sunteți un dezvoltator iOS înregistrat. Pentru a dezvolta și rula aplicații Swift, ar trebui să aveți iOS 8 și versiunea 6 a IDE Xcode de la Apple. (Trebuie să fii dezvoltator înregistrat pentru a-ți testa aplicațiile Swift pe iPhone, deși nu trebuie să fii unul pentru a crea și rula aceleași aplicații pe un emulator iPhone sau iPad.)
în sensul acestui tutorial, folosesc o versiune beta a XCode 6 (începând cu această scriere, acum până la semințe GM). Înainte de a începe, vă rugăm să descărcați fișierele de proiect și (dacă sunteți un dezvoltator Apple înregistrat cu cea mai recentă versiune beta Xcode) să le instalați. După aceea, deschideți fișierele proiectului și încărcați-le în Xcode.
ce este într-o aplicație Swift?
pentru a construi o aplicație Swift, mai întâi, veți crea un proiect Xcode și veți selecta Swift ca limbă. După completarea câtorva detalii, software-ul va crea un proiect pe care, în cazul meu, l-am numit FirstExample. Acesta va conține două fișiere de cod sursă pentru a începe, precum și două informații.fișiere plist care conțin informații despre aplicația dvs. și un fișier storyboard (de care nu vom avea nevoie pentru acest exemplu).
aceste active sunt minime aveți nevoie pentru a construi o o aplicație capabilă să ruleze. Dar dacă îl rulați de la început, veți obține doar un ecran gol—va trebui să adăugați mai mult cod pentru a-l face să facă orice. Vom ajunge la acea parte în curând.
încărcați CV-Ulangajatorii Doresc candidați ca tine. Încărcați CV-ul. Arată-le că ești minunat.
alte preparate
Dacă sunteți în urma de-a lungul și au creat o nouă aplicație, va exista un principal.fișier storyboard în lista de fișiere de proiect. Ștergeți-l și editați informațiile.fișier plist. Scoateți cheia care începe cu, ” nume de fișier storyboards principal.”
cele două fișiere de cod sursă sunt AppDelegate.swift și ViewController.swift. În iOS, un delegat este o clasă care face ceva în numele unei alte clase, iar AppDelegate este un loc pentru a gestiona stările speciale de UIApplication. Are o grămadă de funcții numite de iOS. De exemplu, dacă aplicația dvs. este utilizată și telefonul sună, atunci va fi apelată funcția applicationWillResignActive. Aici ar trebui să întrerupeți sarcinile, să dezactivați cronometrele etc.
Iată o listă de funcții care sunt stubbed în AppDelegate.swift. Dacă aplicația dvs. acceptă procesarea fundalului, atunci se numește applicationDidEnterBackground, altfel applicationWillTerminate. Aceste funcții sunt locuri pentru a adăuga cod pentru a salva date, dar vom folosi doar primul:
func applicationWillResignActive(aplicație: UIApplication)
func applicationDidEnterBackground(aplicație: UIApplication)
func applicationWillEnterForeground(aplicație: UIApplication)
func applicationDidEnterBackground(aplicație: UIApplication)
func applicationWillEnterForeground(aplicație: UIApplication)
func applicationdidbecomeactive (application: uiapplication)
func applicationwillterminate (application: uiapplication)
dacă prima definiție a funcției are nsobject: anyobject, schimbați-o astfel încât să citească Nsobject: nsdictionary. Aceasta este funcția la care trebuie să adăugăm cod; de aici începe totul. – > Bool înseamnă că returnează o valoare bool, adică true sau false. Dacă ceva nu merge bine în codul dvs. la pornirea aplicației, acesta va reveni „fals” (dar în cazul nostru, va reveni întotdeauna adevărat).
adăugarea de cod la AppDelegate.swift
aceasta este ceea ce întreaga AppDelegate.fișierul swift ar trebui să arate. Am eliminat comentarii să-l păstrați scurt:
în Swift creați o instanță a unei clase ca aceasta: window = UIWindow( .. ) pentru a crea o instanță de UIWindow. Acesta este doar un parametru trecut în, și este numit cadru cu valoarea UIScreen.ecran principal ().Limite, care specifică dimensiunea întregului ecran. Rețineți că fereastra este definită în clasa ca UIWindow?. Semnul de întrebare înseamnă că este un tip opțional și că valoarea poate fi absentă sau prezentă; acest lucru este similar cu o valoare nulă în alte limbi, dar funcționează pentru toate tipurile, nu doar pentru clase.
fereastra if let = verifică dacă fereastra este prezentă și desface fereastra (care este de tip UIWindow?) astfel încât proprietățile și metodele UIWindow pot fi utilizate. Încercați să comentați linia „dacă lăsați „și”} ” corespunzătoare (folosind//) și veți obține trei erori de compilare similare, prima spunând că backgroundColor nu este membru al UIWindow? Este un membru al UIWindow, astfel încât pentru a obține de la UIWindow? Pentru a UIWindow, are nevoie de despachetare; adăugați un „!”la sfârșitul numelui variabilei pentru ao desface (fereastră!.backgroundColor = va funcționa). Acestea fiind spuse, fără despachetarea oferită de” dacă lăsați”, fiecare fereastră.referința în bloc ar trebui, de asemenea, să fie fereastră!. „Dacă lăsați” face toate cele trei desfaceri.
liniile din acea instrucțiune setează ViewController ca controler de vizualizare rădăcină, care este primul creat. Controlerele de vizualizare pe care le implementați controlează întreaga navigare a aplicației. Apple ‘ s about View Controllers merită citit dacă doriți să înțelegeți întregul concept; cu toate acestea, în acest caz, vom acoperi doar un exemplu. Dar ce face exact un controler de vizualizare?
ce este un controler de vizualizare?
zona ecranului unui dispozitiv iOS este gestionată de unul sau mai multe controlere de vizualizare, care sunt utilizate atât pentru navigarea între formulare, cât și pentru gestionarea vizualizărilor dintr-un formular dat. O vizualizare este o instanță a unui UIView sau o subclasă a unui UIView și gestionează o zonă dreptunghiulară pe formular. Dacă formularul este echivalentul unui birou de cărămidă și mortar, controlorii de vizualizare a formularului ar fi managerii din acel birou, iar vizualizările sunt angajații care efectuează efectiv munca.
fiecare formular dintr-o aplicație este gestionat de unul și (uneori mai multe) controlere de vizualizare. Dacă un formular are o parte fixă și o parte derulantă, puteți utiliza un controler de vizualizare diferit pentru fiecare parte.
în această aplicație, există un controler de vizualizare pentru controale și unul care gestionează alerta pop-up atunci când faceți clic pe buton.
controlerul principal de vizualizare din aplicația mea are o vizualizare care cuprinde o etichetă (UILabel), o casetă de editare text (UITextField) și un buton (UIButton). Când rulați aplicația, tastați un text în caseta de editare a textului, apoi faceți clic pe buton. Aceasta va afișa un mesaj de alertă care afișează textul pe care l-ați tastat:
De asemenea, puteți proiecta vizual fluxul de utilizator prin aplicația dvs. folosind storyboard-uri, care se bazează pe mai puțin cod și ajută la eliminarea erorilor pe care le-ați obține cu gestionarea manuală a controlerelor de vizualizare în cod. În acest exemplu, totuși, totul este creat în cod în ViewController.swift.
vizualizări și controlere de vizualizare
fiecare controler de vizualizare are o proprietate de vizualizare care este o colecție de UIViews. Comenzile pe care le plasați pe ecran sunt toate subclase ale UIView și sunt adăugate la această vizualizare.
în exemplul nostru, vizualizarea este creată în metoda viewDidLoad() a controlerului de vizualizare suprascris. Am codat acest lucru pentru a apela funcția makeLayout (), unde sunt create comenzile UILabel și UIButton. UITextField a fost creat la nivel de clasă, deoarece trebuie să fie accesat în buttonAction funcție(). Toate cele trei controale au proprietățile lor setate în makeLayout (); un control nu apare până când nu este adăugat la vizualizare apelând vizualizarea controlerului de vizualizare.addSubview () metodă.
clasa ViewController începe astfel:
variabila msg ține șirul introdus. Pentru că avem nevoie pentru a accesa câmpul de text în afara metodei makeLayout () (a se vedea mai jos), este creat la nivel de clasă.
această metodă este în trei părți; prima creează un control UILabel cu instrucțiunea:
să FirstLabel = UILabel ()
următoarele șase linii stabilesc proprietățile FirstLabel. Rețineți că compilatorul este suficient de inteligent pentru a ști asta .redColor () este prescurtarea de la UIColor.redColor (). În cele din urmă, controlul este adăugat la vizualizare cu instrucțiunea addSubview ().
controlul UITextField a fost deja creat la nivel de clasă, așa că aici setăm proprietățile și le adăugăm la vizualizare. Butonul este creat, proprietățile setate și este adăugat la vizualizare.
Uibutonul.addTarget () metoda are un parametru de acțiune care specifică numele funcției care urmează să fie numit atunci când se face clic pe butonul, și are un trailing „:” like „buttonAction:”. Aceasta numește metoda buttonaction() numită imaginativ.
func buttonAction(expeditor:UIButton) {
msg = MyEdit.text
showAlert(sender)
}
metoda buttonAction() atribuie șirul de text din câmpul text variabilei msg, care este apoi afișată prin metoda ShowAlert (). Aceasta folosește noul iOS 8 UIAlertController, care înlocuiește vechiul UIAlertView (acum depreciat). ShowAlert () metoda creează o instanță a unui UIAlertController, adaugă o acțiune, astfel încât să aibă ceva să faceți clic, și apoi solicită presentViewController (), care este o modalitate pentru un controler de vizualizare pentru a comuta la un alt.
Comments On the Code
cuvântul cheie „var” este folosit pentru a declara o variabilă în timp ce „let” este folosit pentru a declara o variabilă constantă sau imuabilă. Deși controalele sunt declarate ca imuabile, asta înseamnă doar că nu puteți schimba instanța de control, dar puteți schimba proprietățile sale. Alerta este implementată de un UIAlertController; un alt tip de controler de vizualizare.
- Python, Swift, JavaScript, Java: cele mai bune moduri de a le învăța
- Iată Apple pentru a vă învăța despre Swift
- o primă privire asupra limbajului de programare Swift al Apple