gpt4 book ai didi

ios - 毒蛇架构 : how to obtain return info from a module

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:10 26 4
gpt4 key购买 nike

我在处理从另一个模块提供的模块返回的某些信息时遇到问题。在我的例子中,我有两个模块, map 和搜索。 MapView 通知它要搜索地址,因此 MapPresenter 开始显示搜索模块的操作(其 View 以模态方式显示)。在搜索模块中,我进行文本搜索,获取结果,显示并选择一个。该选择必须返回到 map 模块。我如何才能在不打破界限的情况下实现这一目标?

考虑到,如果我错了,请纠正我,模块之间的通信只能通过路由来实现(而不是在带有通知、完成 block 等的模块之间“跳转”),我实现了这个场景:

viper-flow-chart(抱歉,也许顺序图会更好)

MapWireframe 实现了常规接口(interface),但也实现了另一个我称为 MapModuleInput 的接口(interface),因此当我开始搜索操作(蓝色)时,我将传递给 SearchWireframe 实现该接口(interface)的 MapWireframe

之后,在红色流程中,在 SearchView 中,我开始搜索案例,它从交互器等处获取结果。之后显示结果,用户选择一个(绿色), 所以选择的结果通过MapModuleInput接口(interface)返回给 map 。

那么,这是正确的吗?

谢谢!

最佳答案

如果我理解正确的话,您有一个搜索“模块”,它使用搜索交互器进行搜索,检索一些 POI 并将此结果返回给搜索呈现器。您有一个可以避免的问题,而不是在 SearchPresenter 中检索结果,只需与 map 通信并发送查询,然后在 MapView 中使用 SearchInteractor,现在您不必在模块之间发送对象。如果您需要按照您在图表中绘制的方式执行此操作,请使用像核心数据这样的数据源来保存巨大的对象并稍后在另一个“模块”中检索它。

关于ios - 毒蛇架构 : how to obtain return info from a module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28177377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com