Sobes.tech
Junior — Middle

Масъулонам дар бораи намунаи хатоҳои ғайриоддӣ ё ёддоштӣ, ки дар амалияи худ пайдо кардаед, диҳед?

sobes.tech AI

Ҷавоб аз AI

Як аднажды я сутыкнуўся з памылкай, калі прыкладанне нечакана абрынулася пры загрузцы пэўнага экрана. Пасля працяглых пошукаў высветлілася, што прычына — няправільнае выкарыстанне апцыянальнага значэння (Optional) у Swift: замест бяспечнага выцягвання значэння выкарыстоўваўся force unwrap, але ў некаторых выпадках значэнне было nil.

Прыклад памылкі:

let name: String? = nil
print(name!) // Прыводзіць да краху прыкладання

Пасля выпраўлення з дапамогай бяспечнага выцягвання праз апцыянальнае звязванне (optional binding), памылка знікла:

if let safeName = name {
    print(safeName)
} else {
    print("Імя — nil")
}

Гэты выпадак застаўся ў памяці, бо паказаў важнасць акуратнай працы з апцыяналамі ў Swift і ўвагі да магчымых nil-значэнняў.