내가 모달의 ViewController 제공하기 위해 노력하고있어 전송 : 나중에 할 때 모달에, 나는 [referenceAddViewController 해제]를 호출하는 경우, 그러나해제 모달보기 콘텐츠 컨트롤러가 발생합니다있는 CALayer가 해제 - 메시지가 할당이 해제 된 경우
- (IBAction)addReference {
ReferenceAddViewController *referenceAddViewController = [[ReferenceAddViewController alloc] initWithNibName:@"ReferenceAddViewController" bundle:nil];
[referenceAddViewController setDelegate:self];
[self presentModalViewController:referenceAddViewController animated:YES];
[referenceAddViewController release];
}
을 보기가 닫히면 "[CALayer release] : 해제 된 인스턴스 0x4b90370으로 보낸 메시지"로 인해 내 응용 프로그램이 충돌합니다.
인스트루먼트에서 스택 트레이스 및 참조 카운트 내역을 수행해도 단 2 단계의 히스토리 단계만으로 결정적인 결과가 나오지 않았습니다.
- 0 : 내 코드에 presentModalViewController의 Malloc 유지.
- 1 : 카운트 -1 보관하지 않습니다 - 떨어져 main.m
그것은 하나의 참조 카운트 건너 뛰 -1하는 방법에 매우 흥미 롭다에서 내 코드에서 아무것도? Instruments는 모든 참조 횟수의 변경 사항을 기록합니까?
어떻게하면이 문제를 더 디버깅 할 수 있습니까?
'[referenceAddViewController release];를 호출하면 할당 한 객체가 해제됩니다. 'presentModalViewController'를 호출하면 아무 것도 할당하지 않으므로 아무 것도 공개하지 않아도됩니다. 사용자는 명시 적으로 할당 한 객체에 대해서만 책임이 있습니다. – iwasrobbed