aks*_*gde 5 design-patterns uiviewcontroller ios uicollectionview
在我的应用程序中,我有一个主页,其中有一个带有多个部分的卡/网格布局.这UICollectionView是显而易见的选择.但是这些卡在设计,加载数据和功能方面也有很大差异.因此,将所有这些放在一个控制器中将是繁琐,复杂且难以维护的.所以我们认为我们需要把它们分成自己的UIViewControllers.每个处理一种类型的卡并计算其contentSize以显示在卡内.我们的主要主页控制器只负责将这些viewcontroller视图放在UICollectionView单元格中.
总结一下,
我的问题是,这个设计选择对吗?或者你会选择什么方法来实现这样的屏幕?由于我们创建了许多viewControllers(每个单元格一个),这是否会影响内存或性能?如果我只想缓存一些viewControllers或者在用户滚动时加载它们或者将它添加到collectionView单元时加载它们,我该如何计算它,因为计算该单元格的大小取决于数据和放置时的视图出CollectionView布局.
我认为你的方法是有效的,从理论的角度来看,将视图与其数据分开是有意义的。但是,在这种情况下,我更愿意让 UICollectionViewCell 子类实现自己的数据,基本上充当 viewController。这将稍微简化您的代码,因为您不需要添加 viewController 以及它们附带的代码;相反,您可以简单地将 tableView 添加到单元格的 contentView 中。这对我来说似乎更自然,因为这样当单元格移动到屏幕外和屏幕上以及在加载过程中时,您可以让 HomeViewController 的 collectionView 自动处理调用其委托。您无需向单元格发送有关单元格身份或何时加载的消息,这一切都会自动为您处理。另外,我真的不认为在每个单元格上使用视图生命周期方法是有价值的,并且不如将单元格加载和刷新作为 collectionView 的一部分直观。无论哪种方式都有效,祝你好运!
| 归档时间: |
|
| 查看次数: |
1509 次 |
| 最近记录: |