簡體   English   中英

類型[UITableViewCell]的值沒有成員'performSegueWithIdentifier'

[英]Value of type [UITableViewCell] has no member 'performSegueWithIdentifier'

如果在表格視圖單元格中點擊了標簽,則我想執行一次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)
    }
}

如果您在管理表格視圖的視圖控制器中實現了table(_:didSelectRowAt:)方法(方法簽名的Swift 3版本),則不會嘗試向您的單元格添加輕擊手勢識別器,而是更加簡單table(_:didSelectRowAt:) (可能是表視圖控制器?)

否則,您需要創建一個名為TableViewCellDelegate之類的協議,該協議包括didSelect(cell:UITableViewCell)方法(或類似的方法)。 然后,將委托屬性添加到自定義表格視圖單元格中,並將該屬性設置為cellForRow(at:)方法中的視圖控制器。

然后在單元格中,您將在單元格的委托上調用didSelect(cell:UITableViewCell)

在視圖控制器中,您將使用indexPath(for cell: UITableViewCell)找出被點擊的單元格,並使用它來決定對被點擊的單元格采取什么操作(在您的情況下,調用segue)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM