J'ai déclaré un NSMutableArray *categories
dans mon fichier .h de contrôleur de vue, et lui a déclaré une propriété.
Dans le parser:foundCharacters:
méthode du délégué NSXMLParser
dans mon fichier .m, j'ai ce code:
-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
{
if (elementFound)
{
element = string;
[self.categories addObject:element];
}
}
Mais quand je survole le [self.categories addObject:element]
ligne après y être entré en mode débogage, XCode me dit que la taille est 0x0, 0 objets. Il y a 3 éléments dans mon fichier XML, donc 3 éléments doivent être dans le tableau.
Il me manque quelque chose de vraiment évident et je ne peux pas comprendre quoi.
La partie "0x0" est une adresse mémoire. Plus précisément, "nil", ce qui signifie que votre tableau mutable n'existe pas au moment où il est appelé. Essayez de le créer dans votre méthode -init:
categories = [[NSMutableArray alloc] init];
N'oubliez pas de le publier dans votre -dealloc.
Initialiser un tableau vide à l'aide
categories = [NSMutableArray array];
La méthode de classe de tableau est libérée automatiquement, donc pas besoin de la libérer.