我正在尝试更新服务器上的用户位置
使用此功能
func updateloc(lat : String?, long : String?) { /code... let data = "lat=\(lat!)&long=\(long!)" }
这是代表
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { updateloc(String(manager.location?.coordinate.latitude), long: String(manager.location?.coordinate.longitude)) }
我有Optional(“”)lat和和long变量,不能摆脱它。
lat
long
任何想法如何做到这一点?
如果您像这样解开纬度和经度值…
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { if let lat = manager.location?.coordinate.latitude, let long = manager.location?.coordinate.longitude { updateloc(String(lat), long: String(long)) } }
…然后您可以在updateloc函数中完全避免使用可选:
updateloc
func updateloc(lat : String, long : String) { // code... let data = "lat=\(lat)&long=\(long)" }
originalUser2没错…除非您有充分理由强制拆开它们,否则应该养成安全地解开可选内容的习惯。而且,仅尝试摆脱可选内容以使代码可以编译并不是一个很好的理由。
originalUser2