2017-03-01 89 views
0

我有一个变量,其中包含String格式的位置。这个位置是在String中转换的ex CLLocation,以便将其上载到我的数据库中。然后,这个位置看起来是这样的:使用swift在CLLocation中转换CLLocation字符串

“< + 48.77516697,+ 2.27782000> +/-65.00米(速度......”;(像一个真正的CLLocation值,但在String格式)

我想要的。它由于转换回在CLLocation格式。

我没有在目前的任何代码,因为我不知道一切是如何做到这一点。在您的帮助。

+0

更好的问题可能是,为什么不将它转换为更有用的字符串格式,而不是使用调试字符串。 –

回答

2

一个非常简单的方法如下:

let s = "<+48.77516697,+2.27782000> +/- 65.00m (speed..." 
let ss = s.components(separatedBy: CharacterSet(charactersIn: "<,>")).flatMap({ 
    Double($0) 
}) // [48.77516697, 2.27782] 
let c = CLLocationCoordinate2D(latitude: ss[0], longitude: ss[1]) 

更复杂的解决方案应该可能使用Scanner(Obj-C中的NSScanner),如this answer中所述。或者,如果你感觉受虐狂,请查看RegularExpression/NSRegularExpression ... :)

+0

谢谢你的作品! ;) –