2010-10-17 10 views
1

В моей игре я хочу сохранить набор целых чисел, которые могут просматривать игроки статистики. Например, число смертей. Это int, который я просто увеличиваю на каждый каждый раз, когда они получают игру.Сохраните набор целых чисел iPhone

Как я могу сохранить это, а затем у меня на этом номере, когда я перезапущу игру?

Спасибо.

EDIT:

Ok после прочтения нескольких ответов Im мышления письма на PLIST путь вперед. Я смотрел на учебники, но позволяет сказать, что я пытаюсь это:

scoreData *score = [scoreData sharedData]; 
[dictionary setValue:score.highScore forKey:@"key2"]; 
[dictionary writeToFile:@"stats.plist" atomically:NO]; 

я доступ к своему синглтон с моим счетом внутри. Теперь, пытаясь установить значениеValue, я получаю сообщение об ошибке Im, пытающееся преобразовать int в объект.

Я не уверен, как еще подойти к нему. Это кажется достаточно простым, однако повсюду, на мой взгляд, похоже, по сути, тот же подход.

Спасибо за помощь до сих пор, больше ценится.

ответ

0

Try ...

[[NSUserDefaults standardUserDefaults] setInteger:highScore forKey:@"HighScore"]; 
highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"]; 
+1

Первая строка вашего кода просто неверна. '-setValue: forKey:' не существует. Вместо этого вы хотите '-setInteger: forKey:'. – jer

+0

@Jer Пытался сделать это из памяти. Исправлена. SO obj-c валидатор будет хорошим дополнением. Благодаря ;) – Jordan

0

Вы можете написать файл (т. Е. Простые функции C fopen() и т. Д.), Можете использовать свои собственные классы и использовать NS(Keyed)Archiver или использовать NSUserDefaults для сохранения данных.

+0

Из этих альтернатив NSUserDefaults представляется наиболее подходящим. – 2010-10-17 14:07:36

1

Любое количество способов.

Если вы только сохраняете это и, возможно, пару других простых вещей, использование пользовательских настроек по умолчанию - это, пожалуй, лучшая идея.

Если, однако, вы сохраняете намного больше предметов, чем несколько, вы можете либо использовать свой собственный список свойств (если количество элементов меньше 200 или около того).

Если у вас много настроек, я обычно советую людям посмотреть на Core Data. Это быстро с большим количеством предметов, в то время как два других, не так много.

+0

Файл списка свойств также является хорошей идеей. Core Data только для пары целых чисел очень амбициозны, хотя :) – Eiko

+0

Да, но я не знаю, есть ли у него другие вещи, которые происходят под капотом, или что еще он может захотеть сохранить. Мог бы также положить его на стол и позволить ему решить, что подходит для его дела. :) – jer

2

Я бы не злоупотреблять NSUserDefaults (Apple расстраивайтесь это на WWDC в этом году). Вместо этого не просто создайте NSMutableDictionary, а затем сохраните в нем объекты NSNumber. MutableDictionary можно легко записать в файл и как легко прочитать.