Orice program util are nevoie să stocheze date la un moment dat și, în Swift, există două moduri de a o face: variabile și constante. O variabilă este o arhivă de date căreia i se poate modifica valoarea oricând, iar o constanta este arhivă căreia îi poți seta valoarea o singură dată, iar apoi aceasta nu mai poate fi schimbată. Deci, variabilele au valori care variază, iar constantele au valori constante – simplu, nu?
Existența acestor două opțiuni poate părea să nu aibă sens, la urma urmei poți crea o variabilă căreia să nu îi schimbi valoarea niciodată – de ce trebuie declarată ca și constantă? Ei bine, se pare că mulți programatori sunt – șoc și groază! – nu chiar perfecți atunci când programează, și fac greșeli.
Unul dintre avantajele de a face distincție între constante și variabile este că Xcode ne va spune dacă am facut o greșală. Dacă spunem „fă asta o constantă, pentru că știu că nu se va schimba” iar apoi, 10 rânduri mai târziu, încercăm să o schimbăm, Xcode va refuza să ruleze aplicația.
De asemenea constantele sunt importante pentru că îi permit Xcode-ului să ia decizii despre modul în care îți construiește aplicația. Dacă știe că o valoare nu se va schimba niciodată, poate aplica optimizări care fac codul să ruleze mai rapid.
În Swift, creezi o variabilă folosind cuvântul cheie var
, astfel:
var name = "Tim McGraw"
Hai să punem asta într-un playground ca să primim niște feedback. Șterge tot ce găsești acolo înafară de randul import UIKit
(asta este instrucțiunea care introduce pachetul de bază iOS și ne va fi de folos mai târziu), și adaugă variabila de mai sus. Vei obține ceva similar cu poza de mai jos.
Datorită faptului că aceasta este o variabiă, poate fi schimbată oricând, dar nu trebuie folosit cuvântul cheie var
de fiecare dată – acesta este folosit doar când declarăm o nouă variabilă. Încearcă să scrii urmatoarele:
var name = "Tim McGraw"
name = "Romeo"
Primul rând creează variabila name
și îi dă o valoare inițială, apoi al doilea rând actualizează variabila name
astfel încât noua sa valoare este acum "Romeo"
. Vei vedea ambele valori printate in zona de rezultate a playground-ului.
Dar dacă am fi folosit o constantă în locul unei variabile? Ei bine, constantele folosesc cuvântul cheie let
in locul lui var
, deci putem schimba primul rând al codului cu let name
în locul lui var name
, astfel:
import UIKit
let name = "Tim McGraw"
name = "Romeo"
Dar apare o problemă: Xcode ne arată un simbol de alertă roșu lângă rândul numărul trei și subliniază name
cu o linie șerpuită. Dacă facem click pe simbolul roșu de alertă Xcode ne va spune care este problema: "Cannot assign to 'let' value 'name'" – care este modul lui Xcode de a supune „încerci să modifici o constantă dar nu ai voie să faci asta.”.
Deci, constantele reprezintă un mod perfect de a face o promisiune lui Swift și chiar și nouă că o valoare nu se va schimba, pentru că, dacă încercăm să o facem, Xcode va refuza să ruleze. Dezvoltatorii Swift au o puternică preferință să folosească constante oriunde este posibil pentru că ele fac codul mai ușor de înțeles. Mai mult, în ultima versiune a lui Swift, Xcode ne va atenționa când creăm o variabilă pe care nu o modificăm nicodată!
Notă importantă: numele variabilelor și al constantelor trebuie sa fie unice în codul nostru. Vom primi o eroare dacă încercăm să folosim același nume de două ori, astfel:
var name = "Tim McGraw"
var name = "Romeo"
Dacă playground-ul găsește o eroare în cod, fie va arăta o atenționare cu un chenar roșu, fie va refuza să ruleze. Vom ști că a avut loc a doua variantă deoarece textul din panoul de rezultate a devenit gri în loc de culoarea sa obișnuită de negru.
SPONSORED Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until October 1st.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.