вот вам пример,
NSDateFormatter * df = [NSDateFormatter new];
for (id object in self.mainArray) {
[df setDateFormat:@"MM/dd/yyyy"];
NSString *dateString = [df stringFromDate:[object objectForKey:@"createdDate"]];
NSMutableArray *sectionArray = self.totalsSectionDictionary[dateString];
if (!sectionArray) {
sectionArray = [NSMutableArray array];
self.totalsSectionDictionary[dateString] = sectionArray;
}
NSString * tempString = [object valueForKey:@"category"]
[sectionArray addObject:@{@"value" : tempString}];
}
, в результате чего получается словарь объектов, объединенных датой в виде строкового значения, и внутри каждого из этих ключей даты находится массив значений для этой даты.Оттуда вам нужно вычленить эти значения и отсортировать их так:
NSArray * tempUnsortedArray = [self.totalsSectionDictionary allKeys];
NSArray *arrKeys = [tempUnsortedArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM/dd/yyyy"];
NSDate *d1 = [df dateFromString:(NSString*) obj1];
NSDate *d2 = [df dateFromString:(NSString*) obj2];
return [d2 compare: d1];
}];
NSMutableArray * tempArray1 = [NSMutableArray array];
for (NSInteger i = 0; i < arrKeys.count; i++) {
NSMutableArray *sectionArray = self.totalsSectionDictionary[arrKeys[i]];
}
там, где вы идете, последний цикл for позволит вам перебирать каждый массив разделов, сохраненный в исходном словаре по дате, такВы можете поместить их в коллекцию или таблицу
удачи