2009-09-26 11 views

ответ

57
[[NSUserDefaults standardUserDefaults] setInteger:HighScore forKey:@"HighScore"]; 

... чтобы получить его обратно:

NSInteger highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"]; 

Это объясняется очень просто в documentation.

+9

Вы правы, конечно. Но Googling (и поиск полезных двухлинейных решений, таких как ваши) намного быстрее, чем копирование документации Apple. Вы могли бы утверждать, что, по Гуглину, я либо ленив, либо эффективен ..! –

10

В более общем плане, вы можете сохранить объекты класса Foundation до значений по умолчанию пользователя, , например.:

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:highScore] forKey:@"kHighScore"]; 

и

NSInteger highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"kHighScore"] intValue]; 

Но удобный метод есть для принятия в NSInteger непосредственно.

Я предпочитаю использовать более агностик -setObject: и -objectForKey:, потому что он более четко отделяет тип объекта от доступа к словарю.

Смежные вопросы