Un contrôleur de vue enfant peut-il "se retirer"? " ..... Vous avez un contrôleur d'affichage "redmessage". Vous avez une propriété forte ordinaire pour elle ... p> @property (fort) redmessage * rouge; p> vous l'ajoutez ("modallalement") sur votre VC actuel .. . P> -(void)dismissMyselfCompletely
{
[self willMoveToParentViewController:nil];
[self.view removeFromSuperview];
[self removeFromParentViewController];
}
3 Réponses :
C'est plus question de gestion de la mémoire que d'afficher le confinement du contrôleur. Non, vous n'avez pas besoin de mettre nul là-bas, mais ... p>
Vous supposez que vous en avez une référence. La question est la suivante: est-ce une référence forte? Si oui, que vous devez la nier, car ce contrôleur d'affichage ne sera pas dellocate. Le moyen le plus simple de tester est d'ajouter -Dealoc méthode à RM avec le message de journal. P>
En effet - c'est une question de mémoire, alors profitez de la prime! :)
Après des tests considérables, nous avons constaté qu'il semblait être le cas que:
Il s'en va et n'est pas retenu. P>
Nous ajoutons la VC sur le dessus comme ceci (juste de la manière habituelle, vous ajoutez un "modal" VC sur le dessus ...) P>
self.red = (Red *)[self.storyboard instantiateViewControllerWithIdentifier:@"RedID"];
Merci d'avoir partagé vos recherches ici! J'ai eu un bogue nagging (rare à frapper) dans mon contrôleur de vue de conteneur personnalisé pendant un moment, ce qui pourrait bien m'aider à le trouver.
Oui, il y a beaucoup de confusion à ce sujet. J'espère que ça aide!
Il semble y avoir une différence dans votre question et votre réponse. Dans votre méthode de superposition (en réponse), vous n'avez pas affecté la vue ViewController à une propriété forte et en question que vous avez une propriété forte. Je n'ai pas testé le code mais je pense que vous devriez mettre à jour votre test pour avoir une propriété forte. p>
Je pense idéalement que nous devrions "nil" la propriété. Sinon, à partir de la pile Oui, le contrôleur de vue sera supprimé. P>
Salut anuj - correct: dans la "cette méthode fonctionne" exemple dans la réponse que j'ai placée, comme il est indiqué ... "Notez qu'il n'y a pas de propriété tenant RR - il est juste créé et ajouté à la volée dans cette catégorie. " i>
Salut Joe - Désolé, j'ai raté ça.Did Vous vérifiez également avec une propriété forte?
Hey anuj - exactement correct. Comme vous l'attendez, si vous utilisez une propriété, dans le parent vc ... Cela ne disparaîtra pas! (FTR Notez que je viens d'utiliser une catégorie pour faire le travail. Depuis le VC, cela appelle simplement [Self Showoverlay];, il ne mentionne même pas la classe "rouge".)
Bounty pour référence faisant autorité.
Désolé de fournir sa propre réponse, mais nous l'avons examiné de manière approfondie et avons trouvé le résultat donné dans la réponse ... J'espère que cela aide quelqu'un !!