2017-05-02 12 views
3

私の現在のプロジェクトでは、アプリケーションの複数の画面で異なる番号のUITextFieldを処理するために複数の関数を実装する必要がありました。関数内で未知数の引数を渡す

UITextFieldの任意の数を取ることができる1つの関数を実装できるとすれば、より効率的だと思います。

swift 3でこのsurd関数を実装することは可能ですか?

答えて

8

スイフトVariadic Parametersはあなたにその施設を提供します。パラメータの型名の後ろに3文字のピリオド((...))を挿入して可変パラメータを記述します。ここで私はあなたにデモを与えます:

func anyNumberOfTextField(_ textField: UITextField...) { 

} 

このような関数を呼び出します。これで、任意の数のtextFieldを渡すことができます。多くても1つの可変引数パラメータで機能を持っていることがあります。

anyNumberField(UITextField(),UITextField(), UITextField(), UITextField()) 

注:ここで私は3つのパラメータを渡しました。詳細情報については

、私が望んでいただけで何のおかげで、このSwift Functions

+0

このようなことは決して知られていませんでした。素晴らしい一人の兄弟! –

+0

@ Md.Muzahidul Islamありがとう!! –

5

最も簡単にはUITextFieldsの配列を渡すことになります。

func processTextFields(fields:[UITextField]) { 
    for field in fields { 
     // Process your text fields 
    } 
} 
+0

をチェック! –

0

私はあなたが引数としてのUITextFieldの配列を受け取る関数を作成することによって、そうすることができますね。

func handle(textFields: [UITextField]) { 
    // do your things here by accessing each textFields like : textFields[0] 
} 

それ以外の場合は、何かを行う必要があるテキストフィールドの数に等しい数の引数を作成するだけです。 ほしいと思っています。

関連する問題