将字符串保存到属性列表(plist)文件?
Posted
技术标签:
【中文标题】将字符串保存到属性列表(plist)文件?【英文标题】:Saving a string to a property list (plist) file? 【发布时间】:2012-10-05 19:03:55 【问题描述】:我一直在尝试保存到属性列表文件,但是它不起作用,因为它只是将对象保存到数组而不是实际文件本身,这意味着它保存的内容显然不会持久化。
[[category objectAtIndex:questionCounter] replaceObjectAtIndex:5 withObject:myString];
[category writeToFile:filePath atomically:YES];
我之前使用它来将属性列表文件保存到文档目录,以便我可以编辑并保存到它们:
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistFilePath = [documentsDirectory stringByAppendingPathComponent:fileNameFull];
if([[NSFileManager defaultManager] fileExistsAtPath:plistFilePath])
category = [NSMutableArray arrayWithContentsOfFile:plistFilePath];
NSLog(@"Files exist.");
else
filePath = [[NSBundle mainBundle] pathForResource:fileNamer ofType:@"plist"];
category = [NSMutableArray arrayWithContentsOfFile:filePath];
NSLog(@"Files have been created.");
我的属性列表由数组组成,在这些数组中我试图保存我的对象(字符串)。我有一种感觉,这是一件微不足道的事情,但我无法发现它。
【问题讨论】:
【参考方案1】:当你试图保存你的数组时,你传入了filePath
,它指向你无法写入的主包目录。您想改用plistFilePath
,如下所示:
[category writeToFile:plistFilePath atomically:YES];
【讨论】:
以上是关于将字符串保存到属性列表(plist)文件?的主要内容,如果未能解决你的问题,请参考以下文章
将来自不同视图控制器的字符串保存到 plist 而不覆盖旧的