Помогите NSArrays в достижении высоких результатов - xcode4 - PullRequest
0 голосов
/ 22 мая 2011

ОК, извините, если это просто, но ... я делаю игру для iPhone, и у меня есть список рекордов - ну, не совсем список, но куча целых чисел, все, что у меня есть сохранены с помощью NSUserDefaults, которые работают нормально. Моя проблема в том, что я расширил свою игру, и с более чем 30 уровнями и 3 режимами (90 рекордов) я наконец понял, что даже это работает, это становится смешным. Я искал в интернете, но мало что конкретно говорит вам о NSArrays, хотя они часто упоминаются в опросах с высокой оценкой переполнения стека. Я также понимаю, что мне, вероятно, придется сохранять каждый элемент как NSUserDefault ... так что, в любом случае, это поможет? Если только не существует какой-то NSUserDefaultArray ... но сотни целых чисел (и растущих), похоже, выходят из-под контроля.

1 Ответ

1 голос
/ 22 мая 2011

Я слышу 2 вопроса здесь:

1) Как упаковать целые числа в NSArray:

Ознакомьтесь с Apple Docs "Темы программирования коллекций, массивы: упорядоченные коллекции".Он имеет удобные фрагменты кода.

Обратите внимание, что вам нужно будет обернуть целые числа в NSNumbers, чтобы сохранить их в массиве.См. «Темы программирования чисел и значений, использование чисел» для фрагментов кода.

2) Как сохранить (сохранить) целые числа с высокими показателями:

Я предполагаю, что большинство программистов игр хранят эточто-то вроде в базе данных, что означает, что вам нужно выяснить, как использовать Core Data / SQLite, что довольно сложно.Но вы все равно захотите узнать об этом в конце концов, и вы сможете таким образом сохранять другие игровые данные, улучшая свое приложение.

Кстати, Core Data не имеет тип данных массива.Вы должны использовать "трансформируемый" атрибут.Однако, если вы создадите явные файлы h и m для класса управляемых объектов, вы можете просто повторно ввести свойство как NSArray, например:

@property (nonatomic, retain) NSArray *arrayHighScores;

Затем вы можете просто обработать этот атрибут как обычный NSArray.

Какао-программирование Hillegasse для Mac может дать вам базовые знания о базовых данных, и есть другие книги, которые помогут вам применить их на iPhone.

ИЛИ, проверьте эту ссылку: Хранение пользовательских объектов в NSMutableArray в NSUserDefaults

...