Касание ячейки не работает на didSelectRowAtIndexPath

Я использую 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 в PFQueryTableViewController (также не работает)

Никто не помог.

Я также пытаюсь использовать 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 ответа

Решение

Я также использую инициализатор, к которому я обращаюсь. Этот 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 был установлен на ложь вместо истины.

Я установил на true, и теперь это работает.

Во-первых, я бы проверил, есть ли в вашем табличном представлении функция "Взаимодействие с пользователем включена" внутри инспектора атрибутов.

Во-вторых, я бы изучил, какой класс был вставлен в инспектор идентификации вашего контроллера просмотра.

Другие вопросы по тегам