我有一个自定义的UITableViewCell
子类和相关的xib。在这个单元格中,我有一个UILabel
和一个UIButton
,我已经将按钮的touch up inside action与子类连接起来。
我需要的是当单元格中的按钮被点击时,获取带有该按钮的单元格的索引路径。并且可能通过委托或其他方式将其发送回视图控制器。
由于我在一个UITableViewCell
子类内部,所以我不能像这样使用解决方案,因为我没有从单元格子类内部引用表格视图。经过进一步调查,我发现另一个解决方案,并在Swift中实现了它,如下所示。
import UIKit
class ContactCell: UITableViewCell {
@IBOutlet weak var nameLabel: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
selectionStyle = .None
}
@IBAction func callButtonPressed(sender: UIButton) {
let indexPath = (self.superview as UITableView).indexPathForCell(self)
println("indexPath?.row")
}
}
但是当我点击按钮时,它会崩溃并显示一个错误消息,说Swift动态转换失败。
你有什么想法,我的代码出了什么问题吗?
或者,如果有其他建议可以让我以其他方式实现所需的结果,我也非常乐意尝试。
谢谢。