NSMutableArray addObject no funciona
-
11-09-2019 - |
Pregunta
He declarado una NSMutableArray *categories
en mi controlador de vista .h, y declaró una propiedad para ello.
En el método parser:foundCharacters:
del delegado NSXMLParser
en mi archivo .m, tengo este código:
-(void)parser:(NSXMLParser *) parser foundCharacters:(NSString *)string
{
if (elementFound)
{
element = string;
[self.categories addObject:element];
}
}
Pero cuando se ciernen sobre la línea [self.categories addObject:element]
después de entrar en él en modo de depuración, XCode me dice que el tamaño es 0x0, 0 objetos. Hay 3 elementos en mi archivo XML para 3 artículos deben estar en la matriz.
Me estoy perdiendo algo muy obvio y no puedo averiguar qué.
Solución
La parte "0x0" es una dirección de memoria. En concreto, "nulo", lo que significa que la matriz mutable no existe en el momento presente se está llamando. Trate de crear en su método init:
categories = [[NSMutableArray alloc] init];
No se olvide de liberar en su -dealloc.
Otros consejos
Inicializar una matriz vacía utilizando
categories = [NSMutableArray array];
El método de la clase de matriz son autoreleased así que no hay necesidad de liberar.
@property (Strong, nonatomic) NSMutableArray * yourArray;
tiene que usar Fuerte .