I am trying to create PickerView
inside tableViewCell
. I made my custom cell conform UIPickerViewDelegate
and UIPickerViewDataSo
Your issue is that you have reload the components of PickerView
so make one small change in your cellForRowAtIndexPath
and just reload the components of PickerView
after setting the pickerData
Array.
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("picker", forIndexPath: indexPath) as! PickerTableViewCell
cell.title.text = fieldModel.editFieldArray[indexPath.row].title
cell.pickerData = (fieldModel.editFieldArray[indexPath.row] as! PickerEditField).pickerData
cell.picker.reloadAllComponents();
return cell
}
Also in awakeFromNib
initialize your pickerData object
override func awakeFromNib() {
self.pickerData = Array()
self.picker.delegate = self;
self.picker.dataSource = self;
super.awakeFromNib()
}