core-data NSDate поиск уникальных дней и сортировка - PullRequest
0 голосов
/ 12 апреля 2010

Много информации о NSDates о месте, но я не нашел четкого решения для этого.

У меня есть список Event сущностей, каждая из которых потенциально может иметь множество EventSessionTime с.

Event <--- >> EventSessionTime

В 1 табличном представлении я хочу отобразить уникальный список дней с Events, в другом табличном представлении я хочупоказывать события в определенный день (упорядоченный по времени).

Для достижения этого у меня в настоящее время есть 2 NSDates - день и время - и некоторые слишком сложные поиск / сортировка.Я хочу удалить эту избыточную информацию.

Имея это в виду, как я могу:

1) Найти все УНИКАЛЬНЫЕ дни с событиями, не заботясь о конкретном времени

2) Поиск всех СОБЫТИЙ в определенный день (дубликаты в порядке здесь)

Любые советы о том, как лучше добиться этого, были бы великолепны.

Спасибо.

1 Ответ

2 голосов
/ 14 апреля 2010

У меня теперь есть следующие отношения. Все еще есть избыточная информация о дате ..

Event <--- >> EventSessionTime << -> EventDay

1) Поиск всех УНИКАЛЬНЫХ дней с событиями, не беспокойтесь о конкретном времени Я могу создавать конкретные даты, когда я знаю время. Локализованный характер моего приложения означает, что я могу сделать это безопасно.

...
[NSEntityDescription entityForName:@"EventSessionTime" inManagedObjectContext:self.managedObjectContext];
...
NSArray *res = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
[self myResultArray:[res valueForKeyPath:@"@distinctUnionOfObjects.eventDay.day"]];

Вы можете вывести мои атрибуты и имена отношений.

2) Поиск всех событий в определенный день (дублирует штраф здесь)

Я использую следующий предикат, чтобы найти все события в указанный день с. Не возвращает дубликаты

[NSPredicate predicateWithFormat: @"(SUBQUERY(eventTime, $x, $x.eventDay.day == %@).@count > 0)", <the day selected from the previous list>];
...