MBProgressHUD를 사용하면 응용 프로그램이 중단되는 것 같습니다. HUD의 코드가 없으면, 다음 실행 잘하지만, 그것은 충돌 :MBProgressHUD로 인해 응용 프로그램이 손상됩니다.
{
...
HUD = [[MBProgressHUD alloc] initWithView:self.view];
// Add HUD to screen
[self.view addSubview:HUD];
// Register for HUD callbacks so we can remove it from the window at the right time
HUD.delegate = self;
HUD.labelText = @"Connecting";
// Show the HUD while the provided method executes in a new thread
[HUD showWhileExecuting:@selector(runLocalNotificationHandler) onTarget:self withObject:nil animated:YES];
[[self navigationController] popViewControllerAnimated:YES];
}
- (void) runLocalNotificationHandler
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[self createLocalNotificationWithBug:[self tempBug]];
[self performSelectorOnMainThread:@selector(finishedUpdatingNotifications) withObject:nil waitUntilDone:NO];
[pool release];
}
- (void)finishedUpdatingNotifications
{
[[self navigationController] popViewControllerAnimated:YES];
}
- (void)hudWasHidden {
// Remove HUD from screen when the HUD was hidden
[HUD removeFromSuperview];
[HUD release];
}
다음 디버그 출력이 생성됩니다
gdb) continue
2010-07-02 00:07:55.224 Bugger[16796:207] >>> Entering -[HomeViewController viewDidAppear:] <<<
2010-07-02 00:07:55.225 Bugger[16796:207] <<< Leaving -[HomeViewController viewDidAppear:] >>>
2010-07-02 00:07:55.224 Bugger[16796:7007] <<< Leaving -[BugDetailViewController runLocalNotificationHandler] >>>
2010-07-02 00:07:55.226 Bugger[16796:207] >>> Entering -[BugDetailViewController prepareToolbar] <<<
2010-07-02 00:07:55.227 Bugger[16796:207] <<< Leaving -[BugDetailViewController prepareToolbar] >>>
2010-07-02 00:07:55.229 Bugger[16796:207] >>> Entering -[BugDetailViewController dealloc] <<<
[Switching to process 16796]
2010-07-02 00:07:55.260 Bugger[16796:207] <<< Leaving -[BugDetailViewController dealloc] >>>
[Switching to process 16796]
Program received signal: “EXC_BAD_ACCESS”.
(gdb)
여기 무슨 일이야?
편집 : 역 추적 :
너무 가까이Program received signal: “EXC_BAD_ACCESS”.
[Switching to process 23788]
(gdb) bt
#0 0x029b4a93 in objc_msgSend()
#1 0x00000000 in ??()
(gdb)
EXC_BAD_ACCESS가 표시되면 NSZombieEnabled 환경 변수를 YES로 설정하고 디버그합니다. – 0x8badf00d