要在地图工具包的Objective-C中浮动的字符串
我试图将一些lat/long值从JSON文档传递到iPhone的地图工具包,然后在地图上绘制点。这些值来自NSArray:要在地图工具包的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... 但是我得到了一个“不兼容类型”的错
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
类,它可能比字符串更好地表示数据