2017-02-16 87 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 
}