/ / Swift i Parse findObjectsInBackgroundWithBlock nie zwróci mojej tablicy - swift, parse.com

Swift i Parse findObjectsInBackgroundWithBlock nie zwróci mojej tablicy - swift, parse.com

kiedy kompilator osiągnie koniec funkcji findObjectsInBackgroundWithBlock, moje współrzędne tracą wartości, a funkcja zwraca pustą tablicę. Czy możesz pomóc proszę? Z góry dziękuję

 func getSquadMembersCoordinates() -> Array<PFGeoPoint> {
var coordinatesArray:[PFGeoPoint] = [PFGeoPoint]()

if user != nil {

let userSquad = PFUser.currentUser()?["inSquad"] as? String

let query = PFUser.query()
query?.whereKey("username", notEqualTo: (PFUser.currentUser()?    ["username"])!)
query?.whereKey("inSquad", equalTo: userSquad!)
query?.whereKey("visible", notEqualTo: false)
query?.findObjectsInBackgroundWithBlock {
(results: [PFObject]?, error: NSError?) -> Void in
if error == nil {
if results?.count != 0 {

if let results = results {
for object in results {
coordinatesArray.append(object.objectForKey("location") as! PFGeoPoint)

}
}
} else {
print("No Squad Members or not visible")
}
} else {
print ("(error)")
}
}
} else {

dispatch_async(dispatch_get_main_queue(), { () -> Void in
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("SquadVC")
self.presentViewController(viewController, animated: true, completion: nil)
})
}



print("(coordinatesArray.count)")
return coordinatesArray

}

Odpowiedzi:

0 dla odpowiedzi № 1

Twój kod dociera do powrót przed zakończeniem pobierania. Potrzebujesz czegoś takiego powiadomienie to zaktualizuje dane po zakończeniu pobierania.