Foursquare와 같은 응용 프로그램에서 홈 단추를 클릭하면 응용 프로그램이 백그라운드로 이동합니다. 그런 다음 아이콘을 클릭하면 화면에 내용이 다시로드됩니다.응용 프로그램이 백그라운드에서 호출 될 때 메서드 호출
내 앱을 백그라운드로 보내면 다시 불러올 때 콘텐츠가 화면에 다시로드되지 않습니다. viewDidAppear
메서드에서 코드를 입력했지만 실행되지 않았습니다.
응용 프로그램 콘텐츠가 활성화되면 어떻게로드 할 수 있습니까?
Foursquare와 같은 응용 프로그램에서 홈 단추를 클릭하면 응용 프로그램이 백그라운드로 이동합니다. 그런 다음 아이콘을 클릭하면 화면에 내용이 다시로드됩니다.응용 프로그램이 백그라운드에서 호출 될 때 메서드 호출
내 앱을 백그라운드로 보내면 다시 불러올 때 콘텐츠가 화면에 다시로드되지 않습니다. viewDidAppear
메서드에서 코드를 입력했지만 실행되지 않았습니다.
응용 프로그램 콘텐츠가 활성화되면 어떻게로드 할 수 있습니까?
- (void)applicationDidBecomeActive:(UIApplication *)application
또는 - (void)applicationWillEnterForeground:(UIApplication *)application
또는 이에 상응하는 UIApplication
알림에 응답해야합니다. viewDidAppear
과 같은 UIViewController
개의 라이프 사이클 호출은 앱 수명주기 전환에 의해 트리거되지 않습니다.
이것은 이미 내 AppDelegate에 있습니다. 그래서 코드를 추가하기 만하면됩니다. 감사. –
smparkes 제안이 맞습니다. UIApplicationDidBecomeActiveNotification
또는 UIApplicationWillEnterForegroundNotification
에 등록 할 수 있습니다. 이러한 알림은 smparkes가 작성한 메소드가 호출 된 후에 호출됩니다. 이 알림 처리기에서 원하는 것을 수행하십시오. 컨트롤러는 다음과 같은 통지를 등록하기위한 viewDidLoad
예를 들면 :
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(doUpdate:)
name:UIApplicationDidBecomeActiveNotification object:nil];
이 dealloc
에서 제거하는 것을 잊지 마십시오 :
[[NSNotificationCenter defaultCenter] removeObserver:self];
마지막으로, doUpdate
방법은 다음
-(void)doUpdate:(NSNotification*)note
{
// do your stuff here...
}
I 될 수있다 UIApplicationDelegate class reference을 읽어 보시기 바랍니다. 특히 에 대한 내용은 응용 프로그램 상태 변경 내용 모니터링을 참조하십시오.
희망이 있습니다.
ARC를 사용하고 있는데, 아직 dealloc해야합니까? 그리고 왜 ? – sharon
당신은해야한다. 자세한 내용은이 [stackoverflow topic] (http://stackoverflow.com/questions/8372841/removing-a-nsnotificationcenter-observer-in-ios-5-arc)을 읽으십시오. 이 다른 [stackoverflow topic] (http://stackoverflow.com/questions/6469209/objective-c-where-to-remove-observer-for-nsnotification) 대신 설명을 제거해야합니다. 희망이 도움이됩니다. –
UIApplicationDidBecomeActiveNotification을 듣고 싶다고 가정하면, 여기 ObjC 코드가 도움이 될 것입니다.
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidBecomeActiveNotification
object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
// custom code goes here.
}];
워드 프로세서 읽기 : http://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4- SW3 – dasdom