假设我的应用程序状态被解压缩到一个对象中(以便所有特定于应用程序实例的信息都包含在一个对象中)并且该对象支持nscoding协议。我如何轻松地坚持它并将其加载到退出/启动我的应用程序?如何在退出时轻松保持应用程序状态
我当前的代码看起来像这样
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
State* state = (State*)[defaults objectForKey:@"State"];
if(state!=nil)
{
viewController.state = state;
}
}
- (void)applicationWillTerminate:(UIApplication *)application {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:self.viewController.state forKey:@"State"];
}
但在加载状态始终为零,所以,我认为它是不是最好的模式在那里:)
原来NSUserDefaults只支持属性列表对象,如NSArray,NSData等...没有自定义对象,除非你把它包装在nsdata中