我是自学成才的Objective-C,正在练习并尝试学习使用在线课程和堆栈溢出。但是我已经击中了僵局:Obj-c - 如何将字符串的NSMutableArray转换为NSMutableDictionary,同时组合'like'键和汇总它们的对象值
由用户输入提交(采摘一天提供的值)产生该阵列。我目前正在服用这些来自用户的默认值 - 提供的价值是动态的,这些都是例子:
NSMutableArray * arrayData;
arrayData = (NSMutableArray *) [[defaults objectForKey:@"uploadInputs"]mutableCopy];
// Here is an example of arrayData
arrayData = "10/09/2017,05","12/09/2017,24","13/09/2017,05","13/09/2017,07","13/09/2017,02"
我希望把它变成与日期为重点和对象值的字典。当有一个类似的键时,我想对对象中的值进行求和。因此,所需的输出将是:
{
"10/09/2017" = 05;
"12/09/2017" = 24;
"13/09/2017" = 14;
}
不过我目前得到的是:
{
"10/09/2017" = (
05
);
"12/09/2017" = (
24
);
"13/09/2017" = (
05,
07,
02
);
}
我做了什么:
NSMutableDictionary *dictTest3 = [[NSMutableDictionary alloc] init];
for (NSString *item in arrayData) {
NSString *key = [[item componentsSeparatedByString:@","] firstObject];
if(!dictTest3[key]){
dictTest3[key] = [NSMutableArray new];
}
[dictTest3[key] addObject:[[item componentsSeparatedByString:@","] lastObject]];
}
NSLog(@"dictTest3: %@ ",dictTest3);
我试图按照所提供的一些步骤CRD,简化了代码 - 我与此刻现在总结为具有相同关键字创建的NSMutableArray挣扎什么。
我可以针对字典中的NSMutableArray? 是这样的事情?
NSMutableArray *fuBar = ;
NSInteger sum = 0;
for (NSNumber *num in fuBar)
{
sum += [num intValue];
}
05是不是一个整数你怎么会总结呢? – user3344236
我打算通过将其转换为[x intValue]来处理这个问题。我想我甚至可以领先我的自我,梳理像钥匙这样的对象,所以“13/09/2017”= 05,07,02; – Michowl
我会在一次迭代中将它直接添加到字典中。 –