swift - 将 UIPicker View 设置为选定的字符串 - Swift

标签 swift uipickerview

有没有办法将 UIPicker View 设置为选定的字符串?我的选择器 View 是从数据库中填充的,并包含一组名称。我想在填充时将 View 的值设置为选定的名称。行号每次都会改变。是否可以设置值来匹配字符串?

以下是我基于评论的尝试:

            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: {$0 == assetArray[0].Owner })
    scroll_owners.selectRow(index ?? 0, inComponent: 0, animated: true)

注意:inComponent 传递正确的值,如果您的选择器 View 只有一列,那么它将正常工作。

关于swift - 将 UIPicker View 设置为选定的字符串 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47308426/

相关文章:

ios - MKMapView 和用户位置计时

ios - 背景颜色变化使所有元素消失

ios - 如何清除 iOS 中 UIWebViews 的 localStorage

ios - 我可以以某种方式在 Swift 的一行中对多个变量使用可选绑定(bind)吗?

arrays - 使用元组和 3 个 UIPickerview 计算小计

swift - didEnterRegion 有时只会被解雇

ios - UIPickerView 未出现

iphone - Objective c 从 NSDictionary 设置选择器值

ios - 获取行而不从 UIPickerView 选择

ipad - 我们可以直接在 iPad 应用程序中使用 UIPicker 吗?