gpt4 book ai didi

ios - 用于数据验证的 Swift VIPER Interactor 和 Presenter 规则

转载 作者:行者123 更新时间:2023-11-28 13:52:56 24 4
gpt4 key购买 nike

我确实有几个问题。使用交互器的最佳方式是什么:

假设我在交互器中保存了一些数据,但我想检查这些数据并显示下一个警报:

self.presenter?.showAlert(with: "All fields are required for adding exercise.".localized)

First question is this violation of Viper? And do I need to check datain presenter before passing it to interceptor?

Another question: Do I need to use function showAlertFillIssue insteadof passing text?

甚至假设我会在违反 interactor 的情况下从 presenter 传递它。

最佳答案

https://TheSwiftDev.com/the-ultimate-viper-architecture-tutorial 中所述,

  • 交互器区域仅用于从传感器、数据库或网络协议(protocol)获取实体,或用于将实体发射到数据库或网络协议(protocol)。
  • 相反,演示区用于执行所有业务规则/逻辑。偶尔会有灰色阴影(如下所述),但一般规则是检测并非所有字段都正确填写将在演示者中脱离数据库概念并脱离 UI 概念。
  • 最好将 showAlert 视为完全位于 View 区域中的东西,因为根据操作系统的不同,它可能在一个操作系统上是一个警报,但在另一个操作系统上可能是一些非警报 UI 构造。最好将 VIPER 视为:此操作在所有其他操作系统(除了 iOS)上会是什么样子,例如至少 MacOS,但也包括 Android 和 UWP(或在 View 区域中隔离的其他 UI 基础设施,例如 Qt)。最好将 showAlert 更笼统地改写为 emitError 或 balkBack,而无需提及此操作系统上的实际 UI 构造。同样,showAlertFillIssue 和任何其他特定的 UI 操作最好完全隔离在 View 区域内,远离演示者(业务规则)和交互者(实体获取和存储)。

关于ios - 用于数据验证的 Swift VIPER Interactor 和 Presenter 规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54316878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com