2010-07-14 10 views
5

Ha habido algunos hilos sobre este tema, pero ninguno ha podido resolver mi problema. Básicamente, estoy tratando de agregar un objeto personalizado a un NSMutableArray y no parece estar agregando. No recibo ningún error, pero recibo una advertencia que dice que mi matriz es una "variable no utilizada", por lo que parece que no se está utilizando. Vea el código a continuación. ¡Cualquier ayuda es apreciada!addObject para NSMutableArray no funciona para la aplicación de iPhone

Aquí está la inicialización en el delegado de la aplicación (en tiempo de ejecución que dice esta matriz no se utiliza):

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

Aquí está mi objeto organ.m clase (Estoy importando el delegado de la aplicación, la RootViewController y el archivo organ.h)

Organ *organObj = [[Organ alloc] initWithPrimaryKey:primaryKey]; 
organObj.organName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectstmt,1)]; 
organObj.isDirty = NO; 

[appDelegate.organArray addObject: organObj]; 

[organObj release]; 

sé que el organObj.organName está recibiendo los valores correctos de mi db sqlite porque puede ordenar a la consola. Simplemente no parecen estar agregándose a la matriz y el hecho de que dice que la matriz no se está utilizando significa que algo está mal.

Gracias de antemano

+0

están viendo su cualquier error? – Anurag

Respuesta

17

Sólo una conjetura pero si organArray pretende ser un miembro de su aplicación delegado, que está creando un nuevo organArray cuando prefijándolo con "NSMutableArray" por lo que si entiendo su código, cambiar su aplicación delegado a:

organArray = [[NSMutableArray alloc] init]; 

en lugar de:

NSMutableArray *organArray = [[NSMutableArray alloc] init]; 
+1

¡Gracias! Esto funcionó y puedo decir que el objeto se está agregando a la matriz. Todavía tengo un problema y es que tengo problemas para acceder a la matriz desde RootViewController. Un simple "return [appDelegate.organArray count]" en mi método numberOfRowsInSection devuelve 0. ¿Tiene esto algo que ver con la forma en que creé mi objeto appDelegate en mi clase organ.m? En mi archivo RootViewController.m, he incluido organ.h y mi archivo de cabecera delegado. ¡Gracias de nuevo! –

+1

No importa, agregué la siguiente línea a mi método viewDidLoad en mi RootViewController y lo corrigió: appDelegate = (RadiologyAppAppDelegate *) [[UIApplication sharedApplication] delegate]; ¡Gracias de nuevo! –

+0

@ cicero19, lo siento, no vi su pregunta ya que solo visito ocasionalmente este sitio. ¡Me alegro de que lo hayas descifrado! –

Cuestiones relacionadas