首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPhone:如何创建包含多组具有相同密钥的数据的NSMutableDictionary?

iPhone:如何创建包含多组具有相同密钥的数据的NSMutableDictionary?
EN

Stack Overflow用户
提问于 2011-05-22 12:21:39
回答 2查看 4.3K关注 0票数 1
代码语言:javascript
复制
{

"data": [
    {
        "data": [
            null,
            null,
            30,
            45,
            69,
            70,
            65
        ],
        "title": "title5" 
    },
    {
        "data": [
            null,
            5,
            10,
            15,
            22,
            30 
        ],
        "title": "title4" 
    },
    {
        "data": [
            40,
            55,
        ],
        "title": "title3" 
    },
    {
          "data": [
              null,
            89,
            90,
            85
        ],
        "title": "title2" 
    },
    {
        "data": [
            66,
            77,
            55,
            33,
            50,
            -6,
            -8
        ],
        "title": "title1" 
    } 
],
 "x_labels": [
    6,
    7,
    8,
    9,
    10,
    11,
    12
]
}

我希望我的字典对于它包含的每一组值都有相同的键,称为"data“和"title”,如上面的代码所示。

但是,当我尝试创建一个字典,并尝试对相同的键或addEntriesFromDictionary:使用setValue:forKey:方法时,它会覆盖每组数据,最后我只得到我推入字典的最后一组数据。

有没有办法,我可以这么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-22 12:38:23

请注意,最低级别的字典中的第一个对象是列表或数组。这是关键。

代码语言:javascript
复制
 NSMutableArray * dataArr = [NSMutableArray array];
 NSArray * x_labelArr = [NSArray arrayWithObjects: ...];
 NSMutableDictionary * dict = 
            [NSMutableDictionary dictionaryWithObjectsAndKeys: 
                     arr, @"data", x_labelArr, @"x_labels", nil];

现在您可以向数组中添加单独的内部字典,每个字典都有相同的键:

代码语言:javascript
复制
NSDictionary * innerDict = 
            [NSDictionary dictionaryWithObjectsAndKeys: 
                  someArrayOfData, @"data", someTitle, @"title"];
NSDictionary * innerDict2 = 
            [NSDictionary dictionaryWithObjectsAndKeys: 
                            someOtherArrayOfData, @"data", 
                                 someOtherTitle, @"title"];
[dataArr addObject:innerDict];
[dataArr addObject:innerDict2];
票数 3
EN

Stack Overflow用户

发布于 2011-05-22 12:39:32

您可以向字典中添加字典;字典中都包含"data"->asdf、"title"->asdf。或者,为"data“元素添加一个数组,然后再添加。但是从你的数据看,你更有可能需要this

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6086013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档