UIPickerView在Swift中选择title == String的行

时间:2016-09-18 07:52:57

标签: arrays swift uipickerview

我有一个UIPickerView,我想选择一个title等于String的行,我从php / mysql脚本中收到它。

让我们说这是我的数组:

var myArray = ["First","Second","Third","Fourth","Sixth","Seventh"]

这就是我从我的PHP脚本中获得的内容(这就是我希望UIPickerView选择的内容。):

let myString = "Second"

所以我的问题是:

我该如何做这样的事情:self.myPicker.selectRow(1, inComponent: 0, animated: true)但我希望myPicker选择带标题的行:" Second"。

我找到了这个问题,但它是在Objective-c:UIPickerView Set Selected Row by Title

非常感谢!

1 个答案:

答案 0 :(得分:4)

如果您不知道数组中对象的索引,请尝试这样做。

let index = myArray.indexOf(myString)
self.myPicker.selectRow(index, inComponent: 0, animated: true)

如果你正在使用swift 3,那么找到这样的索引。

let index = myArray.index(of: myString)

编辑:如果您不确定您的数组是否包含字符串,那么您也可以检查nil。

if let index = myArray.indexOf(myString) {
    self.myPicker.selectRow(index, inComponent: 0, animated: true)
}