我正在使用plist来存储和检索我最喜欢的列表。一切正常,直到我重新启动我的Iphone。最喜欢的列表消失了。 我的问题是我可以使用plist来保存数据吗? 如果可能,有人可以帮忙吗? 感谢
答案 0 :(得分:2)
如何存放和重装你的plist?一般来说,它应该不是问题。只需将plist保存到应用程序的文档目录,然后转到后台(或者每当有变化时),并在开始时重新加载。
只需使用以下方法(对于NSArray或NSDictionary):
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag
您不应该像其他人建议的那样使用 NSUserDefaults
,因为这些仅适用于用户默认值,而不适用于用户数据。保存到文档的目录可确保正确备份数据,即使对于较大的数据集也能正常工作。
NSUserDefaults
适用于您可能在设置视图中显示的内容。
答案 1 :(得分:0)
我对ios开发没有经验,但我建议您使用NSUserDefaults 我在Mac OS X应用程序上使用它,它可以完成任务。
答案 2 :(得分:0)
正如bruno建议为什么不将用户pref数据存储在NSUserDefault中。
您可以这样做:
保存:
self.userDefaults = [NSUserDefaults standardUserDefaults];
[self.userDefaults setObject:myObject forKey:@"myKey"];
[self synchronize];
加载:
self.userDefaults = [NSUserDefaults standardUserDefaults];
NSObject *myObject = [self.userDefaults objectForKey:@"myKey"];
答案 3 :(得分:0)
是的,您可以使用p-list来保存数据并将您的p列表复制到文档目录中... 使用以下代码:
NSError *error;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"your_plist_name.plist"];
这可能会对你有帮助......