How to get UITableViewCell indexPath from the Cell?

后端 未结 11 1620
野趣味
野趣味 2020-12-07 20:11

How do I, from a cell, get its indexPath in a UITableView?

I\'ve searched around stack overflow and google, but all the information is on t

11条回答
  •  借酒劲吻你
    2020-12-07 20:39

    Swift 4.x

    To provide access to my cell, i did something like this:

    I have an extension of the UIView:

    extension UIView {
        var parentViewController: UIViewController? {
            var parentResponder: UIResponder? = self
            while parentResponder != nil {
                parentResponder = parentResponder!.next
                if let viewController = parentResponder as? UIViewController {
                    return viewController
                }
            }
            return nil
        }
    }
    

    And then.. in my cell Class:

    class SomeCell: UITableViewCell {
    
        func someMethod() {
            if let myViewController = self.parentViewController as? CarteleraTableViewController {
                let indexPath : IndexPath = (myViewController.tableView).indexPath(for: self)!
                print(indexPath)
            }
        }
    }
    

    Thats all form me.

    Best regards.

提交回复
热议问题