Chaîne à flotteur en Objective-C pour le kit de la carte

voix
0

Je suis en train de passer quelques valeurs lat / long d'un JSON doc au Kit de la carte de l'iPhone pour tracer ensuite les points sur la carte. Les valeurs proviennent d'un NSArray:

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


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

Mais je reçois une erreur « types incompatibles ».

Je suppose que je dois jeter les valeurs de chaîne de mon tableau à CGFloat? Mais je suis sûr.

Des pensées?

Merci,

g

Créé 14/02/2010 à 19:56
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
2

« Avec » est pas ce que vous devez faire, mais si votre tableau (en fait à partir de votre code, il ressemble à un dictionnaire) contient des chaînes, alors oui, vous avez besoin de les convertir en un format numérique. Donnez à ce essayer:

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

De la documentation NSString :

floatValue

Renvoie la valeur à virgule flottante du texte du récepteur comme float.

- (float)floatValue

Valeur de retour
La valeur à virgule flottante du texte du récepteur comme float, en sautant des espaces au début de la chaîne. Retours HUGE_VALou –HUGE_VALen cas de débordement, 0.0sur soupassement. Renvoie également 0.0si le récepteur ne commence pas par une représentation de texte valide d'un nombre à virgule flottante.

En outre, NSStringa une -doubleValueméthode. Il y a aussi une NSNumberclasse, ce qui pourrait être une meilleure représentation que les chaînes de vos données.

Créé 14/02/2010 à 20:01
source utilisateur

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