Junior — Middle
Ar galite pateikti pavyzdį apie neįprastą ar įsimintiną klaidą, kurią pastebėjote savo praktikoje?
sobes.tech AI
Atsakymas iš AI
Kartą susidūriau su klaida, kai programa netikėtai užstrigo įkeliant tam tikrą ekraną. Po ilgų paieškų paaiškėjo, kad priežastis buvo netinkamas pasirinktinės (Optional) reikšmės naudojimas Swift kalboje: vietoj saugaus reikšmės išgavimo buvo naudojamas force unwrap, tačiau kai kuriais atvejais reikšmė buvo nil.
Klaidos pavyzdys:
let name: String? = nil
print(name!) // Sukelia programos avariją
Po pataisos, naudojant saugų išgavimą su pasirinktinės ryšio (optional binding) pagalba, klaida išnyko:
if let safeName = name {
print(safeName)
} else {
print("Vardas yra nil")
}
Šis atvejis liko mano atmintyje, nes parodė, kaip svarbu atsargiai dirbti su opcionais Swift kalboje ir būti dėmesingam galimiems nil reikšmėms.