![](/img/trans.png)
[英]NSArray of NSDictionaries - merge dictionaries with same key value pair
[英]How to merge 2 NSDictionaries in NSMutableArray having same value in iOS?
我有一个带有NSDictionaries的NSMutableArray,格式如下
(
{
"login_id" = 95;
consDays = "Mon,Tue";
consEndTime = 12600000;
consStartTime = 9000000;
duration = 10;
id = 58;
isActive = 1;
},
{
"login_id" = 95;
consDays = "Wed,Thur";
consEndTime = 41400000;
consStartTime = 23400000;
duration = 10;
id = 59;
isActive = 1;
},
{
"login_id" = 98;
consDays = "Mon,Tue,Wed,Thur,Fri,Sat,Sun";
consEndTime = 45000000;
consStartTime = 9000000;
duration = 30;
id = 60;
isActive = 1;
},
我可以在这里看到前两个对象与“ login_id” 95相同,我需要合并内容并进行类似的操作
{
"login_id" = 95;
consDays = "Mon,Tue-Wed,Thur";
consEndTime = 12600000-41400000;
consStartTime = 9000000-23400000;
duration = 10;
id = 58;
isActive = 1;
},
我已经尝试过for循环,但不清楚
for(int i=0;i<[[arr valueForKey:@"data"] count];i++){
NSString *bloginId=[NSString stringWithFormat:@"%@",[[[arr valueForKey:@"data"] valueForKey:@"branchLogin_id"] objectAtIndex:i]];
for(int j=0;j<[[arr valueForKey:@"data"] count];j++){
NSString *firstId=[NSString stringWithFormat:@"%@",[[[arr valueForKey:@"data"] valueForKey:@"branchLogin_id"] objectAtIndex:i]];
NSString *secondId=[NSString stringWithFormat:@"%@",[[[arr valueForKey:@"data"] valueForKey:@"branchLogin_id"] objectAtIndex:j]];
NSLog(@"%@-%@",firstId,secondId);
if([firstId isEqualToString:secondId]){
NSLog(@"%@",[consultationDetailsArray valueForKey:@"branchLogin_id"]);
if([[consultationDetailsArray valueForKey:@"branchLogin_id"] containsObject:secondId]){
NSString *str=[NSString stringWithFormat:@"%@,%@",[[consultationDetailsArray valueForKey:@"consDays"] objectAtIndex:j],[[[arr valueForKey:@"data"] valueForKey:@"consDays"] objectAtIndex:j]];
NSLog(@"consDays %@",str);
}else{
[consultationDetailsArray addObject:[[arr valueForKey:@"data"] objectAtIndex:j]];
}
}
}
}
谁能帮我 ?
具有讽刺意味的是,我现在正在做同样的事情。 看起来最简单的方法是使用NSMutableDictionary。
// Assume two starting dictionaries.
dictionaryOne;
dictionaryTwo;
//
// Create a mutable copy of the first
NSMutableDictionary *merged = dictionaryOne.mutableCopy;
[merged addEntriesFromDictionary: dictionaryTwo];
//
// merged now contains all keys of both dictionaries
// keys that are in both dictionaries will have values
// from dictionaryTwo.
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.