Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS项目中使用VIPER模式在何处保存以及如何传播内存中的数据?_Ios_Viper Architecture - Fatal编程技术网

在iOS项目中使用VIPER模式在何处保存以及如何传播内存中的数据?

在iOS项目中使用VIPER模式在何处保存以及如何传播内存中的数据?,ios,viper-architecture,Ios,Viper Architecture,我在我的项目中有一个流程,在这个流程中,我有不同的屏幕来编辑实体的不同部分,这是在这个流程的末尾创建的。在这种情况下,如何在VIPER中组织代码 例如: 我想创建一个测试实体。它有一个标题和描述,问题和一些辅助文本结尾。每个部分在单独的屏幕上按顺序编辑,如: 创建标题/描述-->创建问题-->输入辅助文本-->创建 我在哪里保存最后需要的所有数据? 我是否为每个演示者传递它?我是否将它们都保存在交互器中?在我们的团队中,我们决定演示者可以存储一些状态。因此,我们将模型传递给下一个模块,并将其存储

我在我的项目中有一个流程,在这个流程中,我有不同的屏幕来编辑实体的不同部分,这是在这个流程的末尾创建的。在这种情况下,如何在VIPER中组织代码

例如:

我想创建一个测试实体。它有一个标题和描述,问题和一些辅助文本结尾。每个部分在单独的屏幕上按顺序编辑,如:

创建标题/描述-->创建问题-->输入辅助文本-->创建

我在哪里保存最后需要的所有数据?
我是否为每个演示者传递它?我是否将它们都保存在交互器中?

在我们的团队中,我们决定
演示者可以存储一些状态。因此,我们将模型传递给下一个模块,并将其存储在
Presenter


您可以在我的开源项目中找到VIPER体系结构的演示用法,但没有您所要求的流程示例。

如Interactitor zone中清晰简洁的解释,隔离了实体/数据的获取是如何从技术上获得的。例如,您的内存中数据现在可能是简单的DRAM,但可以想象,将来可能是或在不同的平台上是多核处理器的缓存一致NUMA或内存中数据库引擎或共享内存进程间。VIPER体系结构的价值在于,随着时间的推移,内存中{UMA DRAM,ccNUMA,TimesTen,shared memory}的哪种变体的细节被隔离在交互区中,这样,由于这些不同的内存数据表示技术而引起的剧变就不会在presenter区中与业务逻辑混合和交织在一起(或者更糟的是,在其他区域也一样)另外,当您的应用程序从第一个平台转到第二个平台及后续平台时,您将欣赏在构建时为一个小型平台上的简单UMA DRAM、多核心平台上的ccNUMA、数据中心规模上的TimesTen以及(比如)嵌入式系统或通用桌面操作系统上的共享内存交换不同交互区域的能力。