从Swift中的UITableViewCell子类中获取IndexPath

Isu*_*uru 20 uibutton uitableview nsindexpath ios swift

我有一个自定义UITableViewCell子类及其相关的xib.我在这个单元格中有一个UILabel和一个UIButton,我已经将按钮内部的触摸连接到子类.

我需要的是点击单元格中的按钮,以获取具有该按钮的单元格的索引路径.也许可以通过委托或其他东西将其发送回视图控制器.

因为我是里面UITableViewCell的子类,我不能使用的溶液等这个,因为我不从小区子类中,必须在tableview中的参考.经过进一步调查,我找到了另一个解决方案,我在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")
    }

}
Run Code Online (Sandbox Code Playgroud)

但是当我点击按钮时,它会崩溃,并显示一条错误消息,指出Swift动态转换失败.

知道我的代码有什么问题吗?

或者我愿意接受任何其他建议,这些建议可以让我以任何其他方式达到预期的结果.

谢谢.

ull*_*trm 22

听起来你需要一个代表:

代表们迅速?

然后将单元格本身作为参数传递给委托,然后您就可以轻松完成 tableView.indexPathForCell(cellFromDelegateMethod)