将 UIPicker 视图设置为选定的字符串 - Swift
Setting UIPicker view to selected string - Swift
有没有办法将 UIPicker 视图设置为选定的字符串?我的选择器视图是从数据库中填充的,并包含一组名称。我想在填充时将视图的值设置为选定的名称。行号每次都会改变。是否可以将值设置为匹配字符串?
以下是我根据评论进行的尝试:
var i : Int = 0
while (nameArray[i] != assetArray[0].Owner)
{
i=i+1
}
scroll_owners.selectRow(i, inComponent: i, animated: true)
由于索引越界,这会导致代码在尝试加载时中断。
您正在尝试正确的方法,但需要以其他方式实施。
试试这个:
let index = self.nameArray.index(where: {[=10=] == assetArray[0].Owner })
scroll_owners.selectRow(index ?? 0, inComponent: 0, animated: true)
注意: 为 inComponent
传递正确的值,如果您的选择器视图只有一列,那么它将正常工作。
有没有办法将 UIPicker 视图设置为选定的字符串?我的选择器视图是从数据库中填充的,并包含一组名称。我想在填充时将视图的值设置为选定的名称。行号每次都会改变。是否可以将值设置为匹配字符串?
以下是我根据评论进行的尝试:
var i : Int = 0
while (nameArray[i] != assetArray[0].Owner)
{
i=i+1
}
scroll_owners.selectRow(i, inComponent: i, animated: true)
由于索引越界,这会导致代码在尝试加载时中断。
您正在尝试正确的方法,但需要以其他方式实施。 试试这个:
let index = self.nameArray.index(where: {[=10=] == assetArray[0].Owner })
scroll_owners.selectRow(index ?? 0, inComponent: 0, animated: true)
注意: 为 inComponent
传递正确的值,如果您的选择器视图只有一列,那么它将正常工作。