Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.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
Ios 不推荐的CLRegion方法-如何获取半径?_Ios_Objective C_Core Location_Clregion - Fatal编程技术网

Ios 不推荐的CLRegion方法-如何获取半径?

Ios 不推荐的CLRegion方法-如何获取半径?,ios,objective-c,core-location,clregion,Ios,Objective C,Core Location,Clregion,我正在使用geocodeAddressString:completionHandler:方法,该方法返回一个CLPlacemarks数组。我必须得到纬度,经度,记忆名字和半径。虽然获得前3项很容易: double lat = placemark.location.coordinate.latitude; double lng = placemark.location.coordinate.longitude; NSString *name = [NSString stringWithFormat

我正在使用
geocodeAddressString:completionHandler:
方法,该方法返回一个CLPlacemarks数组。我必须得到纬度,经度,记忆名字和半径。虽然获得前3项很容易:

double lat = placemark.location.coordinate.latitude;
double lng = placemark.location.coordinate.longitude;
NSString *name = [NSString stringWithFormat:@"%@", ABCreateStringWithAddressDictionary(placemark.addressDictionary, NO)]

我现在不知道如何获取半径,因为
placemark.region.radius
已被弃用。你知道现在该用什么来代替吗?我在文档中找不到足够有趣的东西。

弃用说明是针对
CLRegion
中的
radius
,它说使用
CLCircularRegion

请注意,
CLCircularRegion
CLRegion
的一个子类
CLCircularRegion
具有与
CLRegion
相同的属性(包括
radius

如果您是创建
CLRegion
并打算使用其
radius
属性的人,这一点很重要


然而,在这里,SDK本身(特别是
geocodeAddressString
方法)必须担心并处理它

在iOS 7中,该方法确实通过为placemark的
区域
属性返回
CLCircularRegion
来处理它

本质上,您不必在这里执行或更改任何操作,因为属性名称是相同的

此代码将从iOS 4运行到iOS 7:

NSLog(@"radius=%f", placemark.region.radius);

新的类称为CLCircularRegion@danh当我没有开始的时候,我应该如何从旧地区迁移?强制转换没有帮助,也没有方法将旧区域转换为新的循环区域。那么我建议使用:
[(CLCircularRegion*)placemark.region radius]
来避免额外的警告。感谢您的回复。是的,很遗憾,如果部署目标是7.0,它会发出警告。如果仍然使用iOS 7 SDK时部署目标小于7.0,则不会出现警告。