String galleggiare in Objective-C per Map Kit

voti
0

Sto cercando di passare alcuni valori di lat / long da un documento JSON per Kit Mappa di iPhone per poi tracciare i punti sulla mappa. I valori stanno venendo da un NSArray:

CGFloat goLat = [valfields objectForKey: @geo_lat];
CGFloat golong = [valfields objectForKey: @geo_long];


CLLocationCoordinate2D newCoord = {golat, golong}; etc...

Ma sto ottenendo un errore tipi incompatibili.

La mia ipotesi è che ho bisogno di lanciare i valori di stringa dal mio array per CGFloat? Ma io sono solo sicuro.

qualche idea?

Grazie,

g

È pubblicato 14/02/2010 alle 19:56
fonte dall'utente
In altre lingue...                            


1 risposte

voti
2

'Casting' non è quello che devi fare, ma se la matrice (in realtà dal codice sembra un dizionario) contiene stringhe, allora sì, è necessario convertirli in un formato numerico. Dare a questo una prova:

CGFloat goLat = [[valfields objectForKey: @"geo_lat"] floatValue];

Dalla documentazione di NSString :

floatValue

Restituisce il valore in virgola mobile del testo del ricevente come float.

- (float)floatValue

Valore restituito
Il valore a virgola mobile del testo del ricevente come float, saltando gli spazi bianchi all'inizio della stringa. Restituisce HUGE_VALo –HUGE_VALin caso di overflow, 0.0in underflow. Restituisce anche 0.0se il ricevitore non inizia con una rappresentazione testo valido di un numero in virgola mobile.

Inoltre, NSStringha un -doubleValuemetodo. C'è anche una NSNumberclasse, che potrebbe essere una rappresentazione migliore di stringhe per i dati.

Risposto il 14/02/2010 a 20:01
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more