视图模型是否可以监听其自身属性的更改?

时间:2017-08-10 13:36:31

标签: ios swift mvvm

假设我有一个具有属性A和属性B的视图模型。每当A更改时,我需要相应地更新B,其他人也可能正在监听。如果我的视图模型侦听对其自己的属性A的更改,这样可以吗?或者视图模型是否只为视图控制器公开这些属性以作出相应的反应并让后者成为更新B的人?我还在某处看过,视图控制器应该是“if-free”,因为不应该对它们做出任何决定。我有点像这个想法,因为它应该导致我的视​​图控制器真的很短,但这与使其负责更新属性B的想法不相符。思想?

1 个答案:

答案 0 :(得分:0)

这完全取决于A和B的变化方式。如果仅从视图内部更改A,则在视图中实现此更改,而不暴露不必要的属性。如果控制器可能会更改属性,并且有一些函数会在视图外部更改A和B,那么最好让控制器处理它并将其统一到视图控制器。

希望这有帮助!