Objetivo c agregar object de cadena a una matriz

He buscado en todas partes esto, en línea, en el desbordamiento de la stack y todavía no puedo resolver lo que estoy haciendo mal.

Estoy intentando agregar un elemento a un NSMutableArray existente. Pero se cuelga en la línea 4:

-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x897b320 

El código:

 NSMutableArray *mystr = [[NSMutableArray alloc] init]; mystr = [NSArray arrayWithObjects:@"hello",@"world",@"etc",nil]; NSString *obj = @"hiagain"; [mystr addObject:obj]; 

¿Qué estoy haciendo mal? ¡¡¡Esto me está volviendo loca!!!

¡Tu matriz no es mutable! Use NSMutableArray

 mystr = [NSMutableArray arrayWithObjects:@"hello",@"world",@"etc",nil]; 

Obtiene un selector no reconocido ya que NSArray no contiene el método addObject

Su código debe ser:

 NSMutableArray *mystr = [[NSMutableArray alloc] initWithObjects:@"hello",@"world",@"etc",nil]; NSString *obj = @"hiagain"; [mystr addObject:obj]; 

La segunda línea está reasignando una instancia de NSArray lugar de NSMutableArray a su variable mystr .

Prueba algo como esto:

 NSMutableArray *mystr = [NSMutableArray arrayWithObjects:@"hello",@"world",@"etc",nil]; [mystr addObject:@"hiagain"] 

Primero creas mystr como un set mutable, pero luego lo asignas a un NSArray estándar en la siguiente línea. En lugar de llamar "arrayWithObjects", agregue cada elemento usando "addObjects" u otra function que no cree una nueva matriz inmutable.

Ahhhhh ya lo vimos

La línea 2 debe ser:

 [NSMutableArray arrayWithObjects:@"hello",@"world",@"etc",nil]; 

Perdón por perder tu time con eso.