2009-10-13 6 views
0

J'ai un crash, et je ne vois pas pourquoi cela se produit. J'aimerais avoir plus d'informations à ce sujet.Exception non interceptée dans l'iPhone Obj C méthode provoquant un plantage. Comment résoudre/gérer?

La méthode que cela se bloque dans est:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

quand j'exécute cette ligne de code lors de l'étape de débogage par:

[self.nextResponder manageTouches:touches]; 

cela est affiché dans la liste historique des fichiers:

asm__TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__ 0x01c1c000:1 

La méthode manageTouches est dans l'objet parent (un contrôleur de vue).

Des conseils sur la façon de résoudre sont appréciés // :)

Répondre

0

Il peut y avoir une différence entre l'objet parent (votre contrôleur de vue) et le nextResponder auquel vous envoyez le message. Dans le débogueur, vous pouvez vous assurer que les pointeurs sont les mêmes. J'imagine qu'il y a une certaine divergence entre la chaîne de réponse et la chaîne de propriété de la vue.

+0

Donne un sens, une idée de comment vérifier si c'est le cas? – Spanky

+0

En fait, non, il ne vient pas à y penser. La vue enfant est spécifiquement ajoutée en tant que sous-vue du parent dans mon code. Je peux vérifier cela dans d'autres domaines, où j'ajoute des objets de la même classe que les sous-vues, mais en gérant leurs événements en interne plutôt que via nextResponder. C'est pourquoi je suis confus ... ne pas voir assez de ce qui se passe derrière nextResponder. Une idée de comment passer sous le capot de ça? Merci // :) – Spanky

+0

Le contrôleur de vue qui possède la vue n'est pas le même que le parent de la vue en termes de hiérarchie de vues. Je vérifierais la valeur 'self.superview' dans votre vue, la comparerais avec' nextResponder', et m'assurerais que chaque structure est telle que vous la croyez. – fbrereto

1

Utilisez l'Objective-C @try ... @except syntaxe. Vous pouvez en prendre connaissance dans la section Gestion des exceptions de la documentation du langage Objective-C 2.0.

+2

Je pense que vous voulez dire @try ... @ catch. –

+0

Merci, une bonne façon d'y aller, mais je manque assez de clarté sur ce qui ne va pas à gérer essayer et attraper encore. Une excellente suggestion cependant. – Spanky

Questions connexes