2011-01-05 7 views
8

앱을 종료 할 때 특정 ViewController가 활성화 된 경우 내 애플리케이션이 멀티 태스킹 iOS에서 제대로 작동하지 않는다는 것을 알게되었습니다. 이보기 컨트롤러는 최신 정보를 표시하기 위해 최신 정보를 수집해야합니다. 지금까지이 정보를 수집하는 초기화 코드는 viewWillAppear에만 배치되었습니다.UIApplicationWillEnterForegroundNotification 대 ​​viewWillAppear - 초기화 패턴?

이제 viewWillAppear은 백그라운드에서 뷰가 표시 될 때 호출되지 않는다는 것을 배웠습니다.

앱이 배경으로 전송 된 이후로 세상이 변경되었을 수 있으므로보기 컨트롤러는 다시 초기화해야합니다. UIApplicationWillEnterForegroundNotification에 등록 할 수 있습니다. 그러나 사용자가 현재이 특정 viewController로 이동하는지 여부에 관계없이 앱이 포 그라운드로 돌아올 때마다이 호출이 발생합니다.

"곧 나타납니다"라는 의미에서 ViewController가 활성화 된 경우에만 UIApplicationWillEnterForegroundNotification을 사용하는 패턴이 있습니까?

답변

7

UIApplicationWillEnterForegroundNotificationviewWillAppear:에 등록하고 viewWillDisappear:에서 등록을 취소하십시오. 뷰가 실제로 표시 될 때만 알림을받습니다.

+0

이렇게 분명히 맞습니다. 나는 그것이 그렇게 작동하는 것을 확인했다. 고맙습니다. – Miriam

관련 문제