先决条件 - 环境:iOS 9.0 或以上 - 使用 Swift 3.0.1
感谢您的回复。我正在更新这个问题并试图更好地理解这个问题。
发布代码可能会有所帮助,但我不允许发布代码,因为我没有 IP。
但是我正在尝试构建诸如日历/节目指南之类的东西,您可以在其中为每个类别提供几天的活动。
想象一下,列中左侧的类别,它们可以是集合视图的部分,每个类别都有几天的事件,这是一行。
CAT 1:事件 1、事件 2 ... 事件 n CAT 2:事件 1、事件 2 ...事件 n CAT 3:事件 1、事件 2 ...事件 n。. . CAT m:事件 1、事件 2 ... 事件 n
问题:整个数据非常动态和庞大。我无法预取所有记录,它们大约超过 80-100K。下载所有数据并将其显示在网格上需要几分钟。
用户可以选择任何一天和任何时间,我必须将集合视图滚动到该日期和时间并显示这些类别的事件。此外,用户显然可以双向滚动并浏览事件,在这种情况下,事件会像无限滚动方式一样加载。
但是在前一个选项中,当用户跳到整个时间线上的特定日期和时间时,我必须跳过加载其他以前的事件(因为我还没有它们 - 未知)并显示与用户相关的事件选定的日期和时间。
我没有提前将所有 IndexPaths 显示在屏幕上,如何跳过事件并动态更新集合视图,例如我们动态加载图像以及首先加载并比其他图像更早显示的部分。
我正在使用事件的 startDate 来计算 xPosition,类别在加载后不会经常更改,因此我们可以以某种方式避免重新加载部分,但这些部分中的项目一直在变化,并且它们以随机方式出现。
当控制器加载第一组事件时,从服务器获取并显示,现在如果用户决定跳转到某个 D-Day 和 T-Time,这可能是整个时间线上的任何位置,我必须获取这些日期的事件并填充相关部分的项目(在屏幕上可见)并更新界面。这就是我遇到问题的地方,我没有适当的方法。
希望这更清楚。 我已经“试图”模拟这个