【问题标题】:How to trigger certain segue for a selected nib cell in didSelectRowAtIndexPath如何为 didSelectRowAtIndexPath 中的选定笔尖单元触发某些 segue
【发布时间】:2015-11-23 23:27:42
【问题描述】:

我的表格视图中有 2 个自定义笔尖单元格,它们应该执行 2 种不同的转场。我想要这样的东西:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    // if nib cell A is selected
    self.performSegueWithIdentifier("aSegue", sender: self)
    // if nib cell B is selected
    self.performSegueWithIdentifier("aDifferentSegue", sender: self)
}

我的笔尖单元格有标识符,但在 didSelectRowAtIndexPath 方法中似乎无法访问该属性。笔尖单元格随机显示在我的表格视图中,未排序。

例如

  • 笔尖单元格A
  • 笔尖细胞B
  • 笔尖单元格A
  • 笔尖单元格A
  • 笔尖细胞B

不是

  • 笔尖单元格A
  • 笔尖单元格A
  • 笔尖单元格A
  • 笔尖细胞B
  • 笔尖细胞B

访问表格视图单元格中独特的内容以执行条件转场的最佳方式是什么?

【问题讨论】:

  • 需要更多关于如何创建这些单元的信息。确定已点击哪个单元格的常用方法是使用索引路径。您单元格的内容是从“某物”数组中填充的,对吗?另一种方法是使用 cellForRow 获取 didSelectRow 中的单元格并检查标题/描述/任何内容并打开它。

标签: ios swift uitableview segue xib


【解决方案1】:

你为什么不说类似的话

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        if self.tableView.cellForRowAtIndexPath(indexPath) is NibAClass
        {
            self.performSegueWithIdentifier("aSegue", sender: self)
        }
        if self.tableView.cellForRowAtIndexPath(indexPath) is NibBClass
        {
            self.performSegueWithIdentifier("aDifferentSegue", sender: self)
        }
}

【讨论】:

    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    相关资源
    最近更新 更多