String te zweven in Objective-C voor Map Kit

stemmen
0

Ik ben op zoek naar een aantal lengte / breedte waarden gaan van een JSON doc om iPhone Map Kit vervolgens plot van de punten op de kaart. De waarden worden verzonden via een NSArray:

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


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

Maar ik krijg een onverenigbaar types fout.

Mijn gok is dat ik nodig om de string waarden uit mijn array naar CGFloat werpen? Maar ik ben gewoon zeker.

Wat denk jij?

Bedankt,

g

De vraag is gesteld op 14/02/2010 om 19:56
bron van user
In andere talen...                            


1 antwoorden

stemmen
2

'Casting' is niet wat je moet doen, maar als uw array (eigenlijk van de code ziet eruit als een woordenboek) bevat strijkers, dan ja, moet u ze converteren naar een numerieke notatie. Geef dit een keer te proberen:

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

Vanaf het NSString documentatie :

floatValue

Geeft de floating-point waarde van de tekst van de ontvanger als een float.

- (float)floatValue

Return Value
De floating-point waarde van de tekst van de ontvanger als een float, het overslaan van witruimte aan het begin van de string. Retourneren HUGE_VALof –HUGE_VALop de overloop, 0.0op onderstroom. Ook keert terug 0.0als de ontvanger niet begint met een geldige tekst representatie van een getal met drijvende komma.

Verder NSStringheeft -doubleValuemethode. Er is ook een NSNumberklasse, die een betere vertegenwoordiging dan strings voor uw gegevens zou kunnen zijn.

antwoordde op 14/02/2010 om 20:01
bron van user

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