我试图在我的闭包中返回userlocation变量,但我不能。
错误错误:void函数中意外的非void返回值
我知道我不能返回int,因为它已经返回->Void,但我不能将它更改为int,因为它将geoPointForCurrentLocationInBackground和所有内容保存下来。
@IBAction func add(sender: UIButton) {
PFGeoPoint.geoPointForCurrentLocationInBackground {
(userlocation: PFGeoPoint?, error: NSError?) -> Void in
if let point = userlocation where error == nil {
println(point.latitude)
println(point.longitude)
//let point = userlocation
var userlocation = PFGeoPoint(latitude: point.latitude, longitude: point.longitude)
}
return userlocation
}
}
最佳答案
闭包不会立即执行,而是在稍后的时间执行,因此返回某些内容是没有意义的。您应该在闭包中使用用户位置(更新视图或其他内容)。