Junior
Opsionallar nədir və Swift dilində hansı rolu oynayırlar?
sobes.tech Süni İntellekt
AI-dan cavab
Swift-də opsional, dəyər saxlaya bilən və ya saxlaya bilməyən (nil ola bilən) bir növdür.
Opsionaların rolları:
- Dəyərin olmamasını idarə etmək (nil təhlükəsizliyi).
- İcra zamanı nil-ə girişdəki səhvlərin qarşısını almaq (crash).
- Kodda dəyərin itə biləcəyi yerləri aydın şəkildə müəyyən etmək.
Əsas anlayışlar:
- Opsiyonel elan:
ValueType?və yaOptional<ValueType> - nil təyin etmək: bir opsiyonelə
niltəyin etmək mümkündür. - Zorunlu açma (
!): dəyəri çıxarır, əgər mövcuddursa, yoxsa ölümcül səhv yaradır. - Opsiyonel bağlama (
if let,guard let): dəyəri təhlükəsiz şəkildə çıxarır, əgərnildeyilse, müvəqqəti sabit və ya dəyişən yaradır. - Opsiyonel zənciri (
?.): metodları çağırmağa, xüsusiyyətlərə və ya indekslərə təhlükəsiz giriş imkanı verir. - nil ilə birləşdirmə operatoru (
??): opsiyonelnilolarsa, standart dəyər təqdim edir.
İstifadə nümunələri:
// Opsiyonel Int elan etmək
var age: Int?
// Dəyər təyin etmək
age = 30
// Zorunlu açma (təhlükəsiz deyil, əgər age == nil)
// let unwrappedAge = age!
// if let ilə opsiyonel bağlama
if let currentAge = age {
print("Yaş: \(currentAge)") // Əgər age nil deyilsə, işləyəcək
} else {
print("Yaş məlum deyil") // Əgər age nil olarsa, işləyəcək
}
// Opsiyonel zənciri
struct Person {
var name: String
var address: Address?
}
struct Address {
var street: String
}
var person: Person? = Person(name: "Alice", address: Address(street: "Main St"))
// Opsiyonel zənciri ilə küçəni almağa cəhd
let streetName = person?.address?.street // streetName String?
// nil ilə birləşdirmə operatoru
let displayedStreet = streetName ?? "Naməlum küçə"
print(displayedStreet) // "Main St" çap edəcək