Swift tiplarni o‘zgartirish
Swift tiplarni o‘zgartirish (type casting)
Tiplar o‘rtasida o‘zgartirish uchun as, as? va as! dan foydalaning, ayniqsa protokollar va Any bilan ishlaganda.
Upcasting va downcasting
Qiymatni supertipga o‘tkazing (upcast) yoki as? yordamida optional downcasting orqali uni qaytadan subtipga o‘tkazishga urinib ko‘ring.
Misol
let items: [Any] = [1, "Swift"]
for item in items {
if let i = item as? Int {
print("Int: \(i)")
} else if let s = item as? String {
print("String: \(s)")
}
}
Ushbu misol qiymatlarni Any tipidan ularning aniq (concrete) tiplariga shartli ravishda o‘tkazadi.
Majburiy downcast
as! dan faqat bajarilish vaqtidagi tipga to‘liq ishonchingiz komil bo‘lgandagina foydalaning. Agar o‘tkazish muvaffaqiyatsiz bo‘lsa, dastur ishdan chiqadi (crash).
Misol
let value: Any = 42
let i = value as! Int // forced downcast
print(i)
Tip har xil bo‘lishi mumkin bo‘lsa, optional o‘tkazishni (as?) afzal ko‘ring va qiymatni xavfsiz ochib oling (unwrap).
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
