【问题标题】:Swift Dictionary to Array to populate pickerViewSwift字典到数组以填充pickerView
【发布时间】:2016-08-23 13:50:55
【问题描述】:

我有一本字典... ["12": "AB", "13": "CD"]

我正在尝试使用此字典来填充pickerView,因此我尝试将字典拆分为数组,因为只有 AB、CD 需要显示在选择器中,但一旦选择它们需要对应回它们的键。

我不断收到“LazyMapCollection”类型的无法转换值?到预期的参数类型 [_]

newArray = Array(arrayLiteral: myDictionary.keys)

我试过改变数组的类型,使用 NSMutableArray 等,但同样的错误不断弹出。

如果有人有更好的使用字典和选择器的方法,我愿意接受建议,或者如果有人可以帮助我解决这个问题。

谢谢

【问题讨论】:

    标签: arrays swift dictionary nsmutablearray uipickerview


    【解决方案1】:
    newArray = Array(myDictionary.values)
    

    您的newArray 将包含"AB""CD" 字符串。

    【讨论】:

    • 尽管两者都有效,但肯定比我的答案好
    • 这仍然返回与上述相同的错误:S
    • @jack-of-diamonds,这意味着您没有在此处发布的代码存在问题。这两行let myDictionary = ["12": "AB", "13": "CD"] let newArray = Array(myDictionary.values) 在操场上完美执行。
    【解决方案2】:

    我不知道这是否是最“迅速”的方式,但这很有效:

    var myArray: [String] = []
    let dict =  ["12": "AB", "13": "CD"]
    for (key, value) in dict {
        myArray.append(value)
    }
    

    【讨论】:

      【解决方案3】:

      我怀疑这是一个错字。如果你想要 AB 和 CD,你不应该得到值而不是键吗?

      let newArray = Array(myDictionary.values)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-24
        • 2019-03-06
        • 2017-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-10
        相关资源
        最近更新 更多