【问题标题】:Implementing master-detail view using a view model and layer separation使用视图模型和层分离实现主从视图
【发布时间】:2015-01-20 17:16:03
【问题描述】:

所以我读到了VIPER architecture,我想知道,您将如何使用建议的视图、视图模型、演示者和视图控制器路由之间的层分离来实现主从视图组合?

假设我想显示一些联系人。我有 ContactsListViewModel 及其属性名称、照片,也许还有一些详细的文本。 ContactsListPresenterContactsListViewController 都知道这一点。

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

List 模块已知的视图模型不包含足够的信息来详细显示(例如进一步的注释、调用列表等等……)。

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

【问题讨论】:

    标签: ios architecture separation-of-concerns


    【解决方案1】:

    据我了解,您有 2 个选择 -

    1. 将包含所有数据的模型传递给联系人列表视图控制器。这样,您将拥有所需的所有数据。 - 我个人认为在某些情况下还可以,虽然有点浪费。
    2. 将联系人的 ID 传递给详细视图的线框。然后在viewcontroller的loading部分通过presnter再interactor加载联系人的全部数据,然后显示出来。

    【讨论】:

    • 我完全忘了我在这里问过这个问题。但你是对的,这些基本上是你有的两个选择。虽然两者都不完美,但似乎没有其他办法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-11
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    相关资源
    最近更新 更多