我一直在尝试保存到属性列表文件,但它不能将对象保存到数组而不是实际文件本身,这意味着它保存的内容显然不会持续存在。
[[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.");
}
我的属性列表由数组组成,在我试图保存对象(字符串)的那些数组中。我有一种感觉,这是微不足道的,但我无法发现它。
答案 0 :(得分:2)
当您尝试保存阵列时,您传入的filePath
指向主捆绑目录,您无法写入该目录。您想要使用plistFilePath
,例如:
[category writeToFile:plistFilePath atomically:YES];