从字典中提取字典swift

问题描述:

我在swift中转换目标c代码。从字典中提取字典swift

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

示例数据:

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对象中。

任何建议将不胜感激! 在此先感谢!

+0

你能添加的控制台日志只是'打印(dataDict [ “形象”])'没有任何演员。 –

+0

你的空间是...艺术。 – Alexander

试试这个:

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"] 

截图: enter image description here

+0

嘿感谢回答,但在调试左控制台检查imageDictionary显示0键值对 – Gypsa

+0

我已经添加了代码和输出的屏幕截图。请看一看。在调试左侧控制台中,它有时也会显示字典的0个键/值对。尝试打印对象。 – PGDev

+0

感谢它的工作 – Gypsa