Swift Parse.com UITableView 在更新 NSMutableArray 后不重新加载数据
Swift Parse.com UITableView doesn't reloadData after updating the NSMutableArray
我有一个应该显示用户的 UITableView,它是第一次显示,但在调用 reloadData() 时没有更新。
初始化tableView和reloadData函数的代码如下:
let query = PFQuery(className: UserModel.parseClassName())
query.whereKey("gender", equalTo: current.sexe)
query.limit = countPerPage
query.skip = pageIndex * countPerPage
query.order(byAscending: "fullname")
query.findObjectsInBackground(block: {(objects: [PFObject]!, error: Error!) -> Void in
if error == nil {
for object in objects as! [UserModel]{
self.userArray.add(object)
}
self.serachTable.reloadData()
} else {
print("error")
}
})
reloadData
必须在主线程上调用。在 reloadData
周围添加 DispatchQueue.main.async
:
DispatchQueue.main.async {
self.serachTable.reloadData()
}
首先从您的 self.userArray 中删除数据,然后添加
等数据
self.userArray.append(object)
在那之后调用了重新加载表视图。在执行此操作之前,请验证您的数据源和在 viewcontroller
中连接的委托
我有一个应该显示用户的 UITableView,它是第一次显示,但在调用 reloadData() 时没有更新。
初始化tableView和reloadData函数的代码如下:
let query = PFQuery(className: UserModel.parseClassName())
query.whereKey("gender", equalTo: current.sexe)
query.limit = countPerPage
query.skip = pageIndex * countPerPage
query.order(byAscending: "fullname")
query.findObjectsInBackground(block: {(objects: [PFObject]!, error: Error!) -> Void in
if error == nil {
for object in objects as! [UserModel]{
self.userArray.add(object)
}
self.serachTable.reloadData()
} else {
print("error")
}
})
reloadData
必须在主线程上调用。在 reloadData
周围添加 DispatchQueue.main.async
:
DispatchQueue.main.async {
self.serachTable.reloadData()
}
首先从您的 self.userArray 中删除数据,然后添加
等数据self.userArray.append(object)
在那之后调用了重新加载表视图。在执行此操作之前,请验证您的数据源和在 viewcontroller
中连接的委托