ID是否属于视图模型

时间:2016-08-17 23:25:58

标签: ios mvvm

在与MVC合作很长一段时间后,我决定选择MVVM。我理解了模式的基础知识,并通过多篇文章解释说MVVM比MVC更好。而且我对此很好。

我决定制作自己的应用程序,以便正确理解MVVM背后的逻辑。所以我创建了遵循MVVM原则的基本应用程序,过了一段时间我发现了你在标题中看到的问题。

所以,基本上,这就是问题所在。假设我有一个对象,称之为Person。人有姓名。但是,当我想显示有关该人的详细信息时,我会有地址,电话号码等。因为一个人可以拥有许多电话号码,我会从API链接到用户ID。

所以我们回答了我的问题。如果我有一些关于某个模型的基本信息,并希望获得有关该模型的详细信息,那么我该在哪里保留该详细信息的ID(或链接)?我是否必须将其保留在视图控制器内,这是错的?或者我是否将它保留在视图模型中,即使我没有在用户界面上使用它?

1 个答案:

答案 0 :(得分:1)

ID也属于模型类。即如果你有一个对象.one{ display: inline-block; width: 80px; border: 1px solid; vertical-align: top; } ,那么只需创建一个数据Person,这显然包括所有成员说ID,名称,地址,数字等。您也可以使用相同的class Person来识别每个人。

视图模型无需始终了解ID。如果您在视图模型中有ID个对象列表,则可以使用Person轻松映射每个项目。此外,如果您想要当前选择的项目或其他内容,您可以将其映射到该对象类型的viewmodel属性,即Person。因此,您不需要在ViewModel中保留PersonID字段,除非在某些罕见情况下绝对需要它。

抱歉,但我不理解这一点:ID

就简单的应用而言,上述方法绰绰有余。但在极少数情况下,您可能需要在视图模型中保留当前所选项目的ID。因此,如果您使用列表并保留所选项目的属性,则可能不是该列表的类型,即Person。相反,它可能只是ID。

希望你明白这一点。