Tak, jest to właściwy sposób sprawdzenia optional
, nil
czy objectForKey
metoda ma lub zwraca jakąkolwiek metodę wartości , AnyObject?
która jest Implicit optional
.
Więc jeśli userDefaults.objectForKey(kUSERID)
ma jakąkolwiek wartość, niż szacuje true
. jeśli userDefaults.objectForKey(kUSERID)
ma nil
wartość, do której się szacuje false
.
Z szybkiego przewodnika programowania
Instrukcje if i wymuszone rozpakowywanie
Można użyć instrukcji if, aby sprawdzić, czy opcja opcjonalna zawiera wartość. Jeśli opcjonalny ma wartość, przyjmuje wartość true; jeśli nie ma żadnej wartości, przyjmuje wartość fałsz.
Teraz w symulatorach jest błąd, że po ustawieniu klucza userDefaults
zawsze pozostają ustawione bez względu na to, czy usuniesz aplikację. Musisz zresetować symulator.
Zmień Simulator sprawdzić tę metodę przed ustawieniem klucz userDefaults
lub wyjąć kluczyk userDefaults.removeObjectForKey(kUSERID)
z userDefaults
nastąpi powrót NO
urządzenia .Na to jest rozwiązane w iOS8 beta4
.