NSUserDefaults и логическое значение - что происходит? Цель С

У меня есть этот простой код для сохранения и восстановления логического значения из NSUserDefaults. В конце, когда я делаю

po [defaults boolForKey:@"dummy"]

в отладчике вижу ноль.

Что здесь происходит?

// Store the data
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setBool:(BOOL)boolValue forKey:@"dummy"];

[defaults synchronize];

BOOL ans = [defaults boolForKey:@"dummy"];

Где я не прав?

Спасибо!

ОБНОВЛЕНО: Спасибо! Теперь понятно

1 ответ

Если вы делаете

p [defaults boolForKey:@"dummy"]

(это правильная команда отладки для печати примитивных типов) вместо

po [defaults boolForKey:@"dummy"]

ты увидишь NO

по значит print object и подходит для потомков NSObject

р просто print и подходит для примитивов, таких как BOOL или же int

Другие вопросы по тегам