Question

Je ne peux pas comprendre cela. Lorsque je clique sur un lien pour ouvrir Safari à partir de mon application, parcourir à travers la page Web, puis revenir à mon application, je peux ouvrir et de parcourir deux tabBarItems dans mon UITabBar. Mais, lorsque je tente de sélectionner celui atIndex: 0, je reçois un EXEC_BAD_ACCESS et ce qui suit :(. Aider quelqu'un peut me comprendre comment faire ce pas le cas? Je n'avons aucun code qui est exécuté dans will ou didEnterBackground ou Foreground . Aucun. le problème doit être dans le UIViewController pour le premier onglet. (Oh, et je ne sais pas pourquoi il est l'ajout d'un sous-vue. connexes?) pensées.

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
        0   libobjc.A.dylib                 0x0109ba63 objc_msgSend + 23
        1   UIKit                           0x0031f3df -[UIView(Internal) _didMoveFromWindow:toWindow:] + 966
        2   UIKit                           0x0031f1b0 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
        3   UIKit                           0x0031f1b0 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
        4   UIKit                           0x0031f1b0 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
        5   UIKit                           0x0031f1b0 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
        6   UIKit                           0x0031f1b0 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 407
        7   UIKit                           0x0031dfc4 -[UIView(Hierarchy) _postMovedFromSuperview:] + 166
        8   UIKit                           0x00316dfc -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1080
        9   UIKit                           0x0031514f -[UIView(Hierarchy) addSubview:] + 57
        10  UIKit                           0x003725ac -[UITransitionView transition:fromView:toView:] + 563
        11  UIKit                           0x00371955 -[UITransitionView transition:toView:] + 129
        12  UIKit                           0x003a6383 -[UITabBarController transitionFromViewController:toViewController:transition:shouldSetSelected:] + 459
        13  UIKit                           0x003a4d86 -[UITabBarController transitionFromViewController:toViewController:] + 64
        14  UIKit                           0x003a6b7e -[UITabBarController _setSelectedViewController:] + 263
        15  UIKit                           0x003a69ed -[UITabBarController _tabBarItemClicked:] + 352`
Était-ce utile?

La solution

Le BAD_ACCESS signifie que vous accédez probablement quelque chose que les points à la mémoire qui a été libéré. Dans la situation que vous décrivez, il est très possible que votre point de vue déchargent en raison d'un faible avertissement de mémoire - en particulier ceux qui ne sont pas visibles. Si vous n'êtes pas prêt pour ce déchargement, lorsque les rechargements de vue, les mauvaises choses se produisent habituellement. Assurez-vous une gestion appropriée de votre méthode de viewDidUnload et l'viewDidLoad réciproque dans vos contrôleurs de vue.

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