2012-05-09 4 views
0

У меня было 4 UITableView, которое представляет 4 вкладки из моего UITabBar. Поэтому у меня есть уникальный пользовательский TableViewController, который управляет каждым экраном в зависимости от объекта (на CoreData), который он должен отображать. Для извлечения элементов из CoreData я использую NSFetchedResultsController.Слияние 2 экрана с двумя объектами

Но моя проблема заключается в том, что по соображениям маркетинга мне нужно объединить 2 экрана, что означает отображение 2 объектов на одном экране. Поэтому я должен извлекать элементы из двух разных объектов. У меня также есть абстрактный объект «Элемент», который является SuperClass, который я использую в своем TableViewController для управления абстрактными объектами.

Какое оптимальное решение?

  • Должен ли я переписать мою модель, чтобы объединить эти 2 сущности (это проблема, потому что 2 сущности немного отличаются)
  • Могу ли я сказать, к моему NSFetchedResultsController принести 2 сущности? Как ?
  • Могу ли я передать свой NSFetchedResultsController для извлечения элемента элемента, а затем для предикации этих объектов? Как ?

Заранее благодарю вас!

ответ

0

Наконец-то я нашел решение, которое я не предлагал.

Я добавил новую абстрактную сущность, которая является суперклассом для 2, которые я хотел объединить, но который также является «элементом».

Так что мой ElementListViewController все еще показывает «Элементы», и я могу показать объединенную Entity для моего экрана.

Я сейчас работаю над переносом старой модели в новую.

Пусть этот пост будет полезным один день ...

0

Лучшим решением из трех было бы получить объект Element с правильным предикатом. NSfetchRequest может извлекать только один объект.

Я бы также рассмотрел другой подход, который удовлетворит ваши маркетинговые потребности. Вы могли бы просто выполнить два разных выборки и объединить результаты.

+0

Для первого решения, как вы говорите вашему предиката брать только SubElementA и SubElementB? Есть ли «предикат» в предикате? – THClem

+0

не то, что я знаю, но поскольку объекты разные, вы можете использовать это, чтобы различать их. –

Смежные вопросы