Objetivo C: NSMutableArray no retiene objects

Estoy tan perplejo con esto, puse el object en la matriz, pero cuando lo verifico después de que están configurados, aparece como (nulo)

for (int i = 0; i < [lines count]; i+=2) { [terms addObject:[lines objectAtIndex:i]]; NSLog(@"%@",[terms objectAtIndex:i]); } 

¿Estoy haciendo algo mal? terms se declaran en el encabezado, se establecen como una propiedad y se sintetizan como un NSMutableArray

Primero debe asignar e iniciar la matriz antes de usarla. Configurar la propiedad hace que sea accesible fuera de la class y el sintetizador configura el getter y el setter pero no lo asigna ni lo inicia.

 NSMutableArray* terms = [[NSMutableArray alloc] init]; 

"Sintetizado como NSMutableArray": es una frase extraña. En ObjC, @synthesize no inicializa las variables, solo genera un método getter y setter. Aún tiene que asignar la variable de alguna manera, ya sea asignando una propiedad o configurando el ivar correspondiente directamente. init es un buen lugar para hacer eso.