在父视图里面点击按钮弹出一个子视图里面有一个tableView
并打算在父视图是刷新子视图的tableView
,但一开始无论如何都是崩,因为一个nil
后来以为是tableView
没有创建好,阻塞了一下线程再刷新也不行。
let workQueue = dispatch_queue_create("stop", nil)
dispatch_async(workQueue, {
NSThread.sleepForTimeInterval(0.01)
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
})
目前只能曲线救国,用一个不断自动刷新tableView
的方法来实现自动刷新
func realoadTableViewData() {
let workQueue = dispatch_queue_create("stop", nil)
dispatch_async(workQueue, {
NSThread.sleepForTimeInterval(0.5)
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
if self.shouldBreakRealoadTableView {
return
}else {
self.realoadTableViewData()
}
})
})
}
应该设定一个Bool
值来判断是不是能继续递归调用该方法,该值在退出子视图哦或者选定了一个cell
后应设一个true
想到比较好的方法再来更新
网友评论