applicationdidbecomeactive中的调用函数 - Swift 2.0

时间:2016-08-23 18:16:30

标签: ios swift

所以,我的GameScene.swift文件中有一个func,我想在每次游戏激活时调用它。目前我在我的GameScene.swift文件中的didMoveToView中运行此函数,但它仅在应用程序在完全关闭后启动时运行,并且我希望每次游戏变为活动时都这样做。 (用户点击主页按钮,然后重新打开应用程序)

我假设在AppDelegate.swift文件中运行applicationdidbecomeactive中的func会起作用,但我不知道如何做到这一点,或者它是否真的可行。任何帮助,将不胜感激。

3 个答案:

答案 0 :(得分:4)

您可以在GameScene.swift中为UIApplicationDidBecomeActiveNotification添加一个观察者并调用您的函数。 e.g。

NSNotificationCenter.defaultCenter().addObserver(self, 
selector: #selector(GameScene.yourfunction,
name:UIApplicationDidBecomeActiveNotification, object: nil)

答案 1 :(得分:0)

在这种情况下,在appDelegate中的applicationdidbecomeactive中发布NSNotification。

let nc = NSNotificationCenter.defaultCenter()
nc.postNotificationName("didBecomeActive", object: nil)

然后,将一个监听器附加到您的GameScene.swift文件。

let nc = NSNotificationCenter.defaultCenter()
nc.addObserver(self, selector: "didBecomeActive", name: "didBecomeActive", object: nil)

最后,实现选择器“didBecomeActive”

func didBecomeActive(notification:NSNotification) {
    //Call your function here 
    //
}

答案 2 :(得分:0)

这是基于@firstinq答案的 SWIFT 5 更新

NotificationCenter.default.addObserver(self, selector: #selector(MainViewController.appDidBecomeActive), name:UIApplication.didBecomeActiveNotification, object: nil)