String unosić w Objective-C Kit Mapa

głosy
0

Próbuję przekazać niektóre łac / długie wartości z doc JSON do iPhone Kit mapa do następnie wykreślić punkty na mapie. Wartości pochodzą z NSArray:

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


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

Ale ja otrzymuję „niekompatybilne typy” błąd.

Domyślam się, muszę rzucać wartości ciągów z mojego tablicy do CGFloat? Ale jestem tylko pewien.

jakieś pomysły?

Dzięki,

sol

Utwórz 14/02/2010 o 19:56
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
2

„Casting” nie jest to, co trzeba zrobić, ale jeśli array (faktycznie z kodu wygląda słownikiem) zawiera ciągi, to tak, trzeba je konwertować do formatu liczbowego. Spróbuj tego:

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

Z dokumentacji NSString :

floatValue

Zwraca wartość zmiennoprzecinkową tekstu odbiornika jako float.

- (float)floatValue

Wartość zwracana
Wartość zmiennoprzecinkową tekstu odbiornika jako float, pomijając spacje na początku łańcucha. Zwraca HUGE_VALlub –HUGE_VALna przepełnienie, 0.0na niedomiar. Również zwraca 0.0jeśli odbiornik nie zaczyna się od ważnej reprezentacji tekstowej liczby zmiennoprzecinkowej.

Ponadto NSStringma -doubleValuesposobu. Istnieje również NSNumberklasy, które mogłyby być lepiej niż reprezentacja ciągów dla Twoich danych.

Odpowiedział 14/02/2010 o 20:01
źródło użytkownik

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