当前位置:  开发笔记 > IOS > 正文

只要我不关闭iPhone,applicationWillTerminate就可以正常工作

如何解决《只要我不关闭iPhone,applicationWillTerminate就可以正常工作》经验,为你挑选了1个好方法。

保存我使用的应用程序的一些变量:

- (void)applicationWillTerminate:(UIApplication*)application {

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setFloat: self.viewController.sLabel.contentOffset.y forKey:@"floatKey"];    
[prefs setObject:self.viewController.newText forKey:@"stringVal"];
[prefs synchronize];

}

并通过按钮检索它们,我执行以下操作:

- (IBAction)riprendi:(id)sender {

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];  
float myFloat = [prefs floatForKey:@"floatKey"];

//这里有一些动作

}

一切都在模拟器上工作.但是,在真正的iPhone上使用它,变量的保存和检索只有按下主页按钮,退出应用程序并再次打开才有效,但如果关闭/打开iPhone则不行.在这种情况下,一旦重新打开应用程序,变量就会丢失...

我错过了什么?这实际上让我抓狂:(

非常感谢你;)Fabio



1> rincewind..:

如果你的意思是通过说"打开/关闭"按下手机顶部的锁定按钮,那么它将无法工作,因为锁定手机不会导致应用程序退出.applicationWillTerminate:只有在退出应用程序主屏幕或某个其他应用程序时,才会调用您的方法.当用户按下"睡眠"按钮时,applicationWillResignActive:将发送给您的应用程序代表.

Apple的iPhone OS编程指南有一节关于处理中断的内容.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有