如何将applicationWillTerminate用于特定的SKScene?

时间:2017-03-27 12:02:38

标签: ios swift sprite-kit appdelegate skscene

我有SKScene,显示加入当前房间的玩家。如果这些玩家中的任何一个离开房间(通过点击“离开”按钮),他们的玩家列表将被更新。

但是如果我从其中一个玩家关闭应用程序,该特定玩家仍留在房间里。我想从leaveRoom调用我的applicationWillTerminate函数,这样所有数据都可以正常工作。可能吗?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

你可以让观察者拦截它:

override func didMove(to view: SKView) {        
        NotificationCenter.default.addObserver(
            self,
            selector: #selector(GameScene.applicationWillTerminate(notification:)),
            name: NSNotification.Name.UIApplicationWillTerminate,
            object: nil)
}
func applicationWillTerminate(notification: NSNotification) {
   // put your code here
}

您可以将观察者移除到:

override func willMove(from view: SKView) {
    NotificationCenter.default.removeObserver(self)
}