Как добавить дополнительные объекты со списком извлеченных объектов в контроллере результатов? - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть объект под названием «Событие», у которого есть свойства даты начала и окончания. Я должен показать список событий, сгруппировав их по дате в пользовательском интерфейсе. Я использую NSFetchedResultsController для получения и перечисления событий.

Давайте предположим, что событие имеет дату начала сегодня и дату окончания завтра, здесь мне нужно показать это событие в две разные даты в пользовательском интерфейсе, но у меня будет только одна запись в базе данных.

Я действительно не хочу создавать несколько записей для события, а также хочу использовать контроллер результатов выборки, так как он сокращает ручной расчет лота. Есть ли способ решить это?

1 Ответ

1 голос
/ 18 апреля 2019

NSFetchedResultsController хорошо справляется с сопоставлением NSManagedObjects с indexPaths для tableView. Однако сопоставление один к одному, поэтому любое данное Событие может появляться только один раз в indexPaths. Чтобы достичь того, что вы хотите, вам нужно создать новую сущность, скажем EventDate, с отношением ко многим от Event до EventDate. Определите строковый атрибут, который отображает дату в начале или в конце события. Затем основывайте свой FRC на EventDate сущности. Хотя каждая EventDate будет отображаться только один раз, несколько EventDate могут относиться к одному событию. Обратная связь между EventDate и Event позволит вам получить доступ к деталям одного события из нескольких EventDate.

...