从图层重新加载 tableView 时崩溃

Posted

技术标签:

【中文标题】从图层重新加载 tableView 时崩溃【英文标题】:Crash on reload tableView from layer 【发布时间】:2017-05-04 14:00:22 【问题描述】:

我在一个包含 TableViewController 的 NavigationController 中嵌入了一个 UIViewController,

有时当我重新加载时,只有当我做大的上下滑动时才会出现这个错误

2017-05-04 15:40:40.333630+0200 NameOfMyApp[448:48840] *** 由于未捕获的异常“CALayerInvalid”而终止应用程序,原因:“层是其层树中循环的一部分”

当然我在问题之前搜索,我找到的答案已被弃用或不起作用,例如很多人通过从 TableView 中删除插座 accessoryView 来回答,这里是我的连接检查员@987654321 @

我看不到这个出口在哪里

编辑:

在我的 UITableViewCell 中,我仍然没有任何附件视图链接

编辑2:

let refreshTableView: UIRefreshControl = UIRefreshControl()

override func viewDidLoad() 
        super.viewDidLoad()
        self.tableView.delegate = self
        self.tableView.dataSource = self
        refreshTableView.addTarget(self, action: #selector(MainViewController.refreshMyTableView), for: UIControlEvents.valueChanged) // Function who call the back, and after reload my tableview with self.tableView.reloadData()
        if #available(ios 10.0, *) 
            self.tableView.refreshControl = refreshTableView
         else 
            tableView.addSubview(refreshTableView)
        

【问题讨论】:

view-layer 重新加载 tabel-view 的内容有什么意义? >仅控制器层? @Basr Filali TableViewController 本身就是一个控制器,为什么嵌入在 UIController 中?如果使用 TableViewController,则不需要确认数据源和委托。 @Tushar Sharma 因为那个视图我不能使用 TableViewController,我需要使用 UIViewController @Holex,我不明白你的问题,我重新加载了我的 tableView,从我的后端询问新数据 @BadrFilali 为什么不用表格视图? 【参考方案1】:

accessoryViewUITableViewCell 的一部分,您正在查看 UITableView 插座。您需要选择UITableViewCell 并检查您的accessoryView 出口是否有什么东西

【讨论】:

我只是看看,在我的 UITableViewCell 上,我什么都没有,我只是编辑我的问题

以上是关于从图层重新加载 tableView 时崩溃的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 第二次加载后 Tableview 无法正确重新加载

用tableview重新加载uiviewcontroller的table view subobject的数据

如何在 TableView 中重新加载数据

tableview reloadData在解包可选值时崩溃意外发现的nil

JSON请求后以编程方式TableView不会重新加载数据

解析查询后在哪里重新加载 UITableView 数据