mon problème est que je ne peux pas accéder à mon NSMutableArray dans - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath {}.Problème d'accès avec NSMutableArray
Je crée mon NSMutableArray ici:
nodes = [xmlDoc nodesForXPath:@"/xml/items/item/short_desc" error:nil];
if (nodes != nil && [nodes count] >= 1) {
for (int i = 0; i < [nodes count]; i++) {
CXMLElement *resultElement = [nodes objectAtIndex:i];
result = [[[[resultElement attributeForName:@"data"] stringValue] copy] autorelease];
[short_desc addObject:result];
}
}
et je peux imprimer le contenu de short_desc partout avec:
NSLog([short_desc objectAtIndex:0]);
mais pas (si je le fais, plantage de mon application):
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
.....
NSString *date = [name objectAtIndex:0];
labelDate.text = date;
.....
return cell;}
si j'utilise:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
.....
NSString *date = @"text...";
labelDate.text = date;
.....
return cell;}
cela fonctionne correctement.
TOUTE SOLUTION POUR CE PROBLÈME ???
Non lié à votre question mais ne faites pas ceci: 'NSLog ([short_desc objectAtIndex: 0]);', faites ceci: 'NSLog (@"% @ ", [short_desc objectAtIndex: 0]);' le raison étant que si la chaîne dans le premier cas contient des% échappements, vous allez planter. – JeremyP
En outre, vous devez obtenir des avertissements du compilateur sur ce NSLog, si vous êtes, ** ne les ignorez pas **. Si ce n'est pas le cas, activez le drapeau '-Wall' et définissez également l'option" run static analyser "dans vos paramètres de construction. la chance est que cela marquera votre problème. – JeremyP
Ne fonctionne pas avec NSLog (@ "% @", [short_desc objectAtIndex: 0]); aussi; Si j'ajoute cette ligne, mon application se bloque –