Junior
Čo sú voliteľné a akú úlohu zohrávajú v jazyku Swift?
sobes.tech AI
Odpoveď od AI
Voliteľ v Swift je typ, ktorý môže obsahovať hodnotu alebo nie (byť nil).
Úlohy voliteľov:
- Spracovanie absencie hodnôt (nil-bezpečnosť).
- Prevencia chýb pri prístupe k nil počas behu (crash).
- Jasné určenie v kóde, kde môže chýbať hodnota.
Hlavné koncepty:
- Deklarácia voliteľného:
ValueType?aleboOptional<ValueType> - Priradenie nil: voliteľnému možno priradiť
nil. - Nútené rozbalenie (
!): extrahuje hodnotu, ak existuje, inak spôsobí fatálnu chybu. - Voliteľné viazanie (
if let,guard let): bezpečne extrahuje hodnotu, ak nie jenil, vytvárajúca dočasnú konštantu alebo premennú. - Voliteľný reťazec (
?.): umožňuje bezpečne volať metódy, pristupovať k vlastnostiam alebo indexom voliteľného. - Operátor zlúčenia s nil (
??): poskytuje predvolenú hodnotu, ak je voliteľnýnil.
Príklady použitia:
// Deklarácia voliteľného Int
var age: Int?
// Priradenie hodnoty
age = 30
// Nútené rozbalenie (nebezpečné, ak age == nil)
// let unwrappedAge = age!
// Voliteľné viazanie s if let
if let currentAge = age {
print("Vek: \(currentAge)") // Bude vykonané, ak age nie je nil
} else {
print("Neznámy vek") // Bude vykonané, ak age je nil
}
// Voliteľný reťazec
struct Person {
var name: String
var address: Address?
}
struct Address {
var street: String
}
var person: Person? = Person(name: "Alice", address: Address(street: "Main St"))
// Pokus o získanie ulice cez voliteľný reťazec
let streetName = person?.address?.street // streetName bude String?
// Operátor zlúčenia s nil
let displayedStreet = streetName ?? "Neznáma ulica"
print(displayedStreet) // Vytlačí "Main St"