【问题标题】:Retrieve dictionary from dictionary swift从字典中快速检索字典
【发布时间】:2017-03-07 05:59:23
【问题描述】:

我正在快速转换目标 c 代码。

我正在从在字典中有字典的服务器获取数据。 我正在获取键值字符串,但无法获取字典。

示例数据:

data =         {
            caption = hello;
            image =             {
                a = "https://www.google.com/1024x1024";
                b = "https://www.google.com/640x640";
                c = "https://www.google.com/480x480";
                d = "https://www.google.com/";

            };
        };

我可以得到标题

let dataDict = (mainDict[data] as? Dictionary<String,AnyObject>)!

Obj.caption=String(dataDict["caption"]!)  //getting hello

Obj.imageDictionary = (dataDict["image"] as? Dictionary<String,String>)! //getting 0 key value pairs

将 imageDictionary 初始化为

var imageDictionary = Dictionary<String, String>()

请建议如何获取图像字典,我希望这个字典存储在 imageDictionary 对象中。

任何建议将不胜感激! 提前致谢!

【问题讨论】:

  • 你能简单地为print(dataDict["image"])添加控制台日志而不需要任何演员吗?
  • 你的间距是...艺术。

标签: swift string dictionary nsdictionary


【解决方案1】:

试试这个:

let data : [String : Any] = ["caption" : "hello",
                             "image" :["a" : "https://www.google.com/1024x1024",
                      "b" : "https://www.google.com/640x640",
                      "c" : "https://www.google.com/480x480",
                      "d" : "https://www.google.com/",
    ]
]

let caption = data["caption"] as! String
let imageDictionary = data["image"] as! [String : String]

imageDictionary,我得到:

["b": "https://www.google.com/640x640", "a": "https://www.google.com/1024x1024", "d": "https://www.google.com/", "c": "https://www.google.com/480x480"]

截图:

【讨论】:

  • 嘿,感谢您的回答,但在调试左控制台检查 imageDictionary 显示 0 个键值对
  • 我已经添加了代码和输出的截图。请看一看。同样在调试左控制台中,它有时会显示 0 个字典键/值对。尝试打印对象。
猜你喜欢
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-16
  • 1970-01-01
相关资源
最近更新 更多