2016-12-24 3 views
-1

、私はCoreDataを使っていると私は私がそれを実行すると、店舗やアイテムタイプ(文字列?列?)としてpickerView titleForRowを設定することはできません

と私のUIPickerViewで2つの異なる列を持つようにしようとしています項目は「そこに」ありますが、「?」と表示されます。ここ

は私titleForRow機能のために私のコードです:

インスタンスメソッド 'pickerVIew(titleForRow:forComponent :)' ほぼ注意する

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> (String?, String?) { 
    //title 
    let store = stores[row] 
    let itemType = itemTypes[row] 

    // select store out of array of stores 
    return (store.name, itemType.type) 
} 

何かがXcodeのが私に言って警告を与えています一致する オプションの 'pickerView(titleForRow:forComponent :)'の プロトコルUIPickerView

答えて

1

タプルではなくStringタイプのみを返すことができます。私はあなたの訂正と私の答えを更新しました

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
    return component == 0 ? stores[row].name : itemTypes[row].type 
} 
+1

:あなたは2つの列を追加したい場合は、

pickerView.numberOfComponents = 2 

を設定するなどcomponentパラメータをチェックする必要があります。 –

+0

作品!ありがとう – Doba

関連する問題