如何在 UIPageViewController 中重复使用相同的 ViewController?

How to re-use the same ViewController in a UIPageViewController?

我正在创建一个日历应用程序,我想以 UIPageViewController 的样式进行布局。所以每一页显示一天的地方。每个页面都将完全相同(如 UI 组件),但仅包含不同的数据。我想使用相同的 ViewController 来执行此操作,因为它显然会更整洁。但我只是想知道这是否可能?如果是这样,我将如何去做呢?谢谢大家。

当您说 "same ViewController" 时,您是指相同的 class 还是 class 的相同实例?前者是微不足道的。后者是有问题的,因为当您从一个页面滑动到另一个页面时,您会同时看到多个实例,因此您必须跟踪一系列实例,知道何时不再需要某个实例,等等。可能会引入一种可能没有必要的复杂性。我建议您只为每个页面实例化一个新的视图控制器实例,并且只有在出现性能问题时才求助于进一步优化。

另一种模式是不使用页面视图控制器,而是使用集合视图(其中每个条目都是不同的整页单元格)。然后你会喜欢细胞重用模式。它还可能会打开其他选项(例如,您可以为每日、每周和每月视图设置不同的集合视图布局)。

但您可能想要继续并从一个漂亮而简单的 UIPageViewController 开始,并且根本不用担心 class 或 "day" 视图控制器的单独实例,因为开销可以忽略不计。