目前我正在使用单例类来做一些工作,但我想知道是否有更好的东西。
我有一个具有完全动态工作流程的应用程序。它使用导航控制器,但视图控制器的顺序完全取决于从我们的服务器下载的一些数据。
整个工作流程被下载并保存在一个数组中。
应用程序的“主菜单”屏幕有几个选项(设置、最近等),这些选项是固定的,但其中之一是动态选项。它总是以相同类型的视图控制器开始,但从那时起它取决于您选择的内容。
描述
这些动态控制器有 4 种不同类型。
- 具有单一选择和详细指标的表视图控制器。
- 具有多项选择和复选标记的表视图控制器。
- 带有文本字段和键盘的视图控制器。
- 用于在服务器上搜索帐户的视图控制器(以及其他相关的 VC)。
当您按下主菜单上的“新事件”选项时,菜单会转到单例 (EventManager) 并告诉它开始一个新事件。
然后单例将单个选择动态视图推送到导航控制器上并为其提供初始选项。
从这里开始,单例选择所有的选择并计算出接下来需要什么类型的视图。
我希望这是有道理的
无论如何,我不喜欢这里的单例模式,因为我认为它不应该是单例。
我想要的是一个可以从 ViewController 创建的类,然后该类将控制不同视图控制器负载之间的数据推送和弹出以及数据流。然后当你回到主菜单时,这个类可以消失,所以我每次都创建一个新类。
有没有我可以看到的模式可以做到这一点?还是我应该像现在这样坚持单身?
我希望这是有道理的。
编辑
我可以为此使用 UIPageViewController 吗?然后 UIPageViewController 的数据源/委托对象将取代我目前正在使用的单例......还是什么?
从推特请求中添加照片
流程中的每个 VC 都不知道它之前的凸轮或接下来的凸轮。他们所做的只是回调单身人士说“选择了这个值”或“输入了这个文本”等......
然后单例存储该信息并计算出接下来会发生什么并将下一个 VC 推入堆栈。
它需要能够沿堆栈向后移动,以便用户可以返回更改某些内容等...
一切正常,我只是不喜欢使用单例。