【问题标题】:Crash on reload tableView from layer从图层重新加载 tableView 时崩溃
【发布时间】: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 为什么不用表格视图?

标签: ios swift uitableview swift3 uirefreshcontrol


【解决方案1】:

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

【讨论】:

  • 我只是看看,在我的 UITableViewCell 上,我什么都没有,我只是编辑我的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-19
  • 1970-01-01
相关资源
最近更新 更多