Ser*_*nce 0 iphone cocoa-touch ios
当我的应用程序使用属性列表启动时,我需要读取数组中的一小部分数据.在应用程序运行时,此数据可能会根据用户的操作而发生变化.当应用程序关闭时,我需要将数据写回文件.
从高层次的角度来看,我只是想知道这样做的最佳设计模式是什么?我的第一个直觉是简单地声明一个数组,appDelegate并appDelegate在需要时通过实例访问该数组.然后最后,他applicationWillResignActive:将数据写回文件的方法.
但是我被告知在appDelegate中声明一个这样的变量是个坏消息,所以我想知道是否有人可以告诉我实现这一目标的最佳方法是什么.
这取决于你的应用程序想要对加载的数据做什么?如果需要访问项目中的任何位置,可以创建单例模式(例如SharedData类),获取静态实例
e.g: [SharedData sharedInstance]
Run Code Online (Sandbox Code Playgroud)
您首先获得此实例,您可以从属性文件中加载数据.
你应该创建一个实例方法,例如:
- (void) saveData;
Run Code Online (Sandbox Code Playgroud)
并通过以下方法调用它:
- (void)applicationWillTerminate:(UIApplication *)application{
[[SharedData sharedInstance] saveData];
}
Run Code Online (Sandbox Code Playgroud)
和
- (void)applicationDidEnterBackground:(UIApplication *)application{
[[SharedData sharedInstance] saveData];
}
Run Code Online (Sandbox Code Playgroud)
如果要在按下主页按钮时保存.但是,必须保存数据的确切时间取决于应用程序工作流程.最好在修改存储数据的操作之后立即保存(可能使用后台线程).
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |