Использование NSNotificationCenter
.
В вашем случае класса game
добавьте self
в качестве наблюдателя в уведомление UIApplicationWillResignActiveNotification
.
В вашем game
классе, где-то, что вам нужно следующий фрагмент кода:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(pause)
name:UIApplicationWillResignActiveNotification
object:nil];
Это, вероятно, пойти в init
.
Это уведомление увольняется applicationWillResignActive
. Метод addObserver:selector:name:object:
устанавливает ваш объект, чтобы вызвать селектор, который вы ему сообщаете, всякий раз, когда он получает это уведомление. '
Не забудьте удалить self
в качестве наблюдателя в dealloc
.
В game.m
«s @implementation
:
- (void)dealloc {
// If not using ARC, then be sure to [super dealloc];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Ваше приложение делегат будет нужна ссылка на конкретный экземпляр игры вы хотите сделать паузу. Здесь недостаточно информации, чтобы предложить, как предоставить этот экземпляр делегату приложения. Кто создает игру и может сделать ее доступной для делегата приложения? – Jonah
Это не обязательно верно Иона. Фактически, предоставление делегату приложения ссылки на класс игры для отслеживания может быстро стать беспорядочным. Вы можете просто использовать уведомления. – nhgrif
Это skscene в контроллере начального представления. – maxhud