J'ai un code qui fonctionne bien sur mon iPod Touch fonctionnant sur iOS 4.0 ainsi que sur le simulateur fourni avec iOS SDK 4.1. Mais quand j'appelle [UIViewController dismissModalViewController:] sur un iPhone 2 sous iOS 3.1.2, il obtient une récursion infinie, finissant par s'écraser.iOS 3.1.2 [UIViewController dismissModalViewControllerAnimated:] crée une récursion infinie
J'ai un contrôleur de vue qui ouvre une vue de table où l'utilisateur sélectionne un document à ouvrir. Lors de la sélection d'un document, le délégué de mon contrôleur de table affiche les contrôleurs de vue parent, méthode dismissModalViewController. Je pense que c'est parce que je ferme le contrôleur de vue dont le code est en cours d'exécution qui provoque cela. La méthode dismissModalViewController est documentée pour être disponible dans iOS 2.0 et les versions ultérieures.
Comment fermer le UIViewController qui est ouvert à partir de son propre code?
après un extrait de la pile d'appels de récurrence infinie – coneybeare
coneybeare, je pensais que cela aiderait à appeler [NSObject performSelectorOnMainThread: withObject: waitUntilDone:] mais ce n'était pas le cas. –
# 6662 \t 0x30bf8b18 en - [UIView (Hiérarchie) _makeSubtreePerformSelector: withObject: withObject: copySublayers:] # 6663 \t 0x30bf8b18 dans - [UIView (Hiérarchie) _makeSubtreePerformSelector: withObject: withObject: copySublayers:] # 6664 \t 0x30bf8bf0 en - [ UIView (Hiérarchie) _makeSubtreePerformSelector: withObject:] # 6665 \t 0x30bf8688 dans - [UIView (interne) _addSubview: positionné: relativeTo:] # 6666 \t 0x30c03868 en - [UIView (Hiérarchie) insertSubview: atIndex:] # 6667 \t 0x30ce076c in - [Transition UIWindowController: deViewController: toViewController: target: didEndSelector:] –