数据保存于恢复
用户操作(输入数据)之后,应用程序退出并且终止之后,当用户再次打开应用的时候还是保持原来的状态
一:在storyBoard中设置恢复标志符
二:在AppDalegate中代理方法
-(BOOL) application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder { return YES; } -(BOOL) application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder { return YES; } - (void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(NSCoder *)coder { [coder encodeFloat:2.0 forKey:@"Version"]; } - (void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder { float lastVer = [coder decodeFloatForKey:@"Version"]; NSLog(@"lastVer = %f",lastVer); }
三:在ViewController中实现归档相应的方法:
-(void)encodeRestorableStateWithCoder:(NSCoder *)coder { [super encodeRestorableStateWithCoder:coder]; [coder encodeObject:self.txtField.text forKey:kSaveKey]; } -(void)decodeRestorableStateWithCoder:(NSCoder *)coder { [super decodeRestorableStateWithCoder:coder]; self.txtField.text = [coder decodeObjectForKey:kSaveKey]; }
注:这里使用的原理就是归档,如果是一些其他数据的话直接使用归档就可以,这里因为是storyBoard所以使用到了恢复标志符