String til å flyte i Objective-C for Kart Kit

stemmer
0

Jeg prøver å passere noen lat / lang verdier fra en JSON doc til iPhone Kart Kit deretter plotte punkter på kartet. Verdiene kommer fra en NSArray:

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


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

Men jeg får en inkompatible typer feil.

Min gjetning er at jeg trenger å kaste de strengverdier fra min array til CGFloat? Men jeg er bare sikker.

noen tanker?

Takk,

g

Publisert på 14/02/2010 klokken 18:56
kilden bruker
På andre språk...                            


1 svar

stemmer
2

'Casting' er ikke hva du trenger å gjøre, men hvis array (faktisk fra koden din ser ut som en ordbok) inneholder strenger, så ja, må du konvertere dem til et numerisk format. Gi dette en sjanse:

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

Fra NSString dokumentasjon :

floatValue

Returnerer flyttallsverdien av mottakerens teksten som en float.

- (float)floatValue

Returverdier
Den flytende-punkt verdien av mottakerens teksten som en float, hopper mellomrom i begynnelsen av strengen. Avkastning HUGE_VALeller –HUGE_VALpå overløp, 0.0på underflyt. Returnerer også 0.0om mottakeren ikke begynner med en gyldig tekst representasjon av et flyttall.

I tillegg, NSStringhar en -doubleValuemetode. Det er også en NSNumberklasse, som kan være en bedre representasjon enn strenger for dine data.

Svarte 14/02/2010 kl. 19:01
kilden bruker

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