ios - 来回导航时清理旧的 UITableViewCells

标签 ios swift uitableview

我有两个 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/

相关文章:

objective-c - 不在绘制时更新 UITableViewDelegate

iphone - 标注气泡MKMapView移动问题

ios - Photoshop 字体像素大小到 Xcode Interface builder 字体点大小

ios - 如何从 OAuth2 请求响应中获取数据

ios - 如何在 swift 3 中创建像 Alamofire 这样的自定义闭包

ios - 在表格 View 中对歌曲名称进行排序 - Swift

ios - 带有图像的 UIPagecontrol

ios - 在 UICollectionViewFlowLayout 中启用 AutoSizing 单元格时,DecorationView 会调整大小

swift - Alamofire 挑战委托(delegate)和逃避关闭的问题

ios - dequeueReusableCellWithIdentifier 一直返回 nil