2017-03-10 19 views
1

私は、iOSアプリケーションのSwiftでフォームの検証システムを実行しようとしています。 UITextFieldオブジェクトにIsRequiredプロパティを挿入する拡張機能を作成しました。IBOutlets in a loop

私は私のビュー内のすべてのIBOutletsを反復処理し、例のように条件を満たしている見たい

txtEmail.isRequired = true; 
    txtPassword.isRequired = true; 
    txtName.isRequired = true; 
    txtSurname.isRequired = true; 


    for Item in self.view.subviews { 
     if let textField = Item as? UITextField { 
      if textField.isRequired! { 
       if(textField.text == "") 
       { 
        textField.layer.borderColor = UIColor(red: 0.5, green: 0.5, blue:0, alpha: 1.0).cgColor; 
       } 
      } 
     } 
    } 

をしかし、それは動作しません。私はUITextfieldsをstackviewsに持っています。

+0

( "" ?? textField.text) '例えば、また' text'がnilでないことを確認してください!:この方法では、例CustomTextField

の配列を持っているつもり' – Sulthan

+0

"...動作しません"役に立たない声明です。あなたのコードは何をしていますか?コンパイラエラーが出ますか?もしそうなら、エラーは何ですか?あなたのアプリケーションはクラッシュしますか?あなたがしたいことをやり遂げることができませんか?どのように、正確に? –

+0

私は 'UITextField'sの' isRequired'プロパティに慣れていません。それはどこに定義され/文書化されていますか? –

答えて

2

ではなくOutletOutlet Collectionを使用してみてくださいお願いします。 .isEmpty

@IBOutlet var textFields: [CustomTextField]! 

for field in self.textFields { 

} 
+0

完璧に動作します。ありがとうございました – facecard