2015-02-18 2 views
2

У меня есть словарь, который содержит другой словарь:Доступ словарь в словаре

var channelDict = Dictionary<String, AnyObject>() 
channelDict["image"] = Dictionary<String, AnyObject>() 

Теперь я хочу, чтобы добавить значение в словарь ребенка, я попытался следующие, но ничего не получалось:

channelDict["image"]["key"] = "value" 

var:Dictionary<String, AnyObject> dict = channelDict["image"] 
dict["key"] = "value" 

if var dict = channelDict["image"] { 
     dict["Key"] = "value" 
} 

ответ

2

Таким образом, вы можете добавить словарь ключа "image":

channelDict["image"] = ["key": "value"] 

ОБНОВЛЕНО

И если вы хотите, чтобы добавить значения к внутренней Dict и сохранить существующие значения, вы должны создать временную переменную следующим образом:

var innerDict = channelDict["image"] as [String: AnyObject] 

innerDict["dsa"] = "dsa" 

channelDict["image"] = innerDict 
+0

Спасибо, это сработало! –

+1

@DorCohen Добро пожаловать! Я обновил свой ответ, чтобы представить пример ситуации, когда вы обновляете значения внутренних словарей. –

Смежные вопросы