String să plutească în Obiectiv-C Harta Kit

voturi
0

Am încercat să treacă unele valori de latitudine / longitudine dintr-un doc JSON pentru Kit Harta iPhone pentru a parcelei apoi punctele de pe hartă. Valorile provin dintr-un NSArray:

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


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

Dar eu sunt obtinerea o „tipuri incompatibile“ eroare.

Părerea mea este că trebuie să arunce valorile string din matrice mea CGFloat? Dar eu sunt doar sigur.

Orice gânduri?

Mulțumiri,

g

Întrebat 14/02/2010 la 19:56
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
2

„Turnarea“ nu este ceea ce trebuie să faci, dar dacă matrice dvs. (de fapt, de la codul arata ca un dicționar) conține siruri de caractere, atunci da, aveți nevoie pentru a le converti într-un format numeric. Dă acest lucru un try:

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

Din documentația NSString :

floatValue

Returnează valoarea în virgulă mobilă a textului receptorului ca float.

- (float)floatValue

Întoarcere Valoare
Valoarea plutitoare punct al textului receptorului ca float, sărind peste la începutul spațiu șirului. Returnează HUGE_VALsau –HUGE_VALpe preaplin, 0.0pe underflow. De asemenea , se întoarce în 0.0cazul în care receptorul nu începe cu o reprezentare de text validă a unui număr în virgulă mobilă.

În plus, NSStringare o -doubleValuemetodă. Există , de asemenea , o NSNumberclasă, care ar putea fi o reprezentare mai bună decât siruri de caractere pentru datele.

Publicat 14/02/2010 la 20:01
sursa de către utilizator

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