根據(jù)model中的時間進行分組,重新構(gòu)造數(shù)據(jù)聪黎,方便多個section的tableview使用。
NSArray *list = @[model1,model2,mode3.....];
NSMutableDictionary *res = [NSMutableDictionary new];
for (WSModel *mm in list)
{
if (res[mm.date]){
[res[mm.date] addObject:obj];
}
else{
res[mm.date] = [NSMutableArray arrayWithObject:obj];
}
}
NSMutableArray *data = [NSMutableArray new];
for (NSString *key in res.allKeys) {
[data addObject:@{@"date":key,@"list":res[key]}];
}
輸出結(jié)果
{
date = "3月30日 周六";
list = (
"<WSModel: 0x283674fa0>"
);
},
{
date = "8月6日 周二";
list = (
"<WSModel: 0x2836446e0>"
);
},
{
date = "8月1日 周四";
list = (
"<WSModel: 0x2836448c0>",
"<WSModel: 0x283644960>"
);
},
補充說明,這樣順序可能會亂猬膨,需要把res.allkeys重新排下順序
NSArray *sortKeys =[res.allKeys sortedArrayUsingComparator:^NSComparisonResult(NSString *obj1, NSString *obj2) {
return [obj1 compare:obj2];
}];
for (NSString *key in sortKeys) {
[data addObject:@{@"date":key,@"list":res[key]}];
}