NSUserDefaults: вопрос о разнице между двумя подходами - PullRequest
0 голосов
/ 27 июня 2011

Проблема

Я хочу сохранить строку NSString в NSUserDefaults и получить ее позже.У меня есть вопрос о двух разных методах получения.Теперь в верхней части файла у меня есть:

// String used to identify the update object in the user defaults storage.
static NSString * const kLastStoreUpdateKey = @"LastStoreUpdate";

Метод 1

NSString *lastUpdate = [[NSUserDefaults standardUserDefaults] objectForKey:kLastStoreUpdateKey];

Метод 2

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];  
NSString *myString = [prefs stringForKey:kLastStoreUpdateKey];

Есть ли существенные различия, о которых я должен знать?Кроме того, может кто-нибудь объяснить, что именно является objectForKey?API Apple гласит: он «Возвращает объект, связанный с первым появлением указанного значения по умолчанию.» Что именно они подразумевают под «указанным значением по умолчанию?

Спасибо!

1 Ответ

1 голос
/ 27 июня 2011

Как правило, вы должны использовать метод 1.

это "objectForKey".

Потому что вы знаете это, что бы вы ни хранили в NSUserDefault. Таким образом, во время его извлечения вы можете поймать объект с соответствующим классом, таким как NSString, Array или любым другим определенным пользователем.

обычно "stringForKey" не используется.

Если вы храните ingteger, BOOL в NSUserDefault, вам следует использовать intForKey, BOOLforKey и т. Д.

Приветствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...