我试图在我的闭包中返回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

            }
}

最佳答案

闭包不会立即执行,而是在稍后的时间执行,因此返回某些内容是没有意义的。您应该在闭包中使用用户位置(更新视图或其他内容)。

09-11 17:39