如果我选择在视图控制器中修改对象的模型属性,我会破坏MVC模式设计吗?
例如, ZZQuery 是 ZZViewController 中使用的模型,声明为属性 * zQuery 。我想看看 zQuery 是否包含 propertyA ,如果是,请将 zQuery&#39> s boolA 标记为是。
if (self.zQuery.propertyA)
{
self.zQuery.boolA = YES;
}
上面的代码是否破坏了MVC设计?或者我是否可以在不破坏设计的情况下修改zQuery?
答案 0 :(得分:1)
在我看来,视图控制器应该只更新模型以响应用户与视图的交互。例如,如果模型中有布尔值,并且用户更改了与此布尔值绑定的视图上的开关,则视图控制器可以更新模型以反映用户输入。
在您的示例中,对模型的更改基于“业务逻辑”,因此视图控制器不应更改模型。 propertyA
和boolA
之间的关系应由模型管理。