在使用alamofire https://maps.googleapis.com/maps/api/directions/json?origin=(self.startlat,self.startlng)&destination=(self.endlat,self.endlng)錯誤意外地發現零而展開的可選值
我收到此錯誤所有的時間打電話:
'fatal error: unexpectedly found nil while unwrapping an Optional value'
我也試試這個
if let slat = startlat {
if let slng = self.startlng {
if let elat = self.endlat {
if let elng = self.endlng {
Alamofire.request(.GET, "https://maps.googleapis.com/maps/api/directions/json?origin=\(slat,slng)&destination=\(elat,elng)" , encoding: .JSON)
.responseJSON { response in
let res = response.result.value!
self.estimatedDistance = (res["routes"]!![0]["legs"]!![0]["distance"]!!["value"] as! Int)/1000
self.estimatedTime = (res["routes"]!![0]["legs"]!![0]["duration"]!!["value"] as! Int)/60
print("\(self.estimatedDistance) - \(self.estimatedTime)")
}
}
}
}
}
,但我仍然會有同樣的錯誤。
'guard/else'是你的朋友;) –
你還有幾個強制解包。調試器光標指向哪一行? –
保持力量展開從來不是一個好主意,如果你覺得懶得'如果let'或'guard let'那麼考慮使用[Swifty JSON](https://github.com/SwiftyJSON/SwiftyJSON),它會幫助 – Tj3n