如何在swift MKLocalSearch中访问城市和地址

如何在swift MKLocalSearch中访问城市和地址,swift,mapkit,Swift,Mapkit,我正在使用swift MapKit MKLocalSearch。它返回一个MKLocalSearchCompletion数组。但是,MKLocalSearchCompletion仅公开标题和副标题字段。我想从地址中提取城市和州,但简单地解构副标题是行不通的,因为它的格式不可靠(有时城市是第二个或第三个组成部分,如果按“,”分割的话)我使用了AppCode的调试器,发现我想要的信息(经过精心设计的)实际上是潜在的可用信息,但它隐藏在MKLocalSearchCompletion的深处,无法访问(它

我正在使用swift MapKit MKLocalSearch。它返回一个MKLocalSearchCompletion数组。但是,MKLocalSearchCompletion仅公开标题和副标题字段。我想从地址中提取城市和州,但简单地解构副标题是行不通的,因为它的格式不可靠(有时城市是第二个或第三个组成部分,如果按“,”分割的话)我使用了AppCode的调试器,发现我想要的信息(经过精心设计的)实际上是潜在的可用信息,但它隐藏在MKLocalSearchCompletion的深处,无法访问(它是私有的)…类型为GEOStructuredAddress,它包含MapKit返回的所有字段。以下是它在MKLocalSearchCompletion中的隐藏方式(其中self=MKLocalSearchCompletion)

(((((self.addressResults[0]。\u-mapItem as!MKMapItem*)。\u-geoMapItem as!\u-GEOPlaceDataItem*)。\u-place as!GEOPlace*)。\u-address as!geopAddress*)。\u-structuredAddress as!geopstructuredAddress*)。\u-administrative-area

我能做些什么来获取这些信息?是否有不同的方法使用MapKit进行查询,从而使我能够更好地控制响应


我已经看到了,但我不确定如何将其与MKLocalSearchCompleterDelegate一起使用。(我假设我需要使用MKLocalSearch并创建自己的“completer”-这是唯一的方法吗?)

您可以通过
CLGeocoder
获得这些坐标的信息,但我无法访问MKLocalSearchCompletion结果的坐标。如何将subtitle提供的摘要信息转换为CLGeocoder以获得我想要的信息?您能否调试
MKLocalSearchCompletion
的响应
MKMapItem
作为您需要的多个值的字典,它正是(((((self.addressResults[0]。\u mapItem as!MKMapItem*)。\u GEOPlaceDataItem*)。\u place as!GEOPlace*)。\u address as!geopAddress*)。\u structuredAddress as!geopstructuredAddress*).u我在上面写的administrativeArea。问题是我无法访问它,因为它没有被MKLocalSearchCompletion公开…我甚至无法在AppCode的调试器中计算表达式…如果您能告诉我如何才能找到我想要的答案。谢谢
{isCurrentLocation=0;name=“Merriweather咖啡+厨房”phoneNumber=“\U202d+1(646)678-5678\U202c”placemark=“Merriweather咖啡+厨房,美国纽约州纽约市哈德逊街428号,邮编10014@/-0.00m,地区CLCircularRegion(标识符:'radius 141.17',center:,radius:141.17m)”;时区=“美国/纽约(EDT)偏移-14400(日光)“url=”http://www.merriweathernyc.com“;}
这就是你要找的吗?