2010-12-30 14 views
5

Ho un NSArray con numeri e voglio ottenere il valore di un elemento dell'array e assegnarlo a un doppio. Nel mio tentativo di semplice casting:Semplice: oggetto NSArray da raddoppiare?

lat = (double)[storesList.latitudes objectAtIndex:i]; 

ottengo l'errore: "valore del puntatore utilizzato in cui era previsto un valore in virgola mobile".

Si prega di aiuto!

Grazie,

F.

+0

Che tipo di oggetti sono effettivamente memorizzati nell'array? :) – willcodejavaforfood

+0

Assicuratevi di controllare il segno di spunta grigio accanto a una delle risposte. –

+0

Sono sicuro che lo sa, ma un buon promemoria. – BoltClock

risposta

14

Se si dice che la matrice è costituito da numero (classe NSNumber), che si può dovrebbe ottenere il valore modo seguente:

double lat = [[storeList.latitudes objectAtIndex:i] doubleValue]; 
+1

Obj C FTW, sprecato un'ora in quello. Grazie! – nosuic

6

Non puoi lanciare un oggetto NSNumber per un valore double tipo primitivo. Utilizzare il metodo di NSNumberdoubleValue invece, in questo modo:

lat = [[storesList.latitudes objectAtIndex:i] doubleValue]; 
+0

Oh Dio ha perso così tanto tempo .. grazie! – nosuic

1

È possibile utilizzare questo codice

 
double lat = [[storeList.latitudes objectAtIndex:i] doubleValue]; 

Grazie

Problemi correlati