Sim este é o caminho certo para verificar a optional
tem nil
ou qualquer valor objectForKey
método retorna AnyObject?
o que é Implicit optional
.
Portanto, se userDefaults.objectForKey(kUSERID)
tiver algum valor do que avalia true
. se userDefaults.objectForKey(kUSERID)
tem nil
valor do que avalia false
.
Do guia de programação rápida
Instruções If e desembrulhamento forçado
Você pode usar uma instrução if para descobrir se um opcional contém um valor. Se um opcional tiver um valor, ele será avaliado como verdadeiro; se não tiver nenhum valor, será avaliado como falso.
Agora, há um bug nos simuladores que depois de definir a chave, userDefaults
eles sempre permanecem definidos, não importa se você exclua seu aplicativo.
Redefinir sua Simulator verificar este método antes de definir chave na userDefaults
ou remova a chave userDefaults.removeObjectForKey(kUSERID)
de userDefaults
e ele irá retornar NO
dispositivos .No que seja resolvido em iOS8 beta4
.