1
String -> [ "Ort: < 37,78583400, -122,40641700>/- 5.00m (Geschwindigkeit -1,00 mps/Kurs -1,00) @ 5/8/17, 10.26.50 Pacific Daylight Time"]Wie konvertiert man String in CLLocation?
CLLocationString -> [ "Ort: < 37,78583400, -122,40641700>/- 5.00m (Geschwindigkeit -1,00 mps/Kurs -1,00) @ 5/8/17, 10.26.50 Pacific Daylight Time"]Wie konvertiert man String in CLLocation?
CLLocationSie etwas tun können:
import CoreLocation
let String = "Location: < 37.78583400,-122.40641700> /- 5.00m (speed
-1.00 mps/course -1.00) @ 5/8/17, 10:26:50 PM Pacific Daylight
Time"
let latLongString = String.components(separatedBy: "< ")[1].components(separatedBy: ">")[0]
let lat = latLongString.components(separatedBy: ",")[0]
let long = latLongString.components(separatedBy: ",")[1]
if let latitude = Double(lat), let longitude = Double(long) {
let coordinate:CLLocation = CLLocation(latitude: latitude, longitude: longitude)
}
Sie müssen extrahieren die beiden numerischen Werte zwischen den spitzen Klammern mit 'NSScanner' oder Regular Expression, erstellen' Double's geben sie dann an ein 'CLLocation' Initialisierer. Übrigens: Es sieht mehr wie eine Zeichenfolge in einem Array aus. – vadian
Ja, es sieht so aus, als hätten Sie 'CLLocation' in eine Zeichenkette umgewandelt, etwa nach" Location: \ (location) "und diese in einem Array gespeichert. Erwägen Sie, diesen Code erneut zu verwenden und Dictionary oder etwas anderes zu verwenden, um zu vermeiden, dass die Position in eine Zeichenfolge konvertiert wird und diese Zeichenfolge zurück gelesen wird. Oder erzählen Sie uns mehr über Ihre Situation – dymv