Ich verwende Googles 'reverseGeocodeCoordinate
', um Adresse basierend auf Breite und Länge zu erhalten.
Ich erhalte den folgenden Fehler in der ImplementierungMehrdeutiger Verweis auf Mitglied 'joinWithSeparator' in swift
Mehrdeutige Bezug auf User ist 'joinWithSeparator'
Im Folgenden meine Implementierung:
let aGMSGeocoder: GMSGeocoder = GMSGeocoder()
aGMSGeocoder.reverseGeocodeCoordinate(CLLocationCoordinate2DMake(17.45134626, 78.39304448)) {
(let gmsReverseGeocodeResponse: GMSReverseGeocodeResponse!, let error: NSError!) -> Void in
let gmsAddress: GMSAddress = gmsReverseGeocodeResponse.firstResult()
print("lines=\(gmsAddress.lines)")
let addressString = gmsAddress.lines.joinWithSeparator("")
print("addressString=\(addressString)")
}
Ich versuche, eine zu schaffen addressString
mit den Elementen im Array 'gmsAddress.lines
', aber am Ende mit einer Fehlermeldung.
einige Beispiel-Code-Schnipsel implementiert 'joinWithSeparator
' zu testen
let sampleArray = ["1", "2", "3", "4", "5"]
let joinedString = sampleArray.joinWithSeparator("")
print("joinedString=\(joinedString)")
Es gelang.
Was ich beobachte ist, 'sampleArray
' eine Reihe von Elementen des Typs ist String
, aber 'gmsAddress.lines
' ist ein Array von Elementen des Typs 'AnyObject
', gefunden in 'GMSAddress
' Bibliothek:
/** An array of NSString containing formatted lines of the address. May be nil. */
public var lines: [AnyObject]! { get }
So, welche Möglichkeiten geben die folgende Zeile zu erreichen, ohne das Array Looping:
let addressString = gmsAddress.lines.joinWithSeparator("")