Я знаю, что это, вероятно, простой квест, я хотел бы вернуть значение currentLocGeoPoint
и вернуть массив Objects
, который имеет тип PFObject.Возвращаемое значение из функции Swift
- Попытался сохранить его как глобальную переменную, но он не работает, потому что он асинхронный и не принимает значения. Возвращает пустое.
- Пробный до
return currentLocGeoPoint
и измененVoid in
доPFGeoPoint in
. Дает ошибку:PFGeoPoint is not convertible to 'Void'
Так что я не уверен, как я могу получить переменную currentLocGeoPoint
.
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
CLGeocoder().reverseGeocodeLocation(manager.location, completionHandler: { (placemarks, error) -> Void in
if (error != nil) {
println("Error:" + error.localizedDescription)
//return
}
if placemarks.count > 0 {
let pm = placemarks[0] as CLPlacemark
self.displayLocationInfo(pm)
currentLoc = manager.location
currentLocGeoPoint = PFGeoPoint(location:currentLoc)
var query = PFQuery(className:"Bar")
query.whereKey("BarLocation", nearGeoPoint:currentLocGeoPoint, withinMiles:10)
query.limit = 500
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if objects != nil {
} else {
println("error: \(error)")
}
}
} else {
println("error: \(error)")
}
})
}
Код, который вы отправили, не будет компилироваться. – Kreiri
@ Kreiri i обновлен с пропущенным кодом – user2913669
[Возвращаемое значение для функции внутри блока] (http://stackoverflow.com/questions/17642535/return-value-for-function-inside-a-block) – Kreiri