ios – 从Swift中的UITableViewCell子类中获取IndexPath

前端之家收集整理的这篇文章主要介绍了ios – 从Swift中的UITableViewCell子类中获取IndexPath前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个定制的UITableViewCell子类及其关联的xib.我在这个单元格中有一个UILabel和一个UIButton,我已经将按钮的动作中的接触连接到子类.

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

因为我在一个UITableViewCell子类中,所以我不能使用像this这样的解决方案,因为我没有从单元格子类中引用tableview.经过进一步的调查,我发现了another解决方案,我在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动态转换失败.

任何想法我的代码有什么问题?

或者我可以接受任何其他建议,让我以任何其他方式取得理想的结果.

谢谢.

解决方法

听起来你需要一个代表:

Delegates in swift?

然后将单元格本身作为参数传递给代理,然后可以轻松地执行tableView.indexPathForCell(cellFromDelegateMethod)

原文链接:https://www.f2er.com/iOS/337230.html

猜你在找的iOS相关文章