UIPickerView更改第二个UIPickerview的值

时间:2017-07-25 03:10:06

标签: swift uipickerview

以下是用于填充两个UIPickers的代码的剪辑,并根据第一个选择器的选择值,根据其他函数查找利率。当我只有一个使用数组贷方填充它的选择器视图时,此代码有效。问题不在于我添加了第二个pickerView,它使用相同的信息,使用错误的pickerView搜索信息。它应该使用名为orginalLender的pickerView进行搜索。而不是newMortgageLender。请注意pickerView。我需要使用orginalLender。希望这有一定道理。

var currentLender = [Rate]()
var lenders = [String]()
var lendersKey = [String]()
var newLenders = [String]()

 currentLenderPicker.delegate = self
 currentLenderPicker.dataSource = self
 currentLenderPicker.tag = 1

 newLenderPicker.delegate = self
 newLenderPicker.dataSource = self
 newLenderPicker.tag = 2

 orginalLender.inputView = currentLenderPicker
 newMortgageLender.inputView = newLenderPicker
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {

    if pickerView == currentLenderPicker
    {
    return lenders[row]
    }
    else if pickerView == newLenderPicker
    {
        return newLenders[row]
    }

    return ""
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent 
component: Int) -> Int {



    if pickerView == currentLenderPicker
    {
        return lenders.count

    }
    else if pickerView == newLenderPicker
    {
        return newLenders.count
    }

    return 1
}

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


    return 1
}

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

    if pickerView == currentLenderPicker
    {
        orginalLender.text = lenders[row]
    }
    else if pickerView == newLenderPicker
    {
        newMortgageLender.text = newLenders[row]
    }

    // controls the search for the selected lenders rate
    selectedLenderKey = lendersKey[row]

    if let selectedLender = currentLender.filter({ $0.fiName == 
    lenders[row] }).first
    {
        Global.selectedRate = selectedLender
    }


    self.view.endEditing(false)
}

 // these values are set inside a function

  self.currentLender.append(rate)                      
  self.lenders.append(fiName)
  self.lendersKey.append(lenderKey)
  self.newLenders.append(fiName)
                        }

价值正在改变

     if let selectedLender = currentLender.filter({ $0.fiName == lenders[row] }).first
    {
        Global.selectedRate = selectedLender
    }

发生的事情是它根据所选的最后一个选择器视图搜索费率。我希望它只使用标有"原始贷方的文本字段进行搜索。

0 个答案:

没有答案