如何为 didSelectRowAtIndexPath 中的选定笔尖单元触发某些 segue

Posted

技术标签:

【中文标题】如何为 didSelectRowAtIndexPath 中的选定笔尖单元触发某些 segue【英文标题】:How to trigger certain segue for a selected nib cell in didSelectRowAtIndexPath 【发布时间】: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 中的单元格并检查标题/描述/任何内容并打开它。 【参考方案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)
        

【讨论】:

以上是关于如何为 didSelectRowAtIndexPath 中的选定笔尖单元触发某些 segue的主要内容,如果未能解决你的问题,请参考以下文章

如何为下拉菜单制作 CSS 边框?

如何为 CAShapeLayer 路径和填充颜色设置动画

iPhone - 如何为图像着色?

如何为 RecyclerView 设置 onItemClickListener? [复制]

WCF - 如何为 NTLM 身份验证配置 netTcpBinding?

如何为 UIToolbar 上的按钮添加滚动?