在 tableview 中没有调用按钮 ibaction
Button ibaction is not getting called in tableview
所以我设置了一个协议,以便我可以使用我的 tableviewcontroller 中的按钮,但它不起作用。我知道我确实设置了协议(因为当我尝试它时打印语句在其中被调用),但是该函数没有在 tableviewcontroller 中被调用。这是一些代码:
protocol CommentCellDelegate
{
func reply(index: Int)
}
class CommentCell: UITableViewCell
{
var delegate: CommentCellDelegate?
var index: IndexPath?
//Other outlets omitted for brevity
@IBOutlet var replyButton: UIButton!
override func awakeFromNib()
{
super.awakeFromNib()
// Initialization code
}
@IBAction func reply(_ sender: Any)
{
delegate?.reply(index: index!.row)
}
}
extension commentsTableViewController: CommentCellDelegate
{
func reply(index: Int)
{
print("button tpapped")
let comment = comments[index]
globalComment = comment
print(globalComment.comment!)
self.performSegue(withIdentifier: "commentVC", sender: self)
}
}
在 cellForRowAt
中确保设置委托
let cell = ........
cell.delegate = self
所以我设置了一个协议,以便我可以使用我的 tableviewcontroller 中的按钮,但它不起作用。我知道我确实设置了协议(因为当我尝试它时打印语句在其中被调用),但是该函数没有在 tableviewcontroller 中被调用。这是一些代码:
protocol CommentCellDelegate
{
func reply(index: Int)
}
class CommentCell: UITableViewCell
{
var delegate: CommentCellDelegate?
var index: IndexPath?
//Other outlets omitted for brevity
@IBOutlet var replyButton: UIButton!
override func awakeFromNib()
{
super.awakeFromNib()
// Initialization code
}
@IBAction func reply(_ sender: Any)
{
delegate?.reply(index: index!.row)
}
}
extension commentsTableViewController: CommentCellDelegate
{
func reply(index: Int)
{
print("button tpapped")
let comment = comments[index]
globalComment = comment
print(globalComment.comment!)
self.performSegue(withIdentifier: "commentVC", sender: self)
}
}
在 cellForRowAt
中确保设置委托
let cell = ........
cell.delegate = self