将自定义UICollectionViewController与子视图相关联

时间:2017-10-10 04:58:04

标签: ios swift uicollectionview

我的主页面中有一个视图控制器,其中包括一个tableview; 在tableview的行中,我拖动并添加了一个集合视图。

在故事板中,我可以单击将集合视图的委托和数据源拖动到主视图控制器(很简单)。

但是,我喜欢将这些绑定到UICollectionViewController的自定义子类(以便为集合提供自包含的MVC),而不是在主页的视图控制器上进行回复。我怎样才能做到这一点? (将自定义控制器类与集合视图关联?)

我是否必须使用容器视图控制器?这样的事情的正确方法是什么?

我是iOS的新手,非常感谢任何指导。

1 个答案:

答案 0 :(得分:0)

您可以将容器视图拖到行中,而不是集合视图。然后将集合视图拖动到容器的关联视图控制器场景中。更改类(在InterfaceBuilder的右侧身份检查器选项卡中)作为自定义视图控制器类。

---答案结束--- 现在说,考虑采用比MVC更多的MVVM方法。我的意思是,为了MVC而不是为了分离视图控制器,而是为了保持所有视图控制器的简单。拥有一个(或多个)ViewModel,其中所有业务逻辑都与该视图控制器相关联。每个ViewModel(如果你愿意,它只是一个NSObject甚至一个Swift结构)可以独立进行单元测试而不需要任何UI。视图控制器只是简单地将ViewModel中的数据连接到控件和放大器。视图,并配置控件和&视图依赖于viewModel进行任何决策。它将以极少的工作量从根本上改善您的架构。希望这有帮助!