Я дочитал документацию от Apple из списка свойств: http://developer.apple.com/library/mac/documentation/cocoa/Conceptual/PropertyLists/PropertyLists.pdfс помощью PLIST в iphone программирования
Однако у меня есть несколько вопросов по этому поводу:
1) Когда мы используем [Dict WriteToFile: plistPath атомарно : ДА] API, перезаписывает ли текущий контент plist? Он ничего не говорит в документации.
2) Можем ли мы на самом деле сделать plist вручную в Xcode новым файлом-> resources-> списком свойств? Или мы должны иметь это:
NSFileManager *fileManager = [NSFileManager defaultManager];
NSData *xmlData = [NSPropertyListSerialization //... a very long line here
if([fileManager fileExistsAtPath:plistPath]) {
[xmlData writeToFile:plistPath atomically:YES];
}
else {
[fileManager createFileAtPath:plistPath contents:xmlData attributes:nil];
}
3) Как мы проверяем, действительно ли мы написали данные в список свойств? Я пробовал продукты -> myapp.app -> «показывать в finder» -> щелкните правой кнопкой мыши -> показать содержимое пакета, и там есть некоторые plists, но я не вижу данные, которые пишутся! Это значит, что я не смог записать данные в plist?
EDIT: Спасибо всем! Извините за то, что сегодня глупый!
Вы не должны использовать ресурс, поскольку вы собираетесь писать ему в ходе выполнения приложения. - Извините, я не понимаю, что вы подразумеваете под этим ... вы говорите о вызове createFileAtPath от NSManager? –
Вы должны найти каталог документов вашего приложения следующим образом: '[[[NSFileManager defaultManager] URLsForDirectory: NSDocumentDirectory inDomains: NSUserDomainMask] lastObject];' и создайте там свой файл. Вы не должны создавать ресурс в Xcode, а затем пытаться записать его из своего приложения. – pwc
Другими словами, ваш каталог ресурсов доступен только для чтения. Вы не должны писать в файл там. – pwc