- (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];
}
Dans cette méthode, j'ajoute des sous-vues à mon conteneur. Parfois, j'ajoute une image. Parfois, j'ajoute un quiz. Dans une autre fonction qui se déclenche à la fin de l'animation, je supprime toujours la sous-vue au bas de la pile, donc je n'ai jamais plus de 2 sous-vues.Ajout de différents affichages à afficher Gestion de la mémoire et de la mémoire
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag {
[[self model] setTransitioning:NO];
[[[[self view]subviews] objectAtIndex:0] removeFromSuperview];
}
Ma question est: est-ce que j'ai une fuite de mémoire ici? Cela semble fonctionner correctement. Merci d'avance.
Merci. En fait [self quizViewController] est une propriété conservée. – intomo
Mais selon docs si j'utilise la méthode setter [self setQuizViewController] la partie cachée de ce setter est qu'il libère avant de conserver la nouvelle référence. Peut-être que je suis un malentendu. Je vais suivre vos conseils et exécuter l'outil Performance. Merci. – intomo
Ah, vous pourriez avoir raison à ce sujet. La réponse est la même, dans tous les cas - pour vérifier les fuites, allez-y et exécutez cet outil. Est-ce que cela répond à votre question? –