«Приведение» - это не то, что вам нужно, но если ваш массив (фактически из вашего кода он выглядит как словарь) содержит строки, то да, вам нужно преобразовать их в числовой формат.Попробуйте:
CGFloat goLat = [[valfields objectForKey: @"geo_lat"] floatValue];
Из документации NSString :
floatValue
Возвращает значение с плавающей точкой получателятекст в виде float
.
- (float)floatValue
Возвращаемое значение
Значение с плавающей запятой текста получателя в виде float
, пропуская пробелв начале строки.Возвращает HUGE_VAL
или –HUGE_VAL
при переполнении, 0.0
при переполнении.Также возвращает 0.0
, если получатель не начинается с действительного текстового представления числа с плавающей запятой.
Кроме того, NSString
имеет метод -doubleValue
.Существует также класс NSNumber
, который может быть лучше, чем строки для ваших данных.