【问题标题】:How to perform a segue from TableView programmatically如何以编程方式从 TableView 执行 segue
【发布时间】:2019-02-08 21:12:46
【问题描述】:

我在 ViewController 上有一个 TableView,并且想通过按任意行来连接到另一个 ViewController。我的代码是:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
            performSegue(withIdentifier: "ShowDetailView", sender: Cell)
}

我已连接故事板中的两个 ViewController 并将故事板 segue 标识符命名为“ShowDetailView”,但我收到此代码错误? 谁能给我一个建议?

【问题讨论】:

  • 在我看来 Cell 是未定义的 - 但您可能真的想提供错误消息
  • 你能试试 sender is nil
  • 2019-02-08 22:18:07.386326+0100 SmallApps[48231:6498227] *** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue :forUndefinedKey:]: 这个类不符合 key itemLabel 的键值编码。'
  • 您添加了一个名为itemLabel 的出口并将其删除,因此请清除它在 IB 中的连接

标签: swift segue viewcontroller


【解决方案1】:

看来你需要发送点击的单元格来获取内容,所以替换

performSegue(withIdentifier: "ShowDetailView", sender: Cell)

performSegue(withIdentifier: "ShowDetailView", sender:arr[indexPath.row])

arr 是表的 dataSource 数组,如果你不需要发送任何东西

performSegue(withIdentifier: "ShowDetailView", sender:nil)

【讨论】:

    【解决方案2】:

    这是因为在目的地“detailsViewController”中有一个名为“itemLabel”的子视图,您要么在代码中删除或重命名它,然后忘记断开其与 UI 的连接。右键单击它并在 itemLabel 插座上点击 X

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      相关资源
      最近更新 更多