Ogólnie w programowaniu chcemy unikać zmiennych, które nie mają wartości (null
lub nil
), ponieważ ich używanie często powoduje niezdefiniowane zachowanie (wyjątki, błędy, awarie).
Na przykład często stosowaną praktyką jest, aby dla odwołań Array
ustawić pustą tablicę zamiast nil
. Na pustej tablicy możemy użyć wszystkich metod, np. Array
. indexOf
lub count
. Używanie ich na nil
może spowodować awarię.
Opcje pozwalają nam określić, że niektóre zmienne nigdy nie są puste, dlatego możemy z nich korzystać bezpiecznie, a kompilator sprawdza, czy nil
nigdy nie jest do nich przypisany. Ponadto, kompilator wymusza na kliencie, że każda konwersja z opcji do nie-opcji jest jawna (w razie potrzeby zawsze sprawdzamy pod kątem nil
).
Więc odpowiedź będzie, że OPCJE:
- Wymuszanie dobrych praktyk programistycznych.
- pozwolić na lepsze sprawdzanie kodu w czasie kompilacji
zapobiegając w ten sposób błędów programistycznych.
Należy również pamiętać, że zawsze należy unikać opcji, jeśli to możliwe. Największą zaletą opcji jest fakt, że większość zmiennych nie jest opcjami.
Swift nie obsługuje zera poza opcją Opcjonalnie. Opcjonalne może zawierać zero, a nie-Opcjonalne nie może zawierać zera. Jeśli zadeklarujesz zmienną jako nieopisaną rozpakowaną za pomocą "!", Jeśli zmienna zawiera zero, gdy z niej skorzystasz, otrzymasz wyjątek. Dlatego nie musisz radzić sobie ze zmienną "magicznie" zawierającą zero, gdy się jej nie spodziewasz. – Michael
@Michael Twój komentarz działa jako odpowiedź. –