用于访问当前用户的依赖注入

时间:2017-08-06 07:16:42

标签: ios swift mvvm dependency-injection rx-swift

我正在尝试升级为开发人员,目前正在使用RxSwift和MVVM构建应用程序。我的大多数视图模型都需要访问current user对象。在几乎每个视图控制器中,在我做任何事情之前,我必须从数据库中获取current user的信息,然后才能执行所有其他代码(因为这么多逻辑取决于{的状态{1}})。这也意味着大多数代码至少嵌套了一个级别,因为获取用户是异步的。我实际上将User输入到视图模型的初始化器中。必须有更好的方法来保持当前用户在整个应用程序中。我想起了一些关于依赖注入的内容,以及它如何允许数据作为依赖项传递给其他对象。这种情况下注射是否可行?我也对其他建议持开放态度!

自发布以来我一直在考虑的潜在解决方案

  • 只需通过segues传递User并分配给每个视图控制器中的currentUser属性

  • 登录后,在RootViewController中创建一个类型为User的共享observable,并在需要的地方订阅它。但是,无论我订阅什么,我仍然必须将代码放入订阅块。

0 个答案:

没有答案