Я разрабатываю приложение iPad с использованием Swift. Для http-запросов я использую Alamofire. До сих пор мне удалось вытащить некоторые данные из API. Но проблема в том, что это асинхронный вызов, который я не знаю, как проверить, завершен ли запрос. Любая помощь будет оценена по достоинству.Как проверить запрос Alamofire завершен
Это код, который я до сих пор реализован
класс Client
func getUsers(completionHandler: ([User]?, NSError?) ->()) ->(){
var users: [User] = []
let parameters = [
"ID": "123",
"apikey": "1234",
]
Alamofire.request(.GET, "API_URL", parameters: parameters).responseJSON() {
(_, _, JSON, error) in
let items = (JSON!.valueForKey("Users") as! [NSDictionary])
for item in items {
var user: User = User()
user.userId = item.valueForKey("ID")! as? String
user.userName = item.valueForKey("Name")! as? String
user.group = item.valueForKey("Group")! as? String
users.append(user)
}
completionHandler(users, error)
}
}
Основной класс
func getUsers(){
FacilityClient().getUsers() { (users, error) -> Void in
if users != nil {
self.users = users!
} else{
println("error - \(error)")
}
}
tableUsers.reloadData()
}
Спасибо.
Итак, к тому времени, когда я вызываю «tableUsers.reloadData()« полностью загружены «пользователи»? – LIH
Если 'getUsers()' - это метод, который вызывает запрос ** Alamofire ** в вашем вопросе, тогда да. – ezcoding
Но нет. Я проверил его. Когда я устанавливаю его на таймер, он загружает таблицу. В противном случае не погрузка – LIH