Итак, я прочитал тонну SO-вопросов о списках и как их сохранить, и хотя я не знаю, почему ни одна iPhone-Dev-Book, которую я видел до сих пор, не покрывала это (все они использовалифункция редактирования tableView), мне удалось ДЕЙСТВИТЕЛЬНО записать в список, скопировав его в папку документов следующим образом:
pListPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
pListPath = [pListPath stringByAppendingPathComponent:@"piggyBanks.plist"];
NSLog(@"Path: %@", pListPath);
// if the file does not exist yet, create it, and copy the plist data into it, that can be found in the bundle
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:pListPath]) {
NSString *sourcePath = [[NSBundle mainBundle] pathForResource:@"piggyBanks" ofType:@"plist"];
[fileManager copyItemAtPath:sourcePath toPath:pListPath error:nil];
}
// make the plist content available for usage
pListContent = [[NSMutableDictionary alloc] initWithContentsOfFile:pListPath];
NSLog(@"pListContent: %@", pListContent);
Пока все хорошо, но теперь, если я хочу изменить некоторое значение plist, когдапользователь нажимает на tableViewCell (это пользовательский, если это важно), хотя pListPath
, pListContent
и другие являются свойствами, определенными в .h и синтезированными в .m, я должен переопределить pListPath
и pListContent
внутри didSelectRowAtIndexPath
, чтобы получить путь, который будет известен в тот момент.
Может кто-нибудь сказать, пожалуйста, почему?Я имею в виду, это хорошо, что это работает, но я хотел бы знать, почему это должно быть так, или если я совершил ошибку где-то еще ..
Спасибо!