Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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 为什么ABCreateStringWithAddressDictionary没有给出详细的名称?_Ios_Swift_Mkmapview_Mapkit_Geocoding - Fatal编程技术网

Ios 为什么ABCreateStringWithAddressDictionary没有给出详细的名称?

Ios 为什么ABCreateStringWithAddressDictionary没有给出详细的名称?,ios,swift,mkmapview,mapkit,geocoding,Ios,Swift,Mkmapview,Mapkit,Geocoding,我正在使用swift进行iOS编程。 我从用户那里获取一个位置字符串地址输入,并返回地理编码结果供他选择。 我的问题是,当我想向用户显示地址时,我想向他显示一个完整的地址名,城市,国家或城市,国家。 所以我检查并发现ABCreateStringWithAddressDictionary函数是获取格式化地址的标准。 但是,使用该函数只会给我位置的第一个名称,如果是名称、城市、国家/地区,则会给我名称 cell.textLabel?.text = ABCreateStringWithAddressD

我正在使用swift进行iOS编程。 我从用户那里获取一个位置字符串地址输入,并返回地理编码结果供他选择。 我的问题是,当我想向用户显示地址时,我想向他显示一个完整的地址名,城市,国家或城市,国家。 所以我检查并发现ABCreateStringWithAddressDictionary函数是获取格式化地址的标准。 但是,使用该函数只会给我位置的第一个名称,如果是名称、城市、国家/地区,则会给我名称

cell.textLabel?.text = ABCreateStringWithAddressDictionary(returnedQueryLocations[indexPath.row].addressDictionary, true).
这不是返回完整地址。 在线找到另一个解决方案

var lines : AnyObject = returnedQueryLocations[indexPath.row].addressDictionary[ "FormattedAddressLines"]!
    var addressString : NSString = lines.componentsJoinedByString(", ")
这是目标C,但我把它翻译成了swift。它在某种程度上起作用,但在某些地址的情况下,它给了我一个错误。 还有别的办法解决这个问题吗?ABCreateStringWithAddressDictionary应该给出这样的结果吗

谢谢


编辑:例如,当我搜索黎巴嫩贝鲁特的哈姆拉时,它给了我哈姆拉街。第二个方法给了我所需的地址黎巴嫩贝鲁特的哈姆拉街。

ABCreateStringWithAddressDictionary返回的字符串使用换行符分隔其组件。文本字段仅显示第一行。在设置文本字段之前,请将换行符替换为逗号:

var addressString = ABCreateStringWithAddressDictionary(returnedQueryLocations[indexPath.row].addressDictionary, true)
addressString = addressString.stringByReplacingOccurrencesOfString("\n", withString: ", ")
cell.textLabel?.text = addressString