모든 텍스트 필드를 찾고 유효성을 검사하기 위해 사용자가 '가입'을 탭하면 하위 뷰를 반복하려고합니다. 텍스트 필드는 사용자 정의 클래스입니다. 루프에서 텍스트 필드를 찾을 수 없습니다. 무엇이 문제 일 수 있겠습니까? 텍스트 필드는 인터페이스 빌더 스토리 보드에 추가되고 클래스의 ViewController에서 제대로사용자 정의 텍스트 필드 클래스를 찾을 수없는 서브 뷰를 통한 루프 ...?
콘센트를 설정 한 :
@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")
}
}
텍스트 필드가보기 컨트롤러의보기에 어떻게 추가 되었습니까? 코드를 통해? 스토리 보드? 텍스트 필드를 참조하는 콘센트 또는 속성이 있습니까? – rmaddy
@rmaddy가 코드와 정보로 업데이트되었습니다! 스토리 보드를 통해 추가되고 커스텀 클래스가 명확하게 설정되고 클래스가 일치합니다 – user7804097
아울렛이있는 경우 왜 루프를 작성하여 찾을 수 있습니까? 이미 액세스 권한이 있습니다. – rmaddy