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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top