2009-03-27 12 views
5

Come prova, sto facendo il seguente come prima riga in applicationDidFinishLaunching:NSArray initWithObjects: non caricano

NSArray *list=[[NSArray alloc] initWithObjects:@"Andy",@"Erik",@"Aaron",nil]; 

Dopo la linea corre, ho a zero oggetti nella matrice. Sto facendo questo più in basso lungo il percorso del codice, ma volevo eliminare ogni influenza per assicurarmi che la mia sintassi fosse corretta. Ottengo gli stessi risultati con NSMutableArray. Nel debugger eseguo il mouse sul nome dell'array per vedere se ha valori.

Quando ho mouse sopra conteggio nella riga seguente, che vedo "varaible awa ottimizzato ... Sommario":

int count = [list count]; 

Qualsiasi suggerimento perché la matrice non riempie e perché conteggio non sta dando indietro un intero?

risposta

6

Quello che sta accadendo è che non state usando la variabile 'count' e il compilatore sta ottimizzando questo fuori.

1) Provare a eseguire il debug invece della modalità di rilascio. La modalità debug non ottimizzerà le cose, quindi dovresti vedere la variabile count dare il risultato corretto con un mouse sopra nel debugger. È possibile modificare la configurazione attiva per eseguire il debug del rilascio facendo clic sulla barra a discesa in alto a sinistra di xcode.

2) Utilizzare la variabile 'contare' nel codice. Si noti che nella versione build le cose possono accadere fuori ordine, se questo è ciò che il compilatore vuole fare. Ad esempio, se hai la tua istruzione di inizializzazione del conteggio da qualche parte, e usi "conteggio" più in basso nel tuo codice, "conteggio" potrebbe non essere impostato fino a prima dove il "conteggio" è effettivamente utilizzato.

+0

Grazie. È stato accidentalmente in modalità di distribuzione per ad hoc. Strano come salta in giro così. – 4thSpace

Problemi correlati