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

处理applicationDidBecomeActive

处理applicationDidBecomeActive

慕侠2389804 2019-08-30 16:48:05
我UIApplicationDelegate在我的主AppDelegate.m类中有协议,applicationDidBecomeActive定义了方法。我想在应用程序从后台返回时调用方法,但该方法在另一个视图控制器中。如何检查applicationDidBecomeActive方法中当前显示的视图控制器,然后调用该控制器中的方法?
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

应用程序中的任何类都可以成为应用程序中不同通知的“观察者”。创建(或加载)视图控制器时,您需要将其注册为观察者,UIApplicationDidBecomeActiveNotification并指定在将通知发送到应用程序时要调用的方法。


[[NSNotificationCenter defaultCenter] addObserver:self

                                         selector:@selector(someMethod:)

                                             name:UIApplicationDidBecomeActiveNotification object:nil];

不要忘记自己清理!当您的视图消失时,请记住将自己移除为观察者:


[[NSNotificationCenter defaultCenter] removeObserver:self 

                                                name:UIApplicationDidBecomeActiveNotification

                                              object:nil];

有关通知中心的更多信息。


查看完整回答
反对 回复 2019-08-30
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

Swift 3,4等效:


添加观察者


NotificationCenter.default.addObserver(self,

    selector: #selector(applicationDidBecomeActive),

    name: .UIApplicationDidBecomeActive, // UIApplication.didBecomeActiveNotification for swift 4.2+

    object: nil)

删除观察者


NotificationCenter.default.removeObserver(self,

    name: .UIApplicationDidBecomeActive, // UIApplication.didBecomeActiveNotification for swift 4.2+

    object: nil)

打回来


@objc func applicationDidBecomeActive() {

    // handle event

}


查看完整回答
反对 回复 2019-08-30
?
慕慕森

TA贡献1856条经验 获得超17个赞

Swift 2等效:


let notificationCenter = NSNotificationCenter.defaultCenter()


// Add observer:

notificationCenter.addObserver(self,

  selector:Selector("applicationWillResignActiveNotification"),

  name:UIApplicationWillResignActiveNotification,

  object:nil)


// Remove observer:

notificationCenter.removeObserver(self,

  name:UIApplicationWillResignActiveNotification,

  object:nil)


// Remove all observer for all notifications:

notificationCenter.removeObserver(self)


// Callback:

func applicationWillResignActiveNotification() {

  // Handle application will resign notification event.

}


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 1121 浏览

添加回答

举报

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