응용 프로그램이 백그라운드 모드로 들어가고 사임 할 때 내 응용 프로그램 대리인의 "pauseGame"이라는 BPGameController 클래스에서 인스턴스 메서드를 실행하고 인스턴스 메서드가 "resumeGame"인 경우 응용 프로그램은 다시, 나는 몇 가지 다른 일을 활성 해봤된다하지만 다음과 같이 아무도 알림에 가입 BPGameController의의 viewDidLoad 방법에서 지금까지 나를 위해응용 프로그램 대리자의 인스턴스 메서드 사용
-1
A
답변
0
을 일하지 않은 :
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pauseGame)
name:UIApplicationDidEnterBackgroundNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resumeGame)
name:UIApplicationDidBecomeActiveNotification object:nil];
당신이 자신을 제거 할 때 관찰에서.
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidBecomeActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil];
+0
감사합니다. 많이 작동했습니다. –
+0
이 답변의 중요한 부분은 빠져 나갔습니다. 'dealloc' 메소드에서 옵저버를 제거해야합니다. 그렇지 않으면 앱이 충돌 할 가능성이 있습니다. – rmaddy
+0
더 완벽한 답변을 위해 추가했습니다. – hackerinheels
기존 'BPGameController' 인스턴스에 대한 참조를 가져 와서 메소드를 호출하십시오. –
왜 앱 위임자가이 작업을 수행하고 있습니까? 컨트롤러가 관련 알림에 대신 응답하도록 설정하십시오. – rmaddy