Řetězec Float v Objective-C Mapa Kit

hlasů
0

Snažím se předat některé délku / šířku hodnot z JSON doc na iPhone Mapa Kit pak plot body na mapě. Hodnoty jsou zasílány z NSArray:

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


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

Ale Dostávám chybu „nekompatibilní typy“.

Můj odhad je, musím odevzdat řetězec hodnoty z mého pole do CGFloat? Ale já jsem jen jistý.

Nějaké nápady?

Dík,

G

Položena 14/02/2010 v 19:56
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
2

‚Casting‘ není to, co je třeba udělat, ale pokud vaše array (vlastně z vašeho kódu vypadá jako slovník) obsahuje řetězce, pak ano, je třeba je převést na číselný formát. Dej to zkusit:

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

Z dokumentace NSString :

floatValue

Vrátí hodnotu s plovoucí desetinnou čárkou textu přijímače ve formě float.

- (float)floatValue

Návratová hodnota
hodnotu plovoucí čárkou textu přijímače ve formě float, skákání mezery na začátku řetězce. Vrátí HUGE_VALnebo –HUGE_VALk přepadu, 0.0o podtečení. Také vrátí 0.0v případě, že přijímač nezačíná s platným textovým reprezentaci čísla s plovoucí desetinnou čárkou.

Kromě toho NSString-doubleValuezpůsob. K dispozici je také NSNumbertřída, která by mohla být lepší než reprezentace řetězce pro vaše data.

Odpovězeno 14/02/2010 v 20:01
zdroj uživatelem

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