2017-02-16 118 views
1

項目,我有以下類:填充UIPickerView與

class JobItem { 
    var ItemID:String = String() 
    var Qty:Int = Int() 
    var Item:String = String() 
} 

我也有項目的集合在這個類像這樣:

var jobitems: [JobItem] = [] 

我想填充我pickerview與只是數組中類的每個實例的Item部分,我不知道如何。我用數據成功填補它從我創造所以它的工作確定一個虛擬陣列,只需要該數據的採集。

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 

} 

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
    return jobitems.count 
} 

func numberOfComponents(in pickerView: UIPickerView) -> Int { 
    return 1 
} 

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
    return as? String 
} 
+0

return jobitems [row]。商品 –

回答

2

titleForRow試試這個,你只需要以正確的行返回正確的項目字符串可以映射到你的數組的索引:從陣列

return jobitems[row].Item

+0

哦,太棒了,很高興知道我的索引已經與它相關聯。謝謝 –

+0

這是因爲你在'numberOfRowsInComponent'中返回'jobitems.count'時聲明瞭相同的數字,如果這個數字與你的總行數不一樣,那麼當你這樣做時你會崩潰 – Tj3n

0

只是外賣元素到您的實例類&填入你想要什麼,

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String { 
    var titleFoRow: String? = nil 
    var classObject: ModelClass? = nil 
     classObject = self.arrayCountryList[row] 
     self.titleFoRow = classObject.instanceVarName 

    return self.titleFoRow 
}