swift - 如何正确应用在我的代码中捕获错误?Swift Xcode 清洁架构
问题描述
我目前正在为注册屏幕实现一些代码(使用 swift clean 架构) - 我有在按下注册按钮和出现错误时触发的功能。我将粘贴下面的代码以获得帮助:
import UIKit
protocol SignupFormErrorLogic {
func showValidationError(_ message: String)
}
class SignupViewController: UIViewController, SignupFormErrorLogic {
var interactor: SignupBusinessLogic?
var router: (NSObjectProtocol & SignupRoutingLogic)?
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
private func setup() {
let viewController = self
let interactor = SignupInteractor()
let router = SignupRouter()
viewController.interactor = interactor
viewController.router = router
interactor.router = router
interactor.viewController = viewController
router.viewController = viewController
}
@IBOutlet var fullNameTextField: UITextField!
@IBOutlet var emailTextField: UITextField!
@IBOutlet var passwordTextField: UITextField!
@IBAction func cancelButtonPressed(_ sender: Any) {
self.dismiss(animated: true, completion: nil)
}
@IBAction func signupButtonPressed(_ sender: Any) {
let request = Signup.Request(
name: fullNameTextField.text!,
email: emailTextField.text!,
password: passwordTextField.text!
)
interactor?.createAccount(request: request)
}
func showValidationError(_ message: String) {
let alertCtrl = UIAlertController(title: "Oops! An error occurred", message: message, preferredStyle: .alert)
alertCtrl.addAction(UIAlertAction(title: "Ok", style: .cancel, handler: nil))
self.show(alertCtrl, sender: self)
}
}
当我运行模拟器时,输入我要创建的帐户的详细信息,然后单击注册,它会触发我的错误请求,但我不知道问题是什么。我应该应用 do/try/catch 块来解决问题吗?如果是这样,我应该在哪里/如何应用它?
谢谢
解决方案
推荐阅读
- javascript - 从 Json 文件中注入
标签在 Angular 页面上不起作用 - sql-server - 如何在 SQL Server 报表生成器中创建日期的级联参数?
- html - Chrome:视口 320 创建水平滚动条并让您进一步向下滚动(响应式)
- eval - 在 SICP 的评估器(第 4 章)中如何标记原始过程?
- azure - 无法从 Azure 云 nifi 服务器中的 FTP 服务器获取数据或队列数据?
- ajax - 为什么这个基本的 ajax 调用给了我 400 而没有向控制器触发?
- rdf - Schema.org 创建者与作者属性
- java - Scala 伴侣与 Java 代码中的特征与抽象类
- intellij-idea - Lombok @RequiredArgsConstructor(onConstructor_ = {@MyAnnotation}) IntelliJ IDEA 编译错误
- python - 如何测试独立脚本文件