Строка Поплавок в Objective-C для карт Kit

голоса
0

Я пытаюсь передать некоторые Шир / значения из JSON документ на карте Kit iPhone, чтобы затем построить точки на карте. Значения приходят от NSArray:

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


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

Но я получаю ошибку «несовместимые типы».

Я думаю, мне нужно бросить строковые значения из моего массива CGFloat? Но я просто уверен.

Есть предположения?

Благодаря,

г

Задан 14/02/2010 в 19:56
источник пользователем
На других языках...                            


1 ответов

голоса
2

«Кастинг» не то, что вам нужно сделать, но если массив (на самом деле из кода выглядит как словарь) содержит строки, то да, вы должны преобразовать их в числовом формате. Дайте этому попытку:

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

Из документации NSString :

floatValue

Возвращает значение с плавающей точкой текста приемника в виде float.

- (float)floatValue

Возвращаемое значение
Значение с плавающей точкой текста приемника в виде float, пропуская пробелы в начале строки. Возвращает HUGE_VALили –HUGE_VALпереполнении, 0.0на опустошения. Также возвращается , 0.0если приемник не начинается с действительным текстом представлением числа с плавающей точкой.

Кроме того, NSStringесть -doubleValueметод. Существует также NSNumberкласс, который мог бы быть лучше , чем представление строк для ваших данных.

Ответил 14/02/2010 в 20:01
источник пользователем

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