Как использовать applicationWillTerminate для конкретной SKScene?

У меня есть SKScene это отображает игроков, которые присоединились к текущей комнате. Если кто-либо из этих игроков покинет комнату (нажав на кнопку "Выйти"), его список игроков будет обновлен.

Но если я закрою приложение от одного из игроков, этот конкретный игрок останется в комнате. Я хочу позвонить моему leaveRoom функция от applicationWillTerminate так что все данные будут работать нормально. Является ли это возможным? Как я могу решить эту проблему?

1 ответ

Решение

Вы можете заставить наблюдателя перехватить его:

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)
}
Другие вопросы по тегам