2017-05-09 2 views
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?

CLLocation

+0

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

+0

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

Antwort

2

Sie 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) 

} 
Verwandte Themen