Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要在地图工具包的Objective-C中浮动的字符串_Objective C_Iphone Sdk 3.0_Mapkit - Fatal编程技术网

要在地图工具包的Objective-C中浮动的字符串

要在地图工具包的Objective-C中浮动的字符串,objective-c,iphone-sdk-3.0,mapkit,Objective C,Iphone Sdk 3.0,Mapkit,我试图将一些lat/long值从JSON文档传递到iPhone的地图工具包,然后在地图上绘制点。这些值来自NSArray: CGFloat goLat = [valfields objectForKey: @"geo_lat"]; CGFloat golong = [valfields objectForKey: @"geo_long"]; CLLocationCoordinate2D newCoord = {golat, golong}; etc... 但是我得到了一个“不兼容类型”的错

我试图将一些lat/long值从JSON文档传递到iPhone的地图工具包,然后在地图上绘制点。这些值来自NSArray:

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


CLLocationCoordinate2D newCoord = {golat, golong}; etc...
但是我得到了一个“不兼容类型”的错误

我猜我需要将数组中的字符串值强制转换为CGFloat?但我只是确定

有什么想法吗

谢谢


g

您不需要执行“Casting”操作,但是如果数组(实际上从代码看,它像一个字典)包含字符串,那么是的,您需要将它们转换为数字格式。尝试一下:

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

浮点值 将接收器文本的浮点值作为
浮点值返回

-(浮点)浮点值

返回值
接收方文本的浮点值为
浮点值,跳过字符串开头的空白。在溢出时返回
巨值
巨值
,在下溢时返回
0.0
。如果接收器没有以浮点数的有效文本表示形式开头,也会返回
0.0

此外,
NSString
还有一个
-doubleValue
方法。还有一个
NSNumber
类,它可能比字符串更好地表示数据