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.

Était-ce utile?

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 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top