使用视图模型和图层分离实现主 - 详细视图

时间:2014-10-06 08:38:23

标签: ios architecture separation-of-concerns

所以我读到了VIPER architecture,我想知道如何使用View,View Model,Presenter和View Controller Routing之间的建议层分离来实现主 - 细节视图组合?

假设我要显示一些联系人。我有ContactsListViewModel及其属性名称,照片和一些详细文字。这是ContactsListPresenterContactsListViewController已知的。

现在我在表格视图中选择一个联系人,视图控制器告诉演示者,演示者告诉线框显示...的详细视图?

List模块已知的视图模型不包含足够的信息以便详细显示(如进一步的注释,调用列表,无论如何......)。

在这种情况下,是否应该有可用于列表和详细视图的视图模型?这会违反关注点分离吗?

1 个答案:

答案 0 :(得分:0)

据我所知,你有两个选择 -

  1. 将包含所有数据的模型传递给联系人列表视图控制器。这样您就可以获得所需的所有数据。 - 我个人认为在某些情况下确定没问题,即使它有点浪费。
  2. 将详细信息视图的线框传递给联系人的ID。然后在viewcontroller的加载部分通过presnter加载,然后交互联系人的完整数据,然后显示它。