如何解决如何从tableViewCell执行功能?
我目前有一个自定义类型 Cell ,用于填充单元格信息,样式等。这是代码
struct Cell {
var opened = Bool()
var isChecked = Bool()
var body = String()
var icon = UIImage()
var cellStyle: UITableViewCell.CellStyle?
var detailTextLabel: String?
var accessoryType: UITableViewCell.AccessoryType?
var action: CellDelegate?
}
我想为每个单元格添加一个包含特定方法的属性。我遇到的大多数解决方案都建议使用cell的标签并从那里去,但是我无法想象这是一个可持续的解决方案。这些功能中的大多数实际上是要从一个视图过渡到另一个视图,即推送视图。其余的用于切换开关,更新文本等。 对于如何做到这一点,我也持开放态度。 谢谢
编辑:不要被CellDelegate类型所分散,这基本上是我尝试使其工作的尝试之一
解决方法
如果您的方法始终具有相同的签名,则:
快速解决方案:
向单元格添加属性
A
Objective-C解决方案:
使用选择器向单元格添加属性
var action: (() -> Void)?
如果方法签名不同,则可以使用任何类型
var action: Selector? // action = #selector(customMethod) and cell perform a selector
和调用该动作的单元必须知道签名。这是通过强制转换完成的:
var action: Any?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。