我有一个NSDictionary,我想按日期分组创建一个对象数组
主要NSDictionary的例子:
({
date = "2014-04-27";
group = "yellow.png";
length = 180;
},
{
date = "2014-04-28";
group = "blue.png";
length = 180;
},
{
date = "2014-04-27";
group = "blue.png";
length = 120;
})
我想将类似的内容分组为:
2014-04-27 = (
{
date = "2014-04-27";
group = "yellow.png";
length = 180;
},
{
date = "2014-04-27";
group = "blue.png";
length = 180;
})
2014-04-28 = ( {
date = "2014-04-28";
group = "blue.png";
length = 120;
})
有人可以帮助我吗?我尝试了很多FOR,但我无法得到它
答案 0 :(得分:5)
看起来好像您的原始数据结构是一个字典数组。你的问题是不正确的?我看到每个单独的字典,但它们没有键入顶级数据结构中的任何内容。
假设是这种情况(你有一个名为originalArray
的数组
NSMutableDictionary *dictionaryByDate = [NSMutableDictionary new];
for(NSDictionary *dictionary in originalArray)
{
NSString *dateString = dictionary[@"date"];
NSMutableArray *arrayWithSameDate = dictionaryByDate[dateString];
if(! arrayWithSameDate)
{
arrayWithSameDate = [NSMutableArray new];
dictionaryByDate[dateString] = arrayWithSameDate;
}
[arrayWithSameDate addObject: dictionary];
}
到此结束时,dictionaryByDate
将成为数组的字典(键入日期)(给定数组中的所有对象都将是具有相同日期的字典)。