Я пытаюсь использовать обработчик завершения в цикле for. Проблема в том, что он будет продолжать выполнять цикл до возврата обработчика завершения, поскольку это асинхронный вызов. Прилагается мой код. Нужно ли использовать GCD? Я новичок (очевидно) в swift/ios. Любые советы будут высоко ценится. Боб
for srcTerm in sFields { //search using all search fields
multiQuery (searchTerm: srcTerm) {
if srResult.count < self.lastValue {
self.lastValue = srResult.count
self.lastSearch = srcTerm
}
}
// Do more stuff
}
func multiQuery (searchTerm: String, completion: @escaping ([PFObject]) -> ()) {
var exArray = [PFObject] ()
let query = PFQuery(className: "searchLinks")
do {
query.whereKey("searchTerms", equalTo: searchTerm)
query.findObjectsInBackground (block: { (objects, error)-> Void in
if let error = error {
print("Error Generated: ",error)
return
}
if let objects = objects {
// do stuff
}
completion(self.srResult)
})
}
} // end of function