Вопрос

То NSUserDefaults Документация API имеет boolForKey: сообщение, которое описано так -

boolForKey:

Возвращает логическое значение, связанное с указанным ключом.

- (BOOL)boolForKey:(NSString *)defaultName

Возвращаемое значение Если логическое значение связано с именем пользователя по умолчанию в пользовательских по умолчанию, это значение возвращается. В противном случае нет возвращается.

Учитывая, что А. [[NSUserDefaults standardUserDefaults] boolForKey:@"some_Key"] возвращает нет, это может быть либо потому, что ключ не существует, либо ключ существует и имеет boolean Значение №. Как мы можем отличить? На данный момент я могу только избегать попадания в эту ситуацию в первую очередь.

Это было полезно?

Решение

Вы используете пользователь по умолчанию неправильно. При запуске вашего приложения вы должны позвонить -[NSUserDefaults registerDefaults:] С словарем, который содержит значения по умолчанию для всех предпочтений.

Затем, если пользователь не установил предпочтение, -boolForKey вернет значение по умолчанию.

Другие советы

Использовать -objectForKey: метод также. Это скажет вам, существует ли ключ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top