使用Swift创建一个用新行(\ n)分隔的字符串

时间:2016-03-01 10:17:32

标签: ios arrays string swift

我在开发iOS应用程序时遇到问题,我想要实现的是从字符串数组创建单个字符串。该数组包含给定位置的地址,使用CLGeocoder从反向地理编码获得,这是给出字符串数组的代码:

let userCoordinates = CLLocation(latitude: mapView.userLocation.location!.coordinate.latitude, longitude: mapView.userLocation.location!.coordinate.longitude)

CLGeocoder().reverseGeocodeLocation(userCoordinates, completionHandler: {
    placemark, error in

    let reverseGeocodedLocation = placemark?.first?.addressDictionary?["FormattedAddressLines"] as? [String]
}
在我的案例中,

reverseGeocodedLocation是:

["Apple Inc.", "Cupertino, CA  95014", "United States"]

结果字符串应该将数组中的字符串分开,并以多行格式显示它们:

Apple Inc.
Cupertino, CA 95014
United States

我尝试在网上搜索解决方案,我发现这个代码应该这样做,这可能是解决方案:

print("\n".join(reverseGeocodedLocation.map({$0})))

但是编译器说:

  

无法调用'加入'使用类型'([String]?)'

的参数列表

1 个答案:

答案 0 :(得分:4)

if let reverseGeocodedLocation = reverseGeocodedLocation {
    print(reverseGeocodedLocation.joinWithSeparator("\n"))
}

作为答案而不是评论。

Swift 3/4:

reverseGeocodedLocation.joined(separator: "\n")