gpt4 book ai didi

ios - 在 iOS 中显示多列表格的最有效方法是什么?

转载 作者:行者123 更新时间:2023-11-29 12:52:16 24 4
gpt4 key购买 nike

我的问题是加载速度慢,滚动速度很快。

我必须显示一个包含 10 列的表格:


+-----+-----+-----+-----+-----+-----+-----+- -----+------+------+
|位置 |名称 | Col3 | Col4 | Col5 | Col6 | Col7 | Col8 | Col9 | Col10 |
+-----+-----+-----+-----+-----+-----+-----+- -----+------+------+
| 1 |富 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2 |酒吧 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 3 |巴兹 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
+-----+-----+-----+-----+-----+-----+-----+- -----+------+------+

忽略表头(我没有显示它)我正在使用带有子类 UITableViewCellUITableView 来表示数据。

我的自定义 UITableViewCell 有 10 个 UILabel subview ,都添加到它的 contentView 中。每列一个。

我只是在 UITableViewcellForRowAtIndexPath 方法中为每个 UILabel subview 设置文本值。

任何时候屏幕上大约有 14 行。滚动速度超快。我的 reuseIdentifier 运行良好。

但是,表的初始加载速度明显较慢。比我使用 UITableView 的其他屏幕慢很多,但这些屏幕的列少得多。

我的单元格都设置为不透明(我知道这是默认设置)。

有什么技巧是我想念的吗?有太多的意见?我应该采取另一种方法吗?或者我做得很好,我应该在我的代码中寻找另一个影响加载时间的问题吗?

更新:

我已经运行了 instruments,大部分时间(500 毫秒 74.5%)是:

CA::Layer::layout_and_display_if_needed(CA::Transaction*)

更新:

一些人认为我的数据是瓶颈。

我正在使用 NSFetchedResultsController

没有计算。每行的数据直接从相应的实体加载,数据按原样显示。我不是遍历对象图以从任何其他关系或类似的东西中获取数据。

启用 CoreData SQLDebug 后,我可以看到 20 行的总提取执行时间为 0.0014 秒。我的批量大小设置为 20(略大于屏幕上可见的大小)以帮助滚动。

滚动速度超快,所以我认为这里的数据不是问题。

最佳答案

UITableView 通常用于显示单列数据。您可以使用 UICollectionView对于这样的事情。

或者,如果您想以困难的方式进行操作,您可以基于 scrollview 实现自己的表格 View 。

但是关于加载缓慢——你是从一些网络服务加载数据还是只是简单的演示,所有数据都具有相同的值?(如果不是——试试这种方式来理解问题)

关于ios - 在 iOS 中显示多列表格的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22142238/

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