NsuserDefaults Boolforkey ограничение дизайном?
-
25-09-2019 - |
Вопрос
То NSUserDefaults
Документация API имеет boolForKey:
сообщение, которое описано так -
boolForKey:
Возвращает логическое значение, связанное с указанным ключом.
- (BOOL)boolForKey:(NSString *)defaultName
Возвращаемое значение Если логическое значение связано с именем пользователя по умолчанию в пользовательских по умолчанию, это значение возвращается. В противном случае нет возвращается.
Учитывая, что А. [[NSUserDefaults standardUserDefaults] boolForKey:@"some_Key"]
возвращает нет, это может быть либо потому, что ключ не существует, либо ключ существует и имеет boolean
Значение №. Как мы можем отличить? На данный момент я могу только избегать попадания в эту ситуацию в первую очередь.
Решение
Вы используете пользователь по умолчанию неправильно. При запуске вашего приложения вы должны позвонить -[NSUserDefaults registerDefaults:]
С словарем, который содержит значения по умолчанию для всех предпочтений.
Затем, если пользователь не установил предпочтение, -boolForKey
вернет значение по умолчанию.
Другие советы
Использовать -objectForKey:
метод также. Это скажет вам, существует ли ключ.