Swift tiplarni o‘zgartirish


ULASHISH

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)")
  }
}

O‘zingiz sinab ko‘ring »

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)

O‘zingiz sinab ko‘ring »

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!