在我正在开发的应用程序中,我有一堆“注册”对象,其中包含一些字符串,日期和整数。 所有这些对象在创建时都存储在NSMutableArray中,我现在想要以某种方式保存此数组,以便当用户关闭应用程序等时,可以在应用程序再次打开时存储和恢复内容。 / p>
我已经读到plist可能是最好的方法,但我似乎找不到任何示例,帖子等显示如何做到这一点?
基本上:如何在应用关闭时将我的NSMutableArray保存到plist文件,以及如何再次恢复它?
答案 0 :(得分:12)
NSMutableArray有一个执行此操作的方法,如果您确切知道将其保存到的位置:
//Writing to file
if(![array writeToFile:path atomically:NO]) {
NSLog(@"Array wasn't saved properly");
};
//Reading from File
NSArray *array;
array = [NSArray arrayWithContentsOfFile:path];
if(!array) {
array = [[NSMutableArray alloc] init];
} else {
array = [[NSMutableArray alloc] initWithArray:array];
};
或者您可以使用NSUserDefaults:
//Saving it
[[NSUserDefaults standardUserDefaults] setObject:array forKey:@"My Key"];
//Loading it
NSArray *array;
array = [[NSUserDefaults standardUserDefaults] objectForKey:@"My Key"];
if(!array) {
array = [[NSMutableArray alloc] init];
} else {
array = [[NSMutableArray alloc] initWithArray:array];
};