我是自學成才的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
我會在一次迭代中將它直接添加到字典中。 –