如何使用setObject:forKey其中Key也是NSMutableDictionary?

时间:2013-09-23 10:37:28

标签: iphone ios objective-c nsmutabledictionary

我在另一个NSMutableDictionary内有一个NSMutableDictionary如何在内部NSMutableDictionary内设置一个值,我试过了

[[PUser setObject:self.name forKey:@"profile"][@"name"];

但它给下标需要接口'NSString'的大小,这与这个架构和平台错误不一致,有什么建议吗?

4 个答案:

答案 0 :(得分:4)

假设你的字典结构是这样的:

mainDictionary = {
    "innerDictionary" = {
        "profile":"somename",
        "key2":"someValue",
        "key3":"someValue"
        }
}

1)现在,如果您要为profile内的键“innerDictionary”设置值,则可以按如下方式设置:

[mainDictionary setValue:yourValue forKeyPath:@"innerDictionary.profile"];

2)如果您希望保存object ,请执行以下操作:

[[mainDictionary valueForKey:@"innerDictionary"] setObject:yourValue forKey:@"profile"];

希望这会对您有所帮助。

答案 1 :(得分:1)

尝试使用以下代码:

[[yourMainDic_Name objectForKey:@"innerDic_KeyName"] setValue:@"yourVlaue" forKey:@"KeyName"]; // you can also change as per your requirement to "setObject" instead of "setValue"

答案 2 :(得分:0)

您想要将新密钥添加到现有密钥,然后首先使用objectForKey:@"FirstKey" 和 然后设置New Value和NewKey你想要的东西。

[[Dic objectForKey:@"name"] setObjcet:self.name  forKey:@"profile"];

答案 3 :(得分:0)

NSMutableDictionary *dictmain,*dictsub; 

[dictmain setObject:dictsub forkey:@"dictsub"];

//这可能是字典对象添加到另一个字典的方式。

NSMutableDictionary *innerDict = [dictmain objectforKey:@"dictsub"];
[innerdict setObject:customObj forKey@"new key"];

//这将在内部字典中插入一个新对象。您也可以使用 setValue 方法。