         return pickerInputRow?.displayValueFor?(pickerInputRow?.options[row])
     }
     
-    open func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
+    open func pickerView(_ pickerView: UIPickerView, didSelectRow rowNumber: Int, inComponent component: Int) {
         if let picker = pickerInputRow, !picker.options.isEmpty {
-            picker.value = picker.options[row]
+            picker.value = picker.options[rowNumber]
             if picker.value != nil {
-                textField.text = "\(picker.value!)"
+                row.value = picker.value
+                targetLabel?.text = "\(picker.value!)"
             }
         }
     }

    }
    
    open override func update(){
        super.update()
        
        textField.clearButtonMode = .never
        if row.isHighlighted {
            textFieldStartColor = textField.textColor
            textField.textColor = textField.tintColor
        } else if textFieldStartColor != nil {
            textField.textColor = textFieldStartColor
        }
        
        textLabel?.text = nil
        detailTextLabel?.text = nil
        
        picker.reloadAllComponents()
        if let selectedValue = pickerInputRow?.value, let index = pickerInputRow?.options.index(of: selectedValue){
            picker.selectRow(index, inComponent: 0, animated: true)
        }
        
    }
    
    open func numberOfComponents(in pickerView: UIPickerView) -> Int {


import Foundation

//MARK: PickerInputCell

open class PickerInputCell<T: Equatable> : Cell<T>, CellType, UIPickerViewDataSource, UIPickerViewDelegate where T: Equatable, T: InputTypeInitiable {
    
    public var picker: UIPickerView
    
