如何强制 PickerView 默认为数组项 [0]

How to Force PickerView to default to array item [0]

我已经搜索了两天,现在试图找到这个问题的答案。我什至可能没有正确地问这个问题,所以请原谅我。

我希望我的数据选择器默认为该文本字段的数据源数组的第 [0] 项。目前,我看不到加载 pickerView 时如何选择所选数组项的一致性。我有一个空白 ("") 作为数组中的第一个项目,我认为用户会在 pickerView 中看到一个空白作为默认项目,然后是所有其他项目。

当pickerView加载并显示给用户时,如何强制pickerView显示数组中的“”(每个数组中的第[0]项)作为默认选择值?

这里是 pickerViews 的代码:

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

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

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
    return self.activeDataArray[row] as! String
}

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    if activeDataArray == personnelName {
        enterPersonnelName.text = personnelName[row] as String
    }
    else if activeDataArray == drugID {
        enterDrugID.text = drugID[row] as String
    }
    else if activeDataArray == packageNumber {
        enterPackageNumber.text = packageNumber[row] as String
        enterQty.text = quantity[0]
        enterExpDate.text = expDate[0]
    }
    //put pickerView away
    self.view.endEditing(true)
}

编辑:调用 pickerView 的代码

func textFieldDidBeginEditing(textField: UITextField) {
    activeDataArray == [] //clear out the clicked field data array
    if textField == enterPersonnelName {
        activeDataArray = personnelName
    } else
        if textField == enterDrugID {
            activeDataArray = drugID
    } else
        if textField == enterPackageNumber {
            activeDataArray = packageNumber
    } else
        if textField == enterQty {
            activeDataArray = quantity
    } else
        if textField == enterExpDate {
            activeDataArray = expDate
    }
    dataPickerView.reloadAllComponents() //clear out components of the dataPickerView
    dataPickerView.hidden = false
}

Selecting Rows in the View Picker

override func viewDidLoad() {
    super.viewDidLoad()
    pickerView.delegate = self
    pickerView.selectRow(0, inComponent: 0, animated: false)
}

我这样做是为了解决问题:

    override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    pickerview.dataSource = self
    pickerview.delegate = self
    pickerviewLabel.text = pickerviewArray[0]
    }

我在UIPickerView之后声明了数组:

    @IBOutlet weak var pickerview: UIPickerView!
    let pickerviewArray = ["x","y","z","k"]