Ну, я предполагаю, что у вашего DiaryEntry есть свойство date. Вот быстрая и грязная версия, вы можете сделать это намного лучше.
NSMutableDictionary *map = [[[NSMutableDictionary alloc] init] autorelease];
NSMutableArray *array;
for (DiaryEntry *entry in myArray) {
array = [map objectForKey:entry.date];
if (!array) {
array = [[[NSMutableArray alloc] init] autorelease];
[map setObject:array forKey:entry.date];
}
[array addObject:entry];
}
Я бы дважды проверил код для имен методов / компиляции ... Я здесь вроде как, но в основном:
Перейти по списку. Для каждой найденной записи посмотрите, есть ли массив, связанный с этой датой. Если нет, создайте его. Добавьте к этому массиву.
Примечание Возможно, вы захотите изменить структуру на массив ... если вы не проживаете в стране более 7 дней, вы можете хранить массив, хранящийся в определенном порядке. Я стараюсь максимально избегать структур карты, если у меня нет тонны объектов, и я хочу быстрый поиск.