ios - 按钮 ibaction 没有在 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
推荐阅读
- python - 从 pandas 数据帧的每一行中的单词中删除多个字符组合
- java - 格式化我的系统后未安装应用程序且未签名应用程序
- flutter - 展平飞镖中列表的动态列表
- windows-installer - 补丁中的注册表更改已移至 Installshield QuickPatch 项目中 64 位 msi 的 WOW6432Node 键
- mysql - 如何映射配置单元表中的列名并将其替换为配置单元表中的新值
- amazon-web-services - 在没有自定义 docker 映像的情况下在 codebuild 中缓存 go 模块
- computer-vision - 结合跟踪和检测
- r - 如何防止 JS 代码在 R Shiny 中多次运行?
- google-bigquery - 将数据集添加为另一个数据集的读取器
- c# - 执行此代码的更好方法。从字符串、Math.Round 转换并处理负数