내 애플릿에서 호출해야 할 때 내 앱에서 내 addObserver 호출이 EXC_BAD_ACCESS를 일으키는 이유를 알아 내려고합니다. 좀 더 설명해 드리겠습니다. MFMessageComposeView를 호출하는 메소드에서 addObserver 호출을 수행 한 다음 3rd party 라이브러리 인 ShareKit에서 "didFinish"통지에 대한 옵저버를 추가합니다. 이제 addObserver의 selector가 호출 될 때마다 EXC_BAD_ACCESS가 발생합니다. 또한 addObserver가 NSObject 클래스에 있으면 차이가 있습니다.addObserver를 사용할 때 NSNotificationCenter EXC_BAD_ACCESS?
NSString *moredetailedshareText = [NSString stringWithFormat:@"Hey"];
[SHKTextMessage shareText:moredetailedshareText];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(SHKSharerFinished:) name:@"SHKFinishedCall" object:nil];
이 ShareKit의 postNotification 호출된다 :
- (void)sharerFinishedSending:(SHKSharer *)sharer
{
NSLog(@"finishedsending");
[[NSNotificationCenter defaultCenter] postNotificationName:@"SHKFinishedCall" object:sharer];
if (!sharer.quiet)
[[SHKActivityIndicator currentIndicator] displayCompleted:SHKLocalizedString(@"Saved!")];
}
이의 원인이 될 것입니다 무엇 작동하지
이 내가 addObserver에 사용하는 코드는?
감사합니다.
[좀비] (http://stackoverflow.com/a/4917557/1354100)를 사용 설정 했습니까? 아마도 ShareKit에서 이미 출시 된 것을 해제하고 있습니다. ARC를 사용하고 있습니까? – Bejmax
아니요 ShareKit에서 ARC를 사용하지 않습니다. 나는 좀비를 켜지 않았지만 도움이 될 것이라고 생각하지 않는다. –
ShareKit에서 ARC를 사용하는지 묻지 않았습니다. 빌드에서 ARC를 사용하도록 설정했는지 묻는 것입니다. NSZombiesEnabled는 그것이 출시되어서는 안되는시기에 정확히 출시 될 정보를 제공합니다. – Bejmax