单元格点击对didSelectRowAtIndexPath不起作用

时间:2015-11-10 14:02:13

标签: swift parse-platform swift2 didselectrowatindexpath parseui

我正在使用Parse.com构建我的应用程序。

我初始化了一个PFQueryTableViewController作为我的子类。

我无法点击indexPath.row,以便单元格指向另一个viewController并传递数据。

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

       print("tapped")
        //Nothing prints. The simulator cell doesn't even change color as it normally does... 

}

在没有Parse的正常项目中,我点击它会引导我到达我希望它领导的地方。我不明白为什么这不起作用。

我引用了几个链接,例如:

  1. https://www.parse.com/questions/pfquerytableview-didselect-row-open-pbobject-in-uiwebview(过时且客观 - c)
  2. https://www.parse.com/questions/using-pfquerytableviewcontroller-in-detail-view(无效)
  3. didSelectRowAtIndexPath method at PFQueryTableViewController(也没用)
  4. 没有人帮忙。

    我还尝试在自定义单元格的视图上使用UIGestureecognizer。这无济于事......

    这是属性检查器:

    http://postimg.org/image/3omx3serh/

    我已选择并取消选择相关部分。什么都行不通。

    编辑:我也在使用初始化程序:

     override init(style: UITableViewStyle, className: String!)
        {
            super.init(style: style, className: className)
    
            self.pullToRefreshEnabled = true
            self.paginationEnabled = false
            self.objectsPerPage = 25
    
            self.parseClassName = className
            self.tableView.rowHeight = 120
            self.tableView.allowsSelection = false
        }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    

    知道为什么我不能轻拍细胞?关于如何挖掘细胞的任何想法?

2 个答案:

答案 0 :(得分:1)

首先,我会检查您的表格视图是否已启用用户交互"在Attribute Inspector中启用。

其次,我会检查View Controller的Identity Inspector中插入了哪个类。

答案 1 :(得分:1)

我也在使用我正在访问的初始化程序。这个PFTableViewController我只在代码中构建。对于那些使用代码而不是在故事板中构建的人,请确保self.tableView.allowsSelection = true。看到其他链接遇到类似的问题。这里是初始化程序的完整代码:

override init(style: UITableViewStyle, className: String!)
{
    super.init(style: style, className: className)

    self.pullToRefreshEnabled = true
    self.paginationEnabled = false
    self.objectsPerPage = 25

    self.parseClassName = className
    self.tableView.rowHeight = 120
    self.tableView.allowsSelection = true
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

意识到self.tableView.allowsSelection = false设置为false而不是true。

我将它设置为true,现在它可以工作了。