0

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

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

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

4

4 回答 4

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

希望这会帮助你。

于 2013-09-23T11:07:31.187 回答
1

尝试使用以下代码:

[[yourMainDic_Name objectForKey:@"innerDic_KeyName"] setValue:@"yourVlaue" forKey:@"KeyName"]; // you can also change as per your requirement to "setObject" instead of "setValue"
于 2013-09-23T10:39:44.547 回答
0
NSMutableDictionary *dictmain,*dictsub; 

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

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

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

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

于 2013-09-23T11:32:57.353 回答
0

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

[[Dic objectForKey:@"name"] setObjcet:self.name  forKey:@"profile"];
于 2013-09-23T10:53:33.100 回答