我正在保存一个可由用户编辑到plist的数组。我的问题是,在代码中我实现代码的位置是什么?就像处理应用程序退出的方法之一一样?
这是代码
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"patientList.plist"];
[myPatients writeToFile:path atomically:YES];
答案 0 :(得分:2)
我认为这取决于您如何实施数据管理器。如果您有一个单例来处理访问/写入数据,为什么不在更新单例数组时将数据写入文件?通过这种方式,您可以确保在发生意外情况时始终保存数据。
乔丹建议的绝对是一条路线,但我会使用appWillResign vs willTerminate。
答案 1 :(得分:0)
我建议这样的事情:
- (void)applicationWillTerminate:(UIApplication *)application
{
[self saveCode];
}
- (void)saveCode
{
SArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"patientList.plist"];
[myPatients writeToFile:path atomically:YES];
}