【发布时间】:2021-04-28 10:20:50
【问题描述】:
我想在我的项目中使用特定的 Viper 模块。从技术上讲,现在当我需要打开一个特定的 UIViewController 时,我需要通过一些屏幕输入一些数据等,然后在 20 秒内我就在那个特定的屏幕中。
因此,当我只需要测试一些小事情(如 UI 调整、更改一些字符串以使其适合屏幕等)时,需要花费大量时间导航。
相反,我想在运行项目时运行特定屏幕。
在这种情况下,模拟和注入肯定会有很大帮助,因为我需要用一些初始数据来满足我的 Viper 模块。这只是一个技术细节。
我想知道如何组织我的项目以运行特定模块而不是运行整个项目。
硬编码解决方案,例如通过添加覆盖初始点的额外代码来使用应用委托,这只是一个临时解决方案,您需要在完成后清理应用委托。
我可能错了,但我认为应该有一个特定的目标解决方案可以运行不同的模块,无论它是像 HomeViewController 这样的初始点还是带有模拟注入的特定模块。
【问题讨论】:
-
这是一个相当广泛的问题。有很多方法可以使用 Viper。实际上,我从来没有见过两个非常相似的 Viper 项目,我的一般建议是远离 Viper,因为它只会引入巨大的复杂性,但不能解决任何架构问题。
-
嗨@Sulthan,感谢cmets,也许我问错了问题,VIPER 只是一个我需要在没有导航的情况下运行的模块。让我们甚至跳过任何架构解决方案,让我只有 UIViewControllers 队列。因此,从初始 HomeScreen 运行项目需要花费大量时间来导航特定的 UIViewController。那就是我要解决的问题。
-
使用目标屏幕列表创建一个用于测试目的的控制器?启动应用,选择屏幕就完成了?
标签: ios swift viper-architecture