Записать строки в массив в plist - PullRequest
1 голос
/ 31 августа 2011

У меня есть plist с массивом и некоторыми строками в массиве. Поэтому мне интересно, как записать новую строку в массив в plist. Когда я использую приведенный ниже код для получения строк из списка, я просто получаю нулевое значение в журнале.

NSMutableArray *myPrimaryinfo = [[NSMutableArray alloc] initWithContentsOfFile:@"/private/var/mobile/Library/Keyboard/UserDictionaryWordKeyPairs.plist"];

NSLog(@"%@", myPrimaryinfo);

Мой список выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Test string1</string>
    <string>Test string2</string>
    <string>Test string3</string>
    <string>Test string4</string>
</array>
</plist>

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

получите путь к файлу, как показано ниже, и попробуйте ..

NSString *path = [[NSBundle mainBundle] pathForResource:@"DrinkArray" ofType:@"plist"];
0 голосов
/ 31 августа 2011

Вы не можете сделать это на iOS, потому что файловая система непрозрачна вне песочницы вашего приложения.Для получения дополнительной информации о том, что доступно вашему приложению в файловой системе iOS, прочитайте это:

http://developer.apple.com/library/iOS/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/RuntimeEnvironment/RuntimeEnvironment.html#//apple_ref/doc/uid/TP40007072-CH2-SW12

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...