Да, обе строки кода эквивалентны, обе приведут к чтению nil
id obj = [[NSUserDefaults standardUserDefaults] objectForKey:@"example key"];
NSUserDefaults
вернет nil, если ключ не был найден.Я бы порекомендовал использовать removeObjectForKey
вместо установки на ноль.
здесь показано, как проверить, установило ли значение ключа значение nil, удалить запись ключа из NSUserDefaults standardUserDefaults
.
NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys] copy];
for(NSString *key in keys) {
NSLog(@"Key Name: %@", key);
}
[keys release];
или просто сбросить словарь ключ / значение NSUserDefaults standardUserDefaults
NSLog(@"All contents of NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);