2010-08-16 4 views
2

Я разрабатываю приложение для iPad, и я не уверен, что лучший способ хранить данные приложения. До сих пор я использовал .plist, который хранит сотни строк для игры-головоломки, и это отлично работает, но если мое приложение должно быть хорошим, оно должно будет хранить десятки тысяч строк (представляющих предварительно сделанные загадки).Лучшие способы хранения данных приложений для iPad/iPhone

Я читал, что это плохая идея использовать .plist для больших файлов, так что лучший способ хранить много информации (только для чтения) для iPhone/iPad-приложения? [Можете ли вы также указать мне на солидный учебник о том, как его сохранить? ]

[Мне не нужно загружать все строки в мое приложение в любой момент времени, всего около 50 за каждый раунд игры].

ответ

2

У вас есть несколько вариантов с верхней частью моей головы: Вы можете использовать базу данных или вы можете создать архив. Лично я использовал бы подход архива, но база данных в sqlite или CoreData будет работать так же хорошо (и может даже быть быстрее).

Чтобы создать архив, вашим классам необходимо подписаться на протокол NSCoding, реализуя два метода: - (id) initWithCoder:(NSKeyedUnarchiver*)aDecoder и - (void) encodeWithCoder:(NSKeyedArchiver*)aCoder. Они используются по телефону [aCoder encodeObject: myString forKey: @"theKeyIWantToUse"]; и [self setMyString: [aDecoder decodeObjectForKey: @"theKeyIWantToUse"]];

Чтение и запись данных из архива очень просто и относительно быстро благодаря полировке Apple в системе кодирования.

Опять же, вы можете построить бэкэнд CoreData, который будет управлять хранением и извлечением объектов в базе данных. Это тезисы, где хранятся данные и как они доступны, что очень полезно. Надеюсь, это поможет!

+0

Да, это так. Благодарю вас! – 2010-08-21 21:01:48