Does writeToFile: атомизировать, добавить данные в существующий .plist? Можно ли изменить значение в .plist? Должно ли приложение быть перекомпилировано для вступления в силу изменения?object-c Добавить в/Редактировать .plist файл
У меня есть пользовательский список .plist в моем приложении. Структура приведена ниже:
<array>
<dict>
<key>Title</key>
<string>MyTitle</string>
<key>Measurement</key>
<dict>
<key>prop1</key>
<real>28.86392</real>
<key>prop2</key>
<real>75.12451</real>
</dict>
<key>Distance</key>
<dict>
<key>prop3</key>
<real>37.49229</real>
<key>prop4</key>
<real>58.64502</real>
</dict>
</dict>
</array>
Тег массива содержит несколько элементов с одинаковой структурой. Мне нужно добавить элементы в существующий .plist. Это возможно? Я могу написать UIView, чтобы сделать это, если да.
* EDIT - ОК, я просто попытался записать файл, надеясь, что он по крайней мере перезапишет, если не добавит его. Как ни странно, следующий код выбирает другой путь при чтении и записи.
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
Файл .plist находится в моем проекте. Я могу это прочитать. Когда я пишу ему, он создает файл .plist и сохраняет его в моем /users/.../library/! Это имеет смысл для всех?
Абсолютно правильно. Вы никогда не должны писать в файлы в своем приложении. У пользователей без прав администратора обычно нет разрешения на это. Если вам нужно сохранить постоянные данные, сохраните их в '~/Library/Application Support' или используйте' NSUserDefaults'. –
Спасибо. Имеет смысл. – Dave