什么取代了Swift 3中的indexPathForSelectedRow?

时间:2016-11-13 00:41:59

标签: swift uitableview

在Swift 3之前的项目中 - 如果我想从tableController中删除indexPath,我会有一行代码,如

      let indexPath = self.tableView.indexPathForSelectedRow!

但是,在Swift 3中,我无法写这个。我似乎无法在Apple网站或其他SO问题上找到任何文档来查找可行的代码。

在回应Frankie的评论时,我回到了我的代码(这里是所有当前的segue Swift 3代码),并尝试复制并粘贴上面的代码片段......但无济于事。如果输入“self.tableView”,Xcode不会自动完成。它无法识别indexPathForSelectedRow!无论是。我错过了什么。

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "dineSegue"
    {
        if let destinationViewController = segue.destination as? RestaurantController
        {
            let indexPath = DineController.indexPathForSelectedRow!
            destinationViewController.restaurantIndex = index
        }
    }
}

2 个答案:

答案 0 :(得分:0)

我用google搜索'indexPathForSelectedRow Apple文档`并能够为您找到属性参考,因为它是第一个结果。

https://developer.apple.com/reference/uikit/uitableview/1615000-indexpathforselectedrow

话虽如此,这正是您在Swift 3中发布的内容。

self.tableView.indexPathForSelectedRow

答案 1 :(得分:0)

你确定" DineController"参考是实际的UITableView

当我遇到这个问题时,我的初步引用是泛型类,而不是我编码的实际表。