微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在另一个视图控制器中获取 UITableview 的当前 indexPath

如何解决在另一个视图控制器中获取 UITableview 的当前 indexPath

我有一个 UITableView ,当点击每个单元格时,它会加载详细信息页面,其中名称和副标题是从 tableview 单元格名称和副标题加载的。

我已经完成了以下操作

  1. 声明了一个 var 类型的行,在 didSelectRowAt 方法中,Int 被传递给这个变量

2.Destination 有另一个变量 rownum,它被赋值为

indexPath

`destination1.rownum = row` 方法

我的问题是,当我单击第一个单元格时,rownum 的值 = 0 但这保持不变,在下一个单元格单击时,这会显示第 0 个值本身。

同样它只显示以前的值

一旦加载了所有这些值,我如何重置这个 rownum/ 行?

解决方法

您不需要额外的变量。

  • 如果 segue 的来源是 cell,那么在 sender 参数中传递该单元格,您可以使用

    获得索引路径
    let indexPath = tableView.indexPath(for: sender as! UITableViewCell)!
    
  • 如果 segue 的来源是 controller 并且您在 performSegue 中调用 didSelectRow 传递 indexPath 参数中的 sender你自己。然后用

    获取prepare(for中的索引路径
    let indexPath = sender as! IndexPath
    

如果只有一个 segue 强制解开这些值就可以了,因为 segue 是硬连接。如果有多个转场,您最好安全地打开 sender

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。