gpt4 book ai didi

ios - 遍历给定部分 id 的所有 UITableCells

转载 作者:搜寻专家 更新时间:2023-10-31 08:09:13 24 4
gpt4 key购买 nike

使用 Swift,如何在给定部分 ID 的情况下遍历所有 UITableCells(例如:第 2 部分中的所有单元格)?

我只看到这个方法:tableView.cellForRowAtIndexPath,它在给定绝对索引的情况下返回 1 个单元格,所以它没有帮助。

有没有优雅简单的方法?

注意:我想将一个部分中所有单元格的 AccesoryType 设置为 None,以编程方式,例如:单击按钮后,或发生某些事情后(发生的事情与问题)

我有 UITableView 的引用和该部分的索引。

最佳答案

您误解了表格 View 的工作原理。当您想要更改单元格的配置时,您不要直接修改单元格。相反,您更改这些单元格的数据(模型),然后告诉您的 TableView 重新加载更改后的单元格。

这是基本的,如果您尝试以其他方式进行,它将无法正常工作。

你说“在修改它们之前我需要单元格数组......”同样适用。您不应将状态数据存储在单元格中。一旦用户对单元格进行更改,您应该收集更改并将其保存到模型中。单元格可以滚动到屏幕外,并且可以随时丢弃它们的设置。

@LordZsolt 要求您展示您的代码,因为从您提出的问题来看,很明显您的处理方式是错误的。

编辑:

如果你确信你需要遍历一个部分中的单元格,那么你可以向 TableView 询问目标部分中的行数,然后你可以从 0 循环到第 1 行,询问 TableView 对于每个单元格,依次使用 UITableView cellForRowAtIndexPath 方法(不同于名称相似的数据源方法。)该方法将为您提供当前在屏幕上可见的单元格。然后您可以对这些单元格进行更改。

请注意,这只会为您提供当前屏幕上的单元格。如果目标部分中还有其他当前不可见的单元格,则这些单元格当前不存在,并且如果用户滚动,则可能会创建其中一些单元格。出于这个原因,您需要将某种状态信息保存到您的模型中,以便当您从数据源 tableView:cellForRowAtIndexPath: 方法中的目标部分设置单元格时,您可以正确设置它们。

关于ios - 遍历给定部分 id 的所有 UITableCells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30281451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com