我正在创建一个日历应用程序,我希望将它放在UIPageViewController类型的风格中。所以每个页面显示一天。每个页面都完全相同(如在UI组件中),但只包含不同的数据。我想使用相同的ViewController来做这个,因为它显然会更整洁。但我只是想知道这是否可行?如果是这样我怎么去做呢?谢谢你们。
答案 0 :(得分:3)
当你说"相同的ViewController"时,你的意思是同一个类或同一个类的实例?前者是微不足道的。后者是有问题的,因为当您从一个页面滑动到另一个页面时,您同时看到多个实例,因此您必须跟踪一系列实例,知道何时不再需要这些实例,等等这可能会带来一种可能无法保证的复杂性。我建议你只为每个页面实例化一个新的视图控制器实例,如果存在性能问题,只需要进一步优化。
另一种模式是不使用页面视图控制器,而是使用集合视图(其中每个条目是不同的整页单元格)。然后你享受细胞再利用模式。它还可能打开其他选项(例如,您可以在每日,每周和每月视图中使用不同的集合视图布局)。
但是你可能希望继续前进,从一个简单的UIPageViewController
开始,而不必担心你的单一班级" day"的单独实例。查看控制器,因为开销可以忽略不计。