Так, це правильний спосіб перевірити optional
наявність nil
або будь-який objectForKey
метод повернення методу, AnyObject?
який є Implicit optional
.
Тож якщо userDefaults.objectForKey(kUSERID)
має якесь значення, ніж воно оцінює true
. якщо userDefaults.objectForKey(kUSERID)
має nil
значення, ніж воно оцінює false
.
З швидкого посібника з програмування
Якщо виписки та примусове розгортання
Ви можете використовувати оператор if, щоб з’ясувати, чи містить необов’язкове значення. Якщо необов’язковий елемент має значення, він оцінюється як істина; якщо воно взагалі не має значення, воно оцінюється як false.
Зараз у симуляторах є помилка, ніж після встановлення ключа, userDefaults
вони завжди залишаються встановленими, незалежно від того, чи ви видаляєте програму. Вам потрібно скинути симулятор.
Скинути Simulator перевірити цей метод перед установкою ключа в userDefaults
або вийняти ключ userDefaults.removeObjectForKey(kUSERID)
із userDefaults
і він буде повертати NO
.А пристрій воно дозволена iOS8 beta4
.