11

我有一个 for 循环,它遍历数组中的一系列字典。

当它通过 for 循环时,如何将所有字典条目合并为一个NSMutableDictionary

我试过addEntriesFromDictionary了,但它不起作用。谢谢你的帮助。

for (int i=0; i<sections.count; i++){

    formElements    = [[sections objectAtIndex:i]objectForKey:@"Dictionary"];        
}
4

4 回答 4

15
NSMutableDictionary * mutableDict = [NSMutableDictionary dictionary];

for (NSDictionary * formElements in sections)
{
    [mutableDict addEntriesFromDictionary:formElements];
}

如果他们不共享任何密钥是正确的,这应该可以工作。

于 2012-08-27T13:49:02.663 回答
15

您可以添加字典对象,如下所示。

NSMutableDictionary *mDict=[NSMutableDictionary dictionary];
    [mDict addEntriesFromDictionary:DictObj];
于 2012-08-27T13:36:04.550 回答
1
NSMutableDictionary *mDict=[[NSMutableDictionary alloc]init];
    NSMutableDictionary *mDict2=[[NSMutableDictionary alloc]init];

//later suppose you have 5 object in mDict and 2 object in mDict2. combine in this Way.
    NSMutableArray *keys=[[NSMutableArray alloc]init];
    NSMutableArray *obj=[[NSMutableArray alloc]init];

    keys=[[mDict allKeys] mutableCopy];
    obj=[[mDict allValues] mutableCopy];

    [keys addObjectsFromArray:[mDict2 allKeys]];
    [obj addObjectsFromArray:[mDict2 allValues]];

    NSMutableDictionary *dict=[[NSMutableDictionary alloc]initWithObjects:obj forKeys:keys];
于 2012-08-27T13:54:58.823 回答
0

您可以使用 -objectEnumerator 或 NSDictionary 的其他方法来枚举您的字典。

因此,在您的循环中,您枚举您的字典并将所有对象和键添加到一个大字典中。

于 2012-08-27T13:40:26.643 回答