Использование PLists для сохранения на iPhone - PullRequest
1 голос
/ 31 июля 2011

Простой вопрос о списках свойств в приложении для iPhone.Я знаю, что вы можете читать данные из списка, но есть ли способ записать введенные пользователем данные в список?Если так, то как?Легко найти учебники по чтению информации из списков, но у меня возникают проблемы с поиском ресурсов для записи в списки.

Ответы [ 2 ]

2 голосов
/ 31 июля 2011

Вот как я записываю элементы данных в список:

[myPlistFile setInteger: myInt forKey: @"someKey"];

Конечно, вы можете изменить setInteger с помощью setBool и т. Д. Для разных типов.

Надеюсь, это поможет!

-

Редактировать:

Если ваш .plist был членом важного класса или подобного ...

Заголовок myClass:

NSUserDefaults* myPreferences;
@property (nonatomic, retain) NSUserDefaults* myPreferences;

.m myClass:

self.myPreferences = [NSUserDefaults standardUserDefaults]; // load our preferences
[[NSUserDefaults standardUserDefaults] registerDefaults: [NSDictionary dictionaryWithContentsOfFile: [[NSBundle mainBundle]pathForResource: @"nameOfFile" ofType: @"plist"]]]; // now load the custom .plist file
0 голосов
/ 31 июля 2011

В документах для NSArray и NSDictionary показано, что у каждого из них есть метод экземпляра:

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag

Для NSDictionary этот метод описывается как

Записывает представление списка свойств содержимого словаря в заданный путь.

Для NSArray это говорится в обсуждении

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

Так что, по сути, оба из них будут писать списки, если элементы, которые они содержат, могут быть использованы в списках, например. Array, Dictionary, Boolean, Data, Date, Number and String

...