我們希望在輸入一些字符,當App關掉再次運行的時候之前輸入的那些字符會自動顯示在Text中.
然后在AppDelegate.m中添加如下回調方法:
-(BOOL)application:(UIApplication*)application shouldSaveApplicationState:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (nonnull NSCoder *)coder{returnYES;}-(BOOL)application:(UIApplication*)application shouldRestoreApplicationState:(NSCoder *)coder{returnYES;}
如果你想要保存App級別的數據可以使用以下2個回調方法:
-(void)application:(UIApplication*)application didDecodeRestorableStateWithCoder:(NSCoder*)coder{? ?
?float val = [coder decodeFloatForKey:kAppValue];? ??
NSLog(@"value is %f",val);
}
-(void)application:(UIApplication*)application willEncodeRestorableStateWithCoder:(nonnullNSCoder*)coder{
? ? [coder encodeFloat:99.99forKey:kAppValue];
}
如果你想要保存某個View界面中的數據,就像一開始說的那樣,你可以在ViewController.m里添加如下2個方法:
-(void)decodeRestorableStateWithCoder:(NSCoder *)coder{?
?? [superdecodeRestorableStateWithCoder:coder];
self.inputText.text= [coder decodeObjectForKey:kSaveKey];
}
-(void)encodeRestorableStateWithCoder:(NSCoder *)coder{
? ? [superencodeRestorableStateWithCoder:coder];? ?
?[coder encodeObject:self.inputText.textforKey:kSaveKey];
}
現在你運行App,輸入一些字符然后關閉App.當你再次運行該App時你會發現View界面中的文本框會顯示之前輸入的字符串: