Sobes.tech
Junior — Middle

Czy może podać przykład nietypowego lub zapadającego w pamięć błędu, który zauważył w swojej praktyce?

sobes.tech AI

Odpowiedź od AI

Pewnego razu napotkałem błąd, gdy aplikacja niespodziewanie się zawieszała podczas ładowania określonego ekranu. Po długim poszukiwaniu okazało się, że przyczyną był niewłaściwy sposób korzystania z wartości opcjonalnej (Optional) w Swift: zamiast bezpiecznego wyciągnięcia wartości, użyto force unwrap, ale w niektórych przypadkach wartość była nil.

Przykład błędu:

let name: String? = nil
print(name!) // powoduje awarię aplikacji

Po poprawieniu na bezpieczne wyciągnięcie za pomocą wiązania opcjonalnego (optional binding), błąd zniknął:

if let safeName = name {
    print(safeName)
} else {
    print("Name is nil")
}

Ten przypadek zapadł mi w pamięć, ponieważ pokazał, jak ważne jest ostrożne obchodzenie się z opcjonalami w Swift i zwracanie uwagi na możliwe wartości nil.