Собранные свойства, взаимосвязи между магазинами - PullRequest
1 голос
/ 02 августа 2009

У меня есть хранилище, которое синхронизируется извне, и хранилище, которое является уникальным для экземпляра приложения, поэтому для четкого разграничения двух я хочу иметь несколько объединяемых сущностей между ними, а затем разрешить до сущностей между использованием Полученные свойства, как «обсуждено» в Руководстве по программированию основных данных:

developer.apple.com / документация / Какао / Концептуальный / CoreData / Статьи / cdRelationships.html # // apple_ref / DOC / UID / TP40001857-SW5

Я думаю, что я просто не понимаю, как должны использоваться Fetched Properties - и я потратил немало часов на поиски примеров без реальной удачи.

Я так думаю об этом,

У меня есть следующие сущности в каждом магазине Foo с атрибутом relatedBarName в хранилище A Bar с атрибутом barName в магазине B

Мне нужно создать извлеченное свойство в Foo с именем findRelatedBar , которое связывает Foo с Bar свободно через barName = relatedBarName .

Однако я не понимаю, как с тех пор, как Foo и Bar находятся в разных магазинах, как объявлять любые отношения любого рода, будь то через свойство fetched или нет, из Foo до Бар ?

Кажется, что построитель предикатов в XCode хочет объект Destination. Если они находятся в разных схемах, как вы можете объявить пункт назначения? Если вы не объявляете пункт назначения, как вы указываете во время выполнения, что findRelatedBar на Foo описывает Bar ?

В противном случае они должны находиться в одной и той же схеме, но просто храниться в разных магазинах?

  • При разработке этого вопроса я подумал об этих вопросах и сам ответил на них более целенаправленным изучением документации. Я полагаю, что если меня это смущает, другие тоже могут, поэтому я добавлю их в этот пост, чтобы упростить поиск связанных ответов на извлеченные свойства / основные хранилища данных.

В) Если с координатором магазина связано более одного магазина с одной и той же схемой, как вставки узнают, в какое хранилище вставить?

A) В контексте управляемого объекта используется метод assignObject: toPersistentStore:.

Q) Что конкретно означает FETCH_SOURCE ?

A) Это просто управляемый объект, с которым связано свойство fetched. Вроде как " self "

Q) Что конкретно означает FETCHED_PROPERTY ?

A) Это ссылка на извлеченный экземпляр описания свойства, который вы используете для запроса - вы можете использовать его для вставки в подстановку переменной запроса. Установив свойство (как в примере «Программирование базовых данных») в userInfo используемого вами описания описания свойства, вы можете вставить это значение в выражение.

Спасибо !!!!

Ответы [ 2 ]

0 голосов
/ 06 июля 2010

Q) Если у координатора магазина есть больше чем один магазин, связанный с ним та же схема, как делают вставки знаете, в какой магазин вставить?

Это то, для чего нужны конфигурации. Вы создаете конфигурацию для каждого хранилища, а затем назначаете объекты для этой конфигурации. Затем вы создаете магазин с правильной конфигурацией. Когда вы сохраняете контекст, каждая сущность автоматически попадает в правильное хранилище.

0 голосов
/ 09 августа 2009

Ответ:

Да, вам нужно создать свойство перекрестной выборки с общими схемами. Если вы сделаете это, вы должны убедиться, что вы атрибутировали вставки с помощью метода assignObject ::, как описано в вопросе. Однако из-за ограничений постоянного хранилища SQLLITE естественные вещи, такие как IN $ FETCH_SOURCE.attribute, не работают.

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