只是一个简单的问题。我对此并不确定。
当我将Objective.plist添加到Objective C iPhone项目并从中读取设置时。是否可以更新此文件中的设置?或者这个文件只是可读的,我应该在另一个位置创建一个副本,如下所示:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
并检查它在发布时是否存在?
答案 0 :(得分:1)
您无法通过Xcode编辑应用中包含的文件,因此您可以将其复制到用户的文档文件夹中。
但是,由于您对设置plist文件感兴趣,我建议您使用NSUserDefaults保存设置,这会自动保存.plist文件:在applicationDidFinishLoading上的app代理中写
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults boolForKey:@"firstRunComplete"]) {
[defaults setObject:optionOne forKey:@"optionOne"]; //replace
[defaults setObject:optionTwo forKey:@"optionTwo"]; //replace
[defaults setBool:YES forKey:@"firstRunComplete"];
[defaults synchronize];
}
当您想要更改其中一个选项时
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:optionOne forKey:@"optionOne"]; //replace
[defaults setObject:optionTwo forKey:@"optionTwo"]; //replace
[defaults synchronize];
或者,您可以使用此方法编辑plist文件:
NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
[plistDict writeToFile:filePath atomically: YES];