2017-05-09 99 views
1

字符串 - > [ “地点:< 37.78583400,-122.40641700>/- 5.00米(速度-1.00 MPS /当然-1.00)@ 17年5月8日,下午10点26分50秒太平洋夏令时”]如何将字符串转换为CLLocation?

到CLLocation

+0

你需要提取与'NSScanner'或正则表达式的尖括号之间的两个数值,创建'Double's然后将它们传递到'CLLocation'初始值设定项。顺便说一句:它看起来更像是一个数组中的字符串。 – vadian

+0

是的,它看起来像你转换'CLLocation'串通过类似“地点:\(位置)”,并存储在此在数组中。考虑重新访问该代码并使用Dictionary或其他名称来避免将位置转换为字符串并将该字符串读回。或者告诉我们更多关于你的情况 – dymv

回答

2

你可以做这样的事情:

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) 

}