在MVVM架构模式中哪个位置是调用API的正确位置?

时间:2019-11-03 08:03:56

标签: ios swift mvvm

在MVVM架构模式中调用API的正确位置是什么?

在上述情况下,我遇到了两种实现。

1)从viewcontroller调用api。 2)从viewmodel调用api。

根据MVVM架构,哪个更合适? 还是从MVVM中从哪里调用api的任何其他更好的方法?

当然,API调用是在与Web服务相关的单独类中实现的。 但是我必须从某个地方调用该方法(视图控制器或视图模型)

2 个答案:

答案 0 :(得分:1)

视图:仅在此处设置视图逻辑,例如文本,颜色,约束,图层等。超级笨拙。

模型:是人,书,狗,待办事项。它仅应表示数据库中的数据。通常实现Codable等。

视图模型:视图应向视图模型询问所有数据。因此,这就是api调用所在的位置。该视图完全不应该了解api。

UIViewController是一个视图,应具有viewModel。 UIViewController仍然必须很笨,并且对API不了解。

答案 1 :(得分:0)

视图控制器充当其管理的视图与应用程序数据之间的中介 因此在ViewController上调用apiCall函数更有意义