当前位置: 首页 > 知识库问答 >
问题:

iOS VIPER-自定义警报(类似于UIAlertView)应该是一个不同的模块吗?

梁嘉澍
2023-03-14

我有一个模块,例如模块a,在做了一些工作并单击viewControllerA的按钮后,我应该会收到一个定制的“警报”,即我尝试的请求成功了。“警报”应该有一个关闭按钮,让用户关闭视图并返回到ViewControllera。

所以,我认为有两种可能:

1)只需创建UIView,它的UILabels与约束和UIButton绑定,并显示它,同时隐藏包含大多数子视图的当前容器视图。

共有1个答案

洪雅健
2023-03-14

我将礼貌地忽略OP将模块作为垂直切片的用法,以关注Viper的V、I、E、R区域。关于OP的问题/主题的推理是基于区域的,而不是基于每个区域内的垂直切片。(是的,我知道近年来关于VIPER的教学/呈现方式存在不同的观点,但我将使用https://theswiftdev.com/the-Ultimate-Viper-Architecture-tutorial对VIPER的原始更纯粹的定义,它不那么以模块为中心,而更多地以体系结构子系统为中心。)

  • 活动时,模式对话框将阻止路由器区域导航到不同的场景/视图。因此,如果view zone作为一个私人问题弹出一个用于任何目的的任何类型的模态对话框,这将使路由器无法根据例如来自交互者的传入事件或应用程序中一些其他非UI起源的状态变化来执行导航任务。路由器区域永远不应该被另一个区域蒙蔽,因为它不能执行导航任务。此外,视图区域作为一个纯粹的UI问题,并没有做出显示警报的决定;底层操作系统或演示者区域正在强制执行某种限制性规则,这意味着视图区域不是按照自己的意愿执行的,而是其他某个傀儡的傀儡。
  • 无论警报的主题是什么,它几乎肯定会影响所有I P R区域中的某个应用程序域层(可能由I P和/或R之间流动的E区域中的数据表示)。为了将导致警报的违反规则行为作为私人问题保留在查看区域内,应用程序域对违反规则行为的感知保持为盲状态(或者通过VIPER的不太明显的接近违反行为进行通信)。因此,必须让演示者区域知道导致警报的规则冲突,因为该规则冲突可能会在应用程序域中触发一组不同的规则实施行为,因为演示者区域实际上会意识到“哦,我们正处于这种情况下。这意味着我们需要这样做,直到它平息。“在这种情况下,这种不同的应用程序域行为可能会导致演示者区域执行区域间行为,例如,路由器的场景导航和交互者的数据存储检索/存储行为不同。因此,导致警报的规则违反几乎肯定有应用程序域的方面,以及Apple认为的Viper之前的UI到UI的问题(和MVVM-C之前有点类似,MVVM-C的C=Viper的R)。

当思考一个主题时,有三个思维过程有助于构建一个人的思想:

    null
 类似资料:
  • 考虑到以下情况: lambda通过SQS接收事件 现在我们监控一个自定义的错误计数指标,如。这为我们提供了错误发生次数的确切数字-独立于特定实体:如果一个实体不能像100次那样被处理,那么度量值将是。 不过,我想要的是一个基于UUID的独特度量。例子: id为123的实体失败10次 id为456的实体成功 id为789的实体失败20次 然后我想要一个值为的度量,因为流程只对两个实体失败(而不是像现

  • 更新 我解决了问题。答案如下 问题 我通过创建一个新的项目:(他要求的所有选项都被选中)。 然后,我在文件夹中创建一个文件,其中包含以下内容: 在和中,我导入了这个模块来使用它们: 并且在我的中添加: 我的正在解析此路径。但当我尝试运行或()时,我得到一个错误: @libs/test-lib在./src/main.ts,./node_modules/cache-loader/dist/cjs.js

  • 需要 10.2.0+ 您可以在*.vue文件中定义自定义语言块。 自定义块的内容将由在vue-loader'选项的loaders对象中指定的加载器处理,然后由组件模块require。 配置类似于[先进的Loader配置](../ configurations / advanced.md)中描述的配置,除了匹配使用标记名称而不是lang`属性。 如果找到一个自定义块的匹配加载器,它将被处理; 否则将

  • 我想像这样自定义AutoCompleteView.. 当我的特殊字符被添加时,它应该被填充(比如facebook...当你输入@b,那么所有名字以'b'开头的朋友都将被填充,我们可以选择名字)。 在添加“@”之前,不应在键入时填充它。 我必须自己试试,但让我在实现customview之前先问问,以节省时间。

  • API的成功响应具有json格式(基于avro模式)。对于错误,它是否应该为异常定义另一种格式(模式)?或者成功的响应应该包括错误部分?发生错误时,将其他部分留空,只填充错误。 这更像是一个内部应用编程接口,需要定义各种自定义异常消息。它是否应该对所有此类应用程序错误使用相同的HTTP状态代码? 这些决定如何影响OPEN API(SWAGGER)?

  • 主要内容:自定义模块编写说明文档到目前为止,读者已经掌握了导入 Python 标准库并使用其成员(主要是函数)的方法,接下来要解决的问题是,怎样自定义一个模块呢? 前面章节中讲过,Python 模块就是 Python 程序,换句话说,只要是 Python 程序,都可以作为模块导入。例如,下面定义了一个简单的模块(编写在 demo.py 文件中): 可以看到,我们在 demo.py 文件中放置了变量(name 和 add)、函数(