ios - 在另一个 Viewcontroller 中获取 UITableview 的当前 indexPath
问题描述
我有一个UITableView
,当单击每个单元格时,它会加载详细信息页面,其中名称和副标题是从 tableview 单元格名称和副标题加载的。
我做了以下事情来做到这一点
- 声明了一个
var
Row 类型Int
并在 didSelectRowAt 方法中,indexPath
被传递给这个变量
2.Destination 有另一个变量 rownum,它被赋值为
`destination1.rownum = row`
在
prepare(for segue: UIStoryboardSegue, sender: Any?)
方法中
我的问题是,当我单击第一个单元格时,rownum = 0 的值但这保持不变,在下一个单元格单击时,这显示了第 0 个值本身。
同样它只显示以前的值
加载所有这些值后,如何重置此 rownum/ 行?
解决方案
您不需要额外的变量。
如果 segue 的来源是单元格,则单元格会在参数中传递,
sender
您将获得索引路径let indexPath = tableView.indexPath(for: sender as! UITableViewCell)!
如果 segue的来源是控制器并且您自己调用传入参数
performSegue
。然后获取索引路径didSelectRow
indexPath
sender
prepare(for
let indexPath = sender as! IndexPath
如果只有一个 segue 力展开这些值是好的,因为 segue 是hard-connected。如果有多个 segue,您最好安全地打开sender
.
推荐阅读
- c# - 为什么以及何时应该在 C# 继承期间使用“this”来访问基类中的方法?
- python - 如何从 sqlalchemy 的另一个目录中的模型类创建表?
- python - 区分 xpath
- shell - Shellscript Echo 打印输出
- python - 第 2 列中的分组值,在第 1 列中选择值并从剩余(三)列中的每一列中绘制值 [针对第一列值]
- php - preg_match 不会忽略换行符
- mysql - AWS:“无效的身份池配置。检查为该池分配的 IAM 角色。” AWS Lambda 查询 MYSQL 数据库时出错
- java - “spring-boot-starter-integration”依赖的目的是什么?
- python - 在pytorch中将矩阵行乘以向量元素?
- php - 执行 Composer 命令时出现错误“'php' 未被识别为内部或外部命令、可运行程序或批处理文件”