- (void)loadQuiz:(NSInteger)quizNum {
if([self quizViewController] != nil)
{
[self setQuizViewController:nil];
}
QuizViewController *quiz = [[QuizViewController alloc] initWithNibName:@"QuizViewController" bundle:nil];
[quiz setUp:quizNum];
[self setQuizViewController:quiz];
[quiz release];
[[self view] addSubview:[[self quizViewController]view]];
[self setSlide1:[[[self view] subviews] objectAtIndex:0]];
[self setSlide2:[[[self view] subviews] objectAtIndex:1]];
[[self slide1] setHidden:NO];
[[self slide2] setHidden:YES];
[self performTransition];
}
이 메소드에서는 containerView에 서브 뷰를 추가하려고합니다. 때로는 이미지를 추가합니다. 때로는 퀴즈를 추가합니다. 애니메이션의 끝에서 시작되는 또 다른 함수에서 스택의 맨 아래에 하위 뷰가 항상 제거되므로 2 개 이상의 하위 뷰를 가질 수 없습니다.viewStack 및 메모리 관리에 다른 뷰 추가하기
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag {
[[self model] setTransitioning:NO];
[[[[self view]subviews] objectAtIndex:0] removeFromSuperview];
}
내 질문은 여기에 메모리 누수가 있습니까? 이것은 정상적으로 실행되는 것 같습니다. 미리 감사드립니다.
감사합니다. 사실 [self quizViewController]는 유지 된 속성입니다. – intomo
하지만 docs에 따르면 setter 메서드 [self setQuizViewController]를 사용하면 해당 설정 자의 숨겨진 부분은 새 참조를 유지하기 전에 해제된다는 것입니다. 어쩌면 나는 오해하고있다. 귀하의 조언을 듣고 성과 도구를 실행하겠습니다. 감사. – intomo
아, 그 말이 맞을 수도 있습니다. 어떤 경우에도 누출 여부를 확인하고 그 도구를 실행하면 대답은 동일합니다. 이 질문에 대한 대답이 있습니까? –