将字符串保存到属性列表(plist)文件?

时间:2012-10-05 19:03:55

标签: iphone arrays plist

我一直在尝试保存到属性列表文件,但它不能将对象保存到数组而不是实际文件本身,这意味着它保存的内容显然不会持续存在。

[[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 个答案:

答案 0 :(得分:2)

当您尝试保存阵列时,您传入的filePath指向主捆绑目录,您无法写入该目录。您想要使用plistFilePath,例如:

[category writeToFile:plistFilePath atomically:YES];