[UITableViewCell]类型的值没有成员' performSegueWithIdentifier'

时间:2016-09-25 21:53:44

标签: ios

如果在表格视图单元格中点击标签,我想执行Segue将您带到另一页面。

我收到以下错误类型[UITableViewCell]的值没有成员' performSegueWithIdentifier'

class IdeaCell: UITableViewCell {

    override func awakeFromNib() {
        super.awakeFromNib()

        let tapUser = UITapGestureRecognizer(target: self, action: #selector(IdeaCell.goToUserPage(_:)))
        tapUser.numberOfTapsRequired = 1
        usernameLbl.addGestureRecognizer(tapUser)
    }

func goToUserPage(sender: UITapGestureRecognizer) {
        self.performSegueWithIdentifier("goToTableFromOriginal", sender: nil)
    }
}

1 个答案:

答案 0 :(得分:0)

如果您在管理表视图的视图控制器中实现table(_:didSelectRowAt:)方法(方法签名的Swift 3版本),那么它不会尝试向您的单元格添加点击手势识别器,而是更简单,更清晰。 。 (可能是表视图控制器?)

如果做不到这一点,您需要创建一个名为TableViewCellDelegate的协议,其中包含didSelect(cell:UITableViewCell)方法(或类似的方法)。然后,您将委托属性添加到自定义表格视图单元格,并在cellForRow(at:)方法中将该属性设置为视图控制器。

然后在单元格中,您将在单元格的代理上调用didSelect(cell:UITableViewCell)

在您的视图控制器中,您可以使用indexPath(for cell: UITableViewCell)找出被点击的单元格并使用它来决定对点击单元格采取的操作(在您的情况下调用segue。)