2016-06-23 12 views
0

私はユーレカに新しいです。私は、アラート要素にハードコードされた値ではなくコレクションを渡したいと思っています。ユーレカ - コレクションから値を渡す方法

class EmployeeType : AnyObject { 

    var typeId : Int = 0 
    var description : String = "" 

} 

これは私のクラスである:私は私が持っているクラスの配列を渡したいので

<<< AlertRow<String>() { 
       $0.title = "Employee Type" 
       $0.selectorTitle = "Employee Type" 
       $0.options = ["ADMIN","WORKER","HR","PR"] 
       }.onChange { row in 
        print(row.value) 
       } 
      } 

、代わりにハードコードされたオプション:ここで

は私の実際のコードです

答えて

0

文字列を含む配列を宣言する:

let emplyeeTypeDescriptions = [String]() 

その後、あなたは、あなたがフォームを記入(ローカライズ)の記述

でこの配列を埋める:

<<< AlertRow<String>() { 
      $0.title = "Employee Type" 
      $0.selectorTitle = "Employee Type" 
      $0.options = model.emplyeeTypeDescriptions 
      }.onChange { row in 
       print(row.value) 
      } 
     } 

(あなたのコントローラーが表示されている間、オプションを変更したい場合は、それは別の問題だ)

+0

文字列の配列の代わりに、IdとDescriptionを持つクラスがありますか?私はonChangeイベントでIdを取得したいですか? – VAAA

+0

row.valueで1つのStringを取得します。そのため、モデルはその文字列のクラスの正しいインスタンスを見つけることができる必要があります。 –

+0

はい、意味があります。私はちょうどあなたが同じ値を持っているがIdの違いについて心配しています。 – VAAA

関連する問題