【问题标题】:Convert from NSDictionary to [String:Any?]从 NSDictionary 转换为 [String:Any?]
【发布时间】:2016-06-14 11:31:41
【问题描述】:

我正在使用 xmartlabs/Eureka 构建具有动态表单的应用程序。

为了填写表格,我必须使用setValues(values: [String: Any?])

但我在 NSDictionary 变量中有表单值,我无法将其转换为 [String:Any?]

有没有办法将NSDictionary 转换为[String:Any?]

【问题讨论】:

  • and I cannot cast it to [String:Any?] 你试过什么?什么没用?您是如何尝试投射它的?究竟是什么问题?

标签: swift eureka-forms


【解决方案1】:

只是一个例子:

if let content = data["data"] as? [String:AnyObject] {
    print(content)
}

这里的数据是一个 JSON 对象。相应地使用它。

【讨论】:

    【解决方案2】:

    希望这会有所帮助:

    let dict = NSDictionary()
    var anyDict = [String: Any?]()
    
    for (value, key) in dict {
        anyDict[key as! String] = value
    }
    

    【讨论】:

    • 谢谢,但您的解决方案只会给我一个键输出.. 其他键被覆盖
    • 我修复了你的代码,它现在可以工作了:let dict = NSDictionary() var anyDict = [String: Any?]() for (value, key) in dict { anyDict[key as! String] = value }
    • @ZuhairAli 接受错误的答案只是为了以后自己修复它有点荒谬。 :) 您应该用正确的代码编写自己的答案。
    • 添加...不应该是(键,值)而不是相反吗?
    • for (key, value) , NOT for (value, key)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 2011-10-24
    • 2010-11-27
    • 2013-09-24
    • 1970-01-01
    相关资源
    最近更新 更多