1.首先创建项目,在视图界面加入一个label,一个Txt控件:
2.注意标明恢复ID:
3.在视图控制器的head文件中加入属性设置和宏定义:
#import <UIKit/UIKit.h>
#define kSaveKey @"savekey"
@interface ViewController : UIViewController
@property (nonatomic,weak) IBOutlet UITextField *txtField;
@end
4.在视图控制器的m文件中加入恢复和保持方法:
-(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];
}
-(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);
}
最后不要忘记把txt控件和新定义的属性进行关联,关联完成后,UI状态恢复和保持就已经处理好了。