i有一个viewController(master(,该ViewController(Master(管理tableView
,并保留了TableView数据和业务逻辑的ViewModel。当用户点击单元格时,它将导航到另一个viewController(详细信息(,其中显示了所选项目的特定信息。
主ViewController使用所选信息创建细节的ViewModel,并将其传递给详细信息ViewController。然后,一旦显示了详细信息查看器,用户就可以编辑此项目的信息。我正在使用CoreData
来坚持这些用户的更改。因此,当用户编辑该项目时,该项目将有关CoreData
和详细信息ViewController的ViewModel,但是用户可以再次导航回Master ViewController。项目中所做的更改应反映在其对应的单元格中的主vieventroller中。
我的问题是:根据MVVM设计模式(ViewControllers保留ViewModels而不是直接模型(,在编辑了详细信息的ViewController中,我应该如何更新Master ViewController及其ViewModel?
a(谁应该通知模型中的更改?:详细信息VC应该通知主VC,然后主VC更新其VM?
b(详细信息VM应该通知主VC?
c(详细信息VM应该通知主VM?
d(我应该如何通知,实施协议?
简短答案:
c(详细信息VM应该通知主VM吗?
是!
d(我应该如何通知,实施协议?
是!
您应该将Master的VM作为代表将其通过详细的VM。因此,该细节可以更新有关更改的Master VM的VM。我想您不使用绑定。