Sobes.tech
Junior — Middle

Vai jūs varat sniegt piemēru par neparastu vai atmiņā paliekošu kļūdu, ko esat atklājis savā praksē?

sobes.tech AI

Atbilde no AI

Reizēm es sastapos ar kļūdu, kad lietotne negaidīti sabruka, ielādējot noteiktu ekrānu. Pēc ilgām meklēšanām atklāju, ka iemesls bija nepareiza opcional vērtības (Optional) lietošana Swift valodā: vietā, lai droši izvilktu vērtību, tika izmantots force unwrap, bet dažos gadījumos vērtība bija nil.

Kļūdas piemērs:

let name: String? = nil
print(name!) // Izraisa lietotnes avāriju

Pēc drošas izvilkšanas ar opcionalo saistību (optional binding) kļūda izzuda:

if let safeName = name {
    print(safeName)
} else {
    print("Vārds ir nil")
}

Šis gadījums palika atmiņā, jo tas parādīja, cik svarīgi ir uzmanīgi strādāt ar opcionaliem Swift valodā un pievērst uzmanību iespējamām nil vērtībām.