在您的iOS应用中实现更好的路由的新方法。

您好,我叫Vladislav,我是独立的iOS开发人员。

两年前,当我开始使用新生的VIPER体系结构时,遇到了很多问题。 在理解方面存在问题,需要在没有常规文档的情况下找到更好的方法。 有时我在想,这种方式不喜欢我。 我不喜欢标准的VIPER方法,因为Wireframe会创建所有模块并在其他模块之间进行过渡。 这对于我的项目来说并不灵活。

令我高兴的是,俄罗斯社区为与VIPER的合作开辟了新途径。 这是不带线框的新型VIPER,具有非常可分解的部件。 太酷了! 谢谢Rambler&Co。

但是我没有什么问题,对于使用Swift来说,应该使用Storyboards来组装模块,并使用Obj-C库在它们之间进行转换。 一切正常,但没有情节提要,我被迫使用DI进行组装😱。 好了,经过两天的学习SwinjectDI之后,我开始在项目中使用它,但是我遇到了最后一个问题-Obj-C库。 我不想使用他,因为我应该在ModuleInput协议中使用@objc批注。 不是纯粹的快速方法,是吗?

好吧,我开始思考,如何才能做得更好,更灵活。 我想看纯Swift代码。 我发现了这个! 我开始编写具有更多上下文和设置的新库。

我完成了这个项目并结识了LightRoute🚀

LightRoute-更自定义的纯Swift解决方案,可帮助您更好地在Swift上进行过渡。 她可以使用UIStoryboardSegueUIStoryboard 。 LightRoute具有链结构。 所有方法都按顺序调用。 我不想只是说,让我们开始研究!

让我们过渡吧! 🤓

让我们记住, TransitionHandler协议是实例UIViewController,它在新的UIViewController /模块上启动转换。

LightRoute可以在当前情节提要中的控制器中进行过渡,该故事板具有root视图控制器属性

这个例子演示了它是如何工作的: