当我删除 DispatchQueue.main.async 时,我没有收到任何错误
When i remove DispatchQueue.main.async I get no error
所以我们有这段代码
它发出从 API 获取数据的请求,我了解到更新 UI 应该只在主线程上进行,但是如果我删除 DispatchQueue.main.async {} 什么都没有发生,没有错误或没有警告
所以我想知道该不该留着
func loadUsers() {
server.getUserInfo()
server.completionHandler {[weak self] (users,status,message) in
if status {
guard self != nil else {return}
guard users != nil else {
return
}
self?.userViewModel.setUsers(users: users!)
DispatchQueue.main.async {
self?.tableView.reloadData()
}
}
}
}
}
所以我在我的项目中使用了 alamofire 请求
AF.request(TodoRouter.getData(parameters: parameters)).responseJSON
和响应 JSON 方法接受一个队列,如果你没有指定它默认是 main
所以我们有这段代码 它发出从 API 获取数据的请求,我了解到更新 UI 应该只在主线程上进行,但是如果我删除 DispatchQueue.main.async {} 什么都没有发生,没有错误或没有警告 所以我想知道该不该留着
func loadUsers() {
server.getUserInfo()
server.completionHandler {[weak self] (users,status,message) in
if status {
guard self != nil else {return}
guard users != nil else {
return
}
self?.userViewModel.setUsers(users: users!)
DispatchQueue.main.async {
self?.tableView.reloadData()
}
}
}
}
}
所以我在我的项目中使用了 alamofire 请求
AF.request(TodoRouter.getData(parameters: parameters)).responseJSON
和响应 JSON 方法接受一个队列,如果你没有指定它默认是 main