2011-07-05 2 views
0

내 응용 프로그램의 UIWindow를 하위 클래스로 만들면 사용자가 활동을하지 않을 때 NSNotificationCenter를 사용하여 알림을 발생시킵니다. 내가 사용하고있다 [NSTimer scheduledTimerWithTimeInterval : target : selector : userInfo : repeats :]NSNotificationCenter 알림 처리 중 bad_access가 발생했습니다.

나는 이것을 내 AppDelegate 클래스에서 처리한다. MBProgressHUD - http://iosdevelopertips.com/open-source/ios-open-source-heads-up-display-with-mbprogresshud.html 을 사용하여 코드를 실행하는 경우를 제외하고는 다른 스레드가 시작될 때만 정상적으로 작동합니다. 대리인이 알림에 반응하는 코드가 실행될 때와 동일한 시간에 화재가 발생하면 오류가 발생합니다. 나는 이것이 스레딩 문제라고 확신하지만 상황을 어떻게 피할 수 있습니까?

답변

0

@synchronized on app delegate를 사용할 수 있습니다. 앱 델리게이트는 싱글 톤이기 때문에 "위임 된 (done delegate)"과 앱 위임 (delegate) 중 하나에서 중요한 부분을 지켜야합니다. 사과 스레딩 문서의

더 많은 정보 here

편집 : 스레딩 및 알림에 대한 this 링크가 당신을 위해 좋은 정보입니다.

편집 2 : this one이 더 좋다.

관련 문제