2010-07-14 7 views
5

Ci sono stati alcuni thread su questo argomento ma nessuno è stato in grado di risolvere il mio problema. In sostanza sto cercando di aggiungere un oggetto personalizzato a un NSMutableArray e sembra che non stia aggiungendo. Non ricevo errori, ma ricevo un avviso che dice che il mio array è una "variabile non utilizzata", quindi sembra che non venga utilizzata. Vedi il codice qui sotto. Qualsiasi aiuto è apprezzato!addObject a NSMutableArray non funziona per l'app per iPhone

Ecco l'inizializzazione nel delegato app (in fase di esecuzione si dice questa matrice non è in uso):

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

Ecco il mio oggetto classe organ.m (I Importiamo il delegato app, il RootViewController e il file 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]; 

so che l'organObj.organName sta ottenendo i valori corretti dal mio SQLite db perché posso li output alla console. Semplicemente non sembrano essere aggiunti alla matrice e il fatto che si dice che la matrice non viene utilizzata significa che qualcosa non va.

Grazie in anticipo

+0

sono i tuoi vedendo eventuali errori? – Anurag

risposta

17

Solo una supposizione, ma se organArray è destinato ad essere un membro della vostra app delegato, si sta creando un nuovo organArray quando il prefisso con "NSMutableArray", quindi se ho capito il tuo codice, cambiare la vostra App delegato:

organArray = [[NSMutableArray alloc] init]; 

invece di:

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

Grazie! Questo ha funzionato e posso dire che l'oggetto viene aggiunto all'array. Ho ancora un problema però ed è che ho problemi ad accedere alla matrice da RootViewController. Un semplice "return [appDelegate.organArray count]" nel mio metodo numberOfRowsInSection restituisce uno 0. Questo ha qualcosa a che fare con il modo in cui ho creato il mio oggetto appDelegate nella mia classe organ.m? Nel mio file RootViewController.m ho incluso organ.h e il mio file di intestazione delegato. Grazie ancora! –

+1

Non importa, ho aggiunto la seguente riga al mio metodo viewDidLoad nel mio RootViewController e l'ho corretto: appDelegate = (RadiologyAppAppDelegate *) [[UIApplication sharedApplication] delegate]; Grazie ancora! –

+0

@ cicero19, Scusa se non ho visto la tua domanda perché occasionalmente visito questo sito. Sono contento che tu l'abbia capito! –