我有这样的问题:我有一个 plist 文件,我通过将它添加到另一个项目的资源文件中来制作它,现在我可以阅读它,但我现在不知道如何更改它。如果可以的话,请帮助我。
问问题
464 次
1 回答
1
我们不能直接写入我们的应用程序包,因此我们需要将我们的 plist 复制到应用程序的文档目录以供此使用:
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"yourPlistName.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: path])
{
NSString *bundle = [[NSBundle mainBundle] pathForResource:@”yourPlistName” ofType:@”plist”];
[fileManager copyItemAtPath:bundle toPath: path error:&error];
}
然后用于编辑 plist 使用:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"yourPlistName.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath: plistPath ])
{
NSMutableDictionary* infoDict = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
[infoDict setObject:[NSNumber numberWithBool:hidden] forKey:@"yourKey"];
[infoDict writeToFile:plistPath atomically:YES];
}
这yourPlistName.plist
是您的 plist,并且yourKey
是您为其设置新值的键。
有关更多信息,请查看此视频。
于 2012-08-01T16:55:38.960 回答