2017-06-25 17 views
0

私はこのpickerDataを持っている:私はUITextFieldの上でタップすると辞書からUIPickeViewを取り込む方法は?

var pickerData: (id: String, value: [String: String])? 

私は次の操作を行います。

@IBAction func whoCanSee(_ sender: UITextField) { 
    pickerData = (id: "viewOption", value: ["F": "Me and my friends", "M": "Only certain users", "E": "Every user"]) 

    sender.inputView = self.pickerView 
} 

以降

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) 

に私はvalueから値を取得しようとしています私のタプルの中で:

self.pickerData!.value.values[row] 

が、それは私にこのエラーが返されます:私はfor...inではなく、このキーでも試してみました

Cannot subscript a value of type 'LazyMapCollection<Dictionary<String, String>, String>' with an index of type 'Int' 

は、明らかに私は毎回のように、このブロックは、何度も何度も呼びかけて、常に最初の要素を取得します。

問題を解決するにはどうすればよいですか?

答えて

1

辞書を使用しているだけでインデックスを付けることはできません。ファー

let arr = Array(self.pickerData!.value) 
print(arr[row]) 
関連する問題