我有两个 UITableViewController
,我使用导航 Controller 从 View #2 返回到 View #1。
在第一个 View 中,我从 UIPickerView
中选择了一些值,然后通过触摸按钮将转到第二个 View ,第二个 View 根据 UIPicker
显示一些单元格> 从 View #1 中选择,当我返回第一个 View 并更改 UiPicker 的选择并按下按钮转到第二个 View 时,我的问题来了,我会在那里找到旧单元格一秒钟,直到我的 View # 2 重新加载此函数中的新数据
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.tableView.reloadData()
}
我试图从所有数组中删除数据并重新加载空数据,试图像这样删除旧单元格:
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
arra1=[]
arra2=[]
self.tableView.reloadData()
}
这里是我将数据从 View #1 传递到 View #2 的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "MySegue") {
let destinationVC:onCallEmployee = segue.destinationViewController as! onCallEmployee
if self.selectedDeptIndex != 0 {
destinationVC.previewsViewData.append(String(self.selectedDeptIndex))
}
if self.teamsIdByName[selectedTeamName] != nil{
destinationVC.previewsViewData.append(self.teamsIdByName[selectedTeamName]!)
}
if self.servicesIdByName[selectedServiceName] != nil {
destinationVC.previewsViewData.append(self.servicesIdByName[selectedServiceName]!)
}
}
}
在返回 View #1 之前有没有办法清理 View #2?
最佳答案
使用这个:
dispatch_async(dispatch_get_main_queue(), {
self.tableView.reloadData()
})
而不是这个:
self.tableView.reloadData()
关于ios - 来回导航时清理旧的 UITableViewCells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39304561/