将数据传回MVVM

时间:2015-11-27 20:27:24

标签: ios swift mvvm mapkit

我尝试在CoreLocation / MapKit项目中实现MVVM。我的主视图控制器仅从其他类(视图模型)派生数据并显示它们。没有在视图控制器中进行思考。

CoreLocation和MapKit委托方法都在不同的类中完成,这些类在应用程序启动时将数据传递给视图控制器。

应用程序启动后,模型类会在用户启动进程时准备要在地图上绘制的路径。即使路径成功确定,路径也不会被绘制,因为我无法将数据从模型传递回视图模型(MapKit类)。

即使我可以传递数据,视图控制器已经在应用程序启动时创建了地图视图,现在需要重新绘制它。

那么如何将数据从模型传递回视图模型并重绘我的地图视图?

P.S。我选择的编码是Swift

1 个答案:

答案 0 :(得分:2)

您可以使用委派模式通知委托类模型已更改,也可以使用NSNotification。如果多个观察者需要了解更新,后者的效果会更好。

然而,在我看来,MVVM模式并不能真正在iOS上运行,因为它不支持UI数据绑定,所以View-Model除了添加之外并没有真正购买任何东西复杂。 MVVM起源于Windows世界,其中存在UI数据绑定框架。