我有下面的功能,可以正常工作。
当用户键入任何字符时,它都会验证用户输入,并根据输入隐藏一些imageView。
@IBAction func onEmailValueChanged(_ sender: UITextField) {
let hasMinimumLength = TextValidationHelper.validateHasMinimumLength(password: sender.text!)
passLengthCheckmarkImageView.isHidden = hasMinimumLength ? false : true
let hasCapitalLetter = TextValidationHelper.validateHasCapitalLetter(password: sender.text!)
passHasUppercaseCheckmarkImageView.isHidden = hasCapitalLetter ? false : true
let hasNumber = TextValidationHelper.validateHasNumber(password: sender.text!)
passHasNumberCheckmarkImageView.isHidden = hasNumber ? false : true
let hasSpecialCharacter = TextValidationHelper.validateHasSpecialCharacter(password: sender.text!)
passHasSymbolCheckmarkImageView.isHidden = hasSpecialCharacter ? false : true
resetButton.isHidden = hasMinimumLength && hasCapitalLetter && hasNumber && hasSpecialCharacter ? false : true
}
但是现在我想在这个函数上应用MVP模型,从ViewController文件中删除这个函数,我该怎么做呢?
我是否需要发布更多代码才能为这个问题创建答案?
1条答案
按热度按时间tzcvj98z1#
只对方法使用任何架构模式都不是一个好的实践,所以假设你有一个包含许多类或文件的完整应用程序。
重要的一点是,使用任何特定的模式并不是固定的/强制的。它实际上取决于代码,有时候你会为了处理一个方法而写很多代码。所以试着想一个最佳的方法来使代码更具可测试性和可伸缩性。
但是为了便于参考,您可以检查以下代码:
在视图控制器上:
//采用视图控制器:视图控制器上的PrensenterView协议
演示者查看协议为:
主讲人: