为了账号安全,请及时绑定邮箱和手机立即绑定

检测应用程序何时进入我的视图背景的最佳方法是什么?

检测应用程序何时进入我的视图背景的最佳方法是什么?

iOS
叮当猫咪 2019-12-11 14:09:01
我有一个视图控制器,它使用NSTimer来执行一些代码。检测应用何时进入后台以便暂停计时器的最佳方法是什么?
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

当应用程序进入后台时,您可以对任何感兴趣的类进行接收通知。这是将这些类与AppDelegate耦合的不错选择。


在初始化所述类时:


[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActive:) name:UIApplicationWillResignActiveNotification object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillTerminate:) name:UIApplicationWillTerminateNotification object:nil];

回应通知


-(void)appWillResignActive:(NSNotification*)note

{


}

-(void)appWillTerminate:(NSNotification*)note

{

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification object:nil];

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillTerminateNotification object:nil];


}



查看完整回答
反对 回复 2019-12-12
?
慕后森

TA贡献1802条经验 获得超5个赞

对于那些希望在Swift中做到这一点的人:


开init:


NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(applicationWillResignActive), name: UIApplicationWillResignActiveNotification, object: nil)

开deinit:


NSNotificationCenter.defaultCenter().removeObserver(self, name: UIApplicationWillResignActiveNotification, object: nil)

响应通知:


dynamic private func applicationWillResignActive() {

    // Do things here

}

Apple鼓励我们在Swift中尽可能避免使用动态调度和Objective-C选择器,但这仍然是最方便的方法。



查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 441 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信