2010-11-14 5 views
0

c'est l'erreur indiquée dans la console. Je prends un terme de recherche et remplace le "" par "+" afin qu'il passe dans une URL ok, il récupère alors les flux RSS basés sur ce terme de recherche, cela fonctionne bien mais quand j'appuie sur le bouton d'actualisation de la barre d'outils, plante avec cette erreur:L'application se bloque lorsque je stringByReplacingOccurrencesOfString

-[UITableViewCellLayoutManagerSubtitle stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent to instance 0x5b67be0 

2010-11-14 19:58:01.325 Example[:1903] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewCellLayoutManagerSubtitle stringByReplacingOccurrencesOfString:withString:]: unrecognized selector sent to instance 0x5b67be0' 

Ceci est en fait mon code: terms = [terms stringByReplacingOccurrencesOfString:@" " withString:@"+"];

+2

'terms' ne doit pas être un' NSString'. Pouvez-vous fournir plus de code? –

+0

C'est définitivement un NSString: @interface BlogRssParser: NSObject { \t BlogRss * _currentItem; \t NSMutableString * _currentItemValue; \t NSMutableArray * _rssItems; \t id _delegate; \t NSOperationQueue * _retrieverQueue; \t RootViewController * rootView; \t NSString * termes; } – benhowdle89

Répondre

1

terms a été libéré prématurément, probablement parce que vous ne l'avez pas conservé correctement en premier lieu. Par coïncidence, une instance de UITableViewCellLayoutManagerSubtitle a ensuite été allouée à ladite adresse que terms pointe vers l'exception de méthode non reconnue.

Utilisez la détection Zombie dans les instruments pour trouver le problème.

En outre, utilisez "Build and Analyze" car il est très probable que l'analyseur statique llvm identifiera le problème.

+0

Cool. Je suis passé sous "Run" "Performance Tools" et "Zombies" est grisé? Des idées? – benhowdle89

+0

Essayez d'abord de construire. Comme cela est destiné à l'iPhone, essayez de le reproduire sur le simulateur. Probablement être plus facile à déboguer de toute façon. – bbum

0

Il est possible que terms est libéré prématurément et UITableViewCellLayoutManagerSubtitle est en cours à la même ventilés entre l'adresse de mémoire. Vérifiez que vos commandes de conservation/libération/autorelease sont correctes.

Questions connexes