谁负责使用Coordinator设计模式进行呼叫服务

时间:2019-03-16 12:42:05

标签: ios swift mvp coordinator-pattern

我有一个使用MVP-C设计模式的应用程序。

我的rootViewController是一个UINavigationController,我的主流程呈现了一个UITabBarController,其中有4个标签。

标签栏控制器具有UITabBarControllerDelegate,并且使用tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController)可以在HomeFlowCoordinator上调用委托方法,该方法允许我在导航栏上正确设置标题标签。

我这样做的前提是协调员拥有导航栏,因此任何更改都应由协调员处理,而不是由视图控制器进行。

我的问题是,我现在需要在某些选项卡上添加UIBarButtonItem。我仍然可以在协调器中执行此操作,但是我开始怀疑这是否是正确的位置,因为我需要为按钮分配一个操作选择器,这意味着逻辑也将存在于协调器中,可能意味着任何服务/提供者呼叫将驻留在协调器中。

感觉不正确。通过UINavigationController将我的DI传递到我的演示者或视图控制器中,并让每个选项卡在其中修改导航标题和工具栏按钮操作,是否正确?

如果是这样,他们还可以呈现视图,感觉协调员几乎变得多余了?

0 个答案:

没有答案