String Float in Objective-C für Map Kit

stimmen
0

Ich versuche, einige lat / long Werte aus einer JSON doc auf iPhone Map Kit passieren, um dann auf der Karte die Punkte zu zeichnen. Die Werte kommen aus einem NSArray:

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


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

Aber ich bin immer ein „inkompatible Typen“ Fehler.

Meine Vermutung ist, ich brauche die String-Werte von meinem Array CGFloat zu werfen? Aber ich bin nur sicher.

Irgendwelche Gedanken?

Vielen Dank,

G

Veröffentlicht am 14/02/2010 um 19:56
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
2

‚Casting‘ ist nicht das, was Sie tun müssen, aber wenn Ihr Array (eigentlich aus dem Code wie ein Wörterbuch aussieht) enthält Strings, dann ja, müssen Sie sie in ein numerisches Format konvertieren. Geben Sie diesen einen Versuch:

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

Von der NSString Dokumentation :

floatvalue

Gibt den Gleitkommawert des Textes des Empfängers als ein float.

- (float)floatValue

Rückgabewert
Des Gleitkommawert des Textes des Empfängers als ein float, das Überspringen Leerzeichen am Anfang des Strings. Rückgabe HUGE_VALoder –HUGE_VALbei Überlauf, 0.0auf Unterschreitung. Auch gibt , 0.0wenn der Empfänger nicht mit einer gültigen Textdarstellung einer Gleitkommazahl beginnen.

Darüber hinaus NSStringhat ein -doubleValueVerfahren. Es gibt auch eine NSNumberKlasse, die eine bessere Darstellung als Zeichenfolge für Ihre Daten sein könnte.

Beantwortet am 14/02/2010 um 20:01
quelle vom benutzer

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