NSMutableArray addObject werkt niet

Ik heb een NSMutableArray *categoriesgedeclareerd in mijn view controller .h-bestand en er een eigenschap voor gedeclareerd.

In de parser:foundCharacters:methode van de NSXMLParsergemachtigde in mijn .m-bestand, heb ik deze code:

-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string  
{  
    if (elementFound)  
    {  
        element = string;  
        [self.categories addObject:element];  
    }  
}

Maar wanneer ik de muisaanwijzer over de regel [self.categories addObject:element]beweeg nadat ik erin stap in de foutopsporingsmodus, vertelt XCode me dat de grootte 0x0, 0 objecten is. Er zijn 3 elementen in mijn XML-bestand, dus er zouden 3 items in de array moeten staan.

Ik mis iets heel duidelijks en ik weet niet wat.


Antwoord 1, autoriteit 100%

Het “0x0”-gedeelte is een geheugenadres. In het bijzonder “nil”, wat betekent dat uw veranderlijke array niet bestaat op het moment dat deze wordt aangeroepen. Probeer het te maken met uw -init methode:

categories = [[NSMutableArray alloc] init];

Vergeet niet om het vrij te geven in uw -dealloc.


Antwoord 2, autoriteit 5%

Initialiseer een lege array met

categories = [NSMutableArray array];

De array-klassenmethode wordt automatisch vrijgegeven, dus het is niet nodig om deze vrij te geven.

Other episodes