在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
}
}
}
答案 0 :(得分:0)
我用google搜索'indexPathForSelectedRow Apple文档`并能够为您找到属性参考,因为它是第一个结果。
https://developer.apple.com/reference/uikit/uitableview/1615000-indexpathforselectedrow
话虽如此,这正是您在Swift 3中发布的内容。
self.tableView.indexPathForSelectedRow
答案 1 :(得分:0)
你确定" DineController"参考是实际的UITableView
当我遇到这个问题时,我的初步引用是泛型类,而不是我编码的实际表。