j'ai déterminé que mon application se bloque sur la ligne suivante:L'impression d'une NSMutableArray provoque une panne sans code d'erreur
if(sourceValues != nil && [sourceValues class] == [NSMutableArray class])
[sourceValues release];
« sourceValues » est déclarée comme NSMutableArray au sommet de ma classe. La boucle "if" est satisfaite et l'appel [sourceValues release] est effectué, ce qui bloque le programme sans code d'erreur. Donc, depuis sourceValues! = Nil et depuis [classe sourceValues] == [classe NSMutableArray], je voulais voir exactement ce que sourceValues était. Ainsi, au-dessus du « si » boucle j'ajouté ce qui suit:
NSLog(@"sourceValues is %@", sourceValues);
Mais mon programme ne sera pas l'imprimer. Il se bloque juste sans code d'erreur sur cette ligne. Donc, si sourceValue existe et si c'est un NSMutableArray, pourquoi ne sera-t-il pas imprimé. Quel est le problème ici?
J'essaye d'avoir du code qui dit "si des sourcesValues ont été allouées, libérez-le." Comment puis-je faire ceci?
De même, comment 'sourceValues' est-il alloué? – joshpaul