在另一个 Viewcontroller 中获取 UITableview 的当前 indexPath
getting the current indexPath of UITableview in another Viewcontroller
我有一个 UITableView
,当每个单元格被点击时,它会加载详细信息页面,其中名称和副标题是从 tableview 单元格名称和副标题加载的。
我已经完成了以下操作
- 声明了
var
行类型 Int
并且在 didSelectRowAt 方法中,indexPath
被传递给这个变量
2.Destination 有另一个变量 rownum 并且它被分配为
`destination1.rownum = row`
在
prepare(for segue: UIStoryboardSegue, sender: Any?)
方法
我的问题是,当我单击第一个单元格时,rownum 的值 = 0
但这保持不变,在下一个单元格单击时,它本身显示第 0 个值。
同样它只显示以前的值
加载完所有这些值后,如何重置此 rownum/ 行?
您不需要额外的变量。
如果 segue 的起点是 cell 则单元格将传入 sender
参数,您将获得索引路径
let indexPath = tableView.indexPath(for: sender as! UITableViewCell)!
如果 segue 的来源是 controller 并且你在 didSelectRow
中调用 performSegue
传递 indexPath
sender
参数自己。然后用
获取prepare(for
中的索引路径
let indexPath = sender as! IndexPath
如果只有一个 segue 力解包值就没问题,因为 segue 是 硬连接。如果有多个 segues 你最好安全地打开 sender
.
我有一个 UITableView
,当每个单元格被点击时,它会加载详细信息页面,其中名称和副标题是从 tableview 单元格名称和副标题加载的。
我已经完成了以下操作
- 声明了
var
行类型Int
并且在 didSelectRowAt 方法中,indexPath
被传递给这个变量
2.Destination 有另一个变量 rownum 并且它被分配为
`destination1.rownum = row`
在
prepare(for segue: UIStoryboardSegue, sender: Any?)
方法
我的问题是,当我单击第一个单元格时,rownum 的值 = 0 但这保持不变,在下一个单元格单击时,它本身显示第 0 个值。
同样它只显示以前的值
加载完所有这些值后,如何重置此 rownum/ 行?
您不需要额外的变量。
如果 segue 的起点是 cell 则单元格将传入
sender
参数,您将获得索引路径let indexPath = tableView.indexPath(for: sender as! UITableViewCell)!
如果 segue 的来源是 controller 并且你在
获取didSelectRow
中调用performSegue
传递indexPath
sender
参数自己。然后用prepare(for
中的索引路径let indexPath = sender as! IndexPath
如果只有一个 segue 力解包值就没问题,因为 segue 是 硬连接。如果有多个 segues 你最好安全地打开 sender
.