gpt4 book ai didi

swift - 循环遍历 subview 找不到自定义文本字段类...?

转载 作者:行者123 更新时间:2023-11-30 11:56:42 25 4
gpt4 key购买 nike

一旦用户点击“注册”以查找并验证所有文本字段,我就会尝试循环遍历 subview 。文本字段是自定义类。循环中未找到文本字段。可能是什么问题呢?文本字段已添加到界面构建器 Storyboard 中,并且类已正确设置

viewController 中的 socket :

@IBOutlet weak var usernameTextField: LoginTextFields!
@IBOutlet weak var emailTextField: LoginTextFields!
@IBOutlet weak var passwordTextField: LoginTextFields!
@IBOutlet weak var confirmTextField: LoginTextFields!

我尝试过:

   private func validateTF() {
print("validate")

for view in self.view.subviews {
if let tf = view as? LoginTextFields {
print("found one")
if tf.isEmpty(){
//alert
} else if tf.tag == 2 && !tf.isValidEmail(email: emailTextField.text!) {
//alert
}
}
}
}

我也尝试过:

  for view in self.view.subviews {
print(view)
if view.isKind(of: LoginTextFields.self) {
print("tf found")
let tf = view as! LoginTextFields
if tf.isEmpty() {
//alert
} else if tf.tag == 2 && !tf.isValidEmail(email: emailTextField.text!) {
//alert
}
print("nps")
}
}

最佳答案

虽然我不会具体回答您的问题,但我将提供一个(更好的)替代方案。

永远不要在 View 上使用标签。它们的使用会鼓励非常糟糕的模式。就像循环遍历 View 来获取电子邮件文本字段一样。

相反,您应该为每个文本字段创建一个属性。

让 emailTextField: LoginTextField = someTextField

等等...

这样你就不需要循环了。您只需检查电子邮件文本字段,然后检查密码文本字段等等。

编辑后...

您已经拥有那里的属性。那么你为什么要循环遍历任何东西呢?

只需检查属性即可。

关于swift - 循环遍历 subview 找不到自定义文本字段类...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47734036/

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