我正在尝试将从Firebase检索到的字符串转换为Google Maps上的多个注释。不幸的是,每当它经过当前代码时,我的应用程序就会崩溃:
ref = FIRDatabase.database().reference()
ref.child("Locations").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
let lat = (snapshot.value!["Latitude"] as! NSString).doubleValue
let lon = (snapshot.value!["Longitude"] as! NSString).doubleValue
let complainLoc = CLLocationCoordinate2DMake(lat, lon)
let Coordinates = CLLocationCoordinate2D(latitude: lat, longitude: lon)
})
这是我用于将数据保存到Firebase的代码。
FIRDatabase.database().reference().child("Location").child(FIRAuth.auth()!.currentUser!.uid).setValue(["Latitude": locationManager.location!.coordinate.latitude, "Longitude": locationManager.location!.coordinate.longitude])
CLLocationCoordinate2D
时崩溃,而不是在进行强制转换/解包的地方?检查确保value
不是nil
。还要检查value["Latitude"]
和value["Longitude"]
都不是(a)nil
,且(b)是字符串值。由于所有这些!
强制解包和强制转换运算符,这里有很多可能导致崩溃的源头。 - RobcomplainLoc
是用来做什么的? - vadian