1

내 앱에서 모달로보기를 전환합니다. 내 문제는, 첫 번째 viewController에서 두 번째 viewController로 이동할 때 작동한다는 것입니다. 처음으로 두 번째보기를 닫을 때도 작동합니다. 문제가 어디 있니? 그것은오고. 첫 번째 viewController에서 두 번째 viewController로 이동하면 다시 작동합니다. 그냥 그렇게해야합니다. 나는 두 번째의 ViewController에게 두 번째 시간을 해고하려고 할 때 그러나, 나는[self dismissModalViewControllerAnimated]가있는 이상한 EXC_BAD_ACCESS

[self dismissModalViewControllerAnimated:YES]; 

라인에 EXC_BAD_ACCESS 오류가 발생합니다.

왜 두 번째 충돌이 발생하지만 처음에는 충돌이 발생하지 않습니까?

편집 ONE : A를 돌아 가야

내가 다시 A와 A에서 B로 이동하는 경우, 다음 B로, 다음 시도 :

이 오류는 내가 전환의 ViewController에 상관없이 발생 : 다시 충돌

편집 2 : :

나는 /이와 뷰 컨트롤러를 표시 만들 내가 다시 A와 C, A에서 이동하는 경우 충돌 후 C에, 다음에 다시 갈 시도 코드 :

MapView *controller = [[MapView alloc] initWithNibName:@"MapView" bundle:nil]; 

controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:controller animated:YES]; 

작성한 후에이 오브젝트를 출시해야합니까?

문제가 해결되었습니다. 이전에 모달 뷰를 사용하기 전에 전환 코드를 사용하는 코드가 잘못 사용되고 있었으며 제거하는 것을 잊었습니다. 승리.

+0

XCode4를 사용하여 NSZombies를 사용하도록 검색 – bryanmac

+0

이미 정보를 거의 제공하지 않음 –

+0

콘솔에 정보 나 오류 보고서가 표시되지 않습니다. –

답변

2

일반적으로 EXC_BAD_ACCESS 오류는 할당 취소 된 개체를 참조하려고한다는 것을 의미합니다. 즉, 무언가를 과도하게 출시하고 있습니다. 메모리 관리를 통해 다시 확인하십시오. 아마도 빌드/빌드 및 분석 도구를 실행하십시오.

예, 뷰 콘트롤러를 모달로 표현한 후에 [controller release];으로 전화해야합니다.

+0

무엇이 과도하게 출시 될 수 있습니까? 본인? 어떻게 그런 일이 일어날까요? –

+0

NSLog를 사용하면 해고가 호출 될 때 self가 null이 아니라는 것을 확인했습니다. 그 밖의 무엇이 문제를 일으킬 수 있습니까? –