代码之家  ›  专栏  ›  技术社区  ›  Ran Hassid

如何在iOS swift模块化应用程序中执行路由?

  •  4
  • Ran Hassid  · 技术社区  · 6 年前

    ReSwift 这是一个遵循REDUX原则构建iOS应用程序的库。

    我已经成功地将全局应用程序状态与所有特性状态解耦,这样每个特性都定义了自己的状态,并且所有特性都由全局应用程序状态管理。

    我知道我可以在我的应用程序中创建一个中心位置来处理应用程序的所有路由,但我想知道是否有一种方法可以让每个功能都实现自己的路由。因此Feature1将路由到Feature2,而不调用某些中心实现。 自己的资源

    P、 我决定和他一起去 ReSwift-Router

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  1
  •   nikans    6 年前

    看起来我们使用的是类似的架构模式,不过我决定在每个模块中定义路由器协议,所有这些协议都在一些中央路由器模块中实现。这将模块分开,但我仍然能够对整个应用程序使用集中式状态和调度。

    在玩了一些路由器库之后,我已经制作了自己的基于状态的解决方案,以更好地处理VCs层次结构,仍然将状态与UI分离。

    我认为它符合你的要求。

    https://github.com/nikans/MonarchRouter

    Monarch Router

    特征:

    • 导航复杂视图控制层次结构,并在路径更改时展开。
    • Deeplinking处理推送通知、快捷方式和通用链接。
    • 通过更改窗口的rootViewController来切换顶级应用程序部分。
    • 导航叉(选项卡栏式演示者)。
    • 导航堆栈(即导航控制器)。
    • 打开和关闭情态动词,有自己的层次结构。