我們希望在輸入一些字符,當(dāng)App關(guān)掉再次運(yùn)行的時(shí)候之前輸入的那些字符會(huì)自動(dòng)顯示在Text中.
然后在AppDelegate.m中添加如下回調(diào)方法:
-(BOOL)application:(UIApplication*)application shouldSaveApplicationState:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (nonnull NSCoder *)coder{returnYES;}-(BOOL)application:(UIApplication*)application shouldRestoreApplicationState:(NSCoder *)coder{returnYES;}
如果你想要保存App級(jí)別的數(shù)據(jù)可以使用以下2個(gè)回調(diào)方法:
-(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];
}
如果你想要保存某個(gè)View界面中的數(shù)據(jù),就像一開(kāi)始說(shuō)的那樣,你可以在ViewController.m里添加如下2個(gè)方法:
-(void)decodeRestorableStateWithCoder:(NSCoder *)coder{?
?? [superdecodeRestorableStateWithCoder:coder];
self.inputText.text= [coder decodeObjectForKey:kSaveKey];
}
-(void)encodeRestorableStateWithCoder:(NSCoder *)coder{
? ? [superencodeRestorableStateWithCoder:coder];? ?
?[coder encodeObject:self.inputText.textforKey:kSaveKey];
}
現(xiàn)在你運(yùn)行App,輸入一些字符然后關(guān)閉App.當(dāng)你再次運(yùn)行該App時(shí)你會(huì)發(fā)現(xiàn)View界面中的文本框會(huì)顯示之前輸入的字符串: