2011-04-05 2 views
0

우리의 앱은 iOS 4.2 및 4.3에서 잘 작동합니다. 그러나, 아이폰 OS 3.2에이 라인iOS 3.2에서 NSNotificationCenter 관련 크래시

[[NSNotificationCenter defaultCenter] postNotificationName:@"notificnname" object:nil]; 

함수 postNotificationName은 아이폰 OS 2.0부터 사용할 수 있습니다에서 충돌합니다. iOS 4.3으로 내 앱을 만들고 대상 SDK를 3.2로 설정합니다. 크래시를 일으킬 수있는 아이디어.

감사합니다.

+2

콘솔에는 무엇이 표시됩니까? 또한 어떤 객체가 해당 이벤트를 관찰하는지 확인하십시오. 문제가있을 수 있습니다. – pt2ph8

답변

3

위의 pt2ph8의 의견에 동의합니다.

대부분의 경우 알림에 등록 된 개체가 등록 취소없이 할당 취소됩니다. 따라서 알림 센터는 죽은 객체에 알림을 보냅니다.

모든 알림에서 해당 개체를 등록 해제한다는 사실을 dealloc (또는보기 컨트롤러의 경우 viewDidUnload)에서 확인하십시오.

+2

맞습니다. NSNotificationCenter는 옵저버를 유지하지 않으므로 할당되지 않은 객체 일 가능성이 큽니다. – pt2ph8

관련 문제