NSMutableArray addObject ne fonctionne pas
-
11-09-2019 - |
Question
Je l'ai déclaré un NSMutableArray *categories
dans mon contrôleur de vue .h, et déclaré un bien pour elle.
Dans la méthode parser:foundCharacters:
du délégué NSXMLParser
dans mon dossier .m, j'ai ce code:
-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
{
if (elementFound)
{
element = string;
[self.categories addObject:element];
}
}
Mais quand je passe la souris sur la ligne de [self.categories addObject:element]
après entrer dans en mode de débogage, XCode me dit la taille est 0x0, 0 objets. Il y a 3 éléments dans mon fichier XML pour 3 articles doivent être dans le tableau.
Il me manque quelque chose de vraiment évident et je ne peux pas comprendre ce que.
La solution
La partie « 0x0 » est une adresse mémoire. Plus précisément, « néant », ce qui signifie que votre tableau mutable n'a pas au moment où cela est appelé. Essayez de créer dans votre méthode -init:
categories = [[NSMutableArray alloc] init];
Ne pas oublier de le libérer dans votre -dealloc.
Autres conseils
Initialiser un tableau vide en utilisant
categories = [NSMutableArray array];
La méthode de classe de tableau sont autoreleased donc pas besoin de libérer.
@property (Strong, nonatomic) NSMutableArray * yourArray;
vous devez utiliser Fort .