willAnimateRotationToInterfaceOrientation appelé AVANT viewWillAppear
-
11-10-2019 - |
Question
Je viens traqué un accident que je faisais dans mon application iOS et elle est liée à willAnimateRotationToInterfaceOrientation être appelé avant viewWillAppear.
J'ai une application avec deux points de vue. En gros, quand view1 disparait, je libère des tableaux, en supposant qu'ils seront re-initialisé quand il réapparaît dans viewWillAppear.
Cependant, si l'orientation I changement de view2 puis revenez à View1, cela provoque willAnimateRotationToInterfaceOrientation arriver avant View1 a calledviewWillAppear et tout réinitialisée, ce qui provoque un plantage.
Y at-il moyen de retarder willAnimateRotationToInterfaceOrientation qu'après la vue est apparu et tout a été ré-initialisé?
Dans le cas contraire, les seules solutions que je peux voir sont soit de ne pas utiliser willAnimateRotationToInterfaceOrientation (qui se traduit par un changement laid d'orientation à la recherche) ou ne pas libérer mes données lorsque je passe de View1 à view2 qui se traduit par plus de mémoire utilisés que nécessaire.
Quelqu'un at-il des idées sur ce que je dois faire?
La solution
Vous pouvez utiliser le code de style de chargement paresseux éviter votre problème, comme:
NSArray* someData;
-(void)somefun1{
if (!someData) {
[self loadData];
}
//use your data
}
-(void)somefun2{
if (!someData) {
[self loadData];
}
//use your data
}
-(void)loadData{
//some loading code
}
utiliser le code de style de chargement paresseux vous ne événement besoin d'esprit d'appeler l'ordre.