如何在MVVM swift中区分单个视图与多个不同样式的viewmodel



让我们考虑一下,

我有一个视图,有共同的结构,但不同的样式按钮和文本视图。

我正在访问不同的视图模型。

视图模型1:当使用该模型1访问视图时,按钮和textviews的样式应该改变。

视图模型2:当使用这个模型2访问视图时,按钮和textviews的样式应该改变。

在相应的场景中,我们应该使用什么方法来改变视图的样式?

视图对其样式负责,因此模型中不应该有样式细节。

我看到几个选项:

  1. 在视图中实现这两种样式,并在两个模型中都有一个属性(例如带有两个case的enum)来选择其中之一。

  2. 同1。但是现在创建两个样式逻辑部分,并有一个应用其中一个样式的普通视图。

  3. 为这两种样式中的每一种都有一个带有子类的视图基类。然后实例化这些子类中的任意一个。

主要目标应该始终是:使事情简单易懂。

最新更新