Основные данные: проблема дизайна - PullRequest
0 голосов
/ 06 июня 2011

Я новичок в Core Data и экспериментирую с проблемой проектирования. Предположим, у меня есть две сущности: «Продукт» и «Имидж».

Сущность Image имеет атрибут с именем «type» (обычный, мини и т. Д.).

Мне бы хотелось, чтобы сущность Product имела атрибуты типа Image, такие как: miniImageList, normalImageList и т. Д. ... но я действительно не знаю, возможно ли это, учитывая, что в графическом редакторе XCode4 невозможно создать атрибут чей тип является объектом, ранее объявленным.

Единственное уродливое решение, которое я нашел, - это создать отношение «многие ко» между Product и Image. Поэтому у меня есть сгенерированный NSSet, который содержит все изображения, которые я хочу. Проблема с этим решением состоит в том, что мне нужно проверить тип изображения, которое я хочу (мини, нормальный) и т. Д., Что не очень удобно.

Если кто-то из вас знает, как решить эту проблему, пожалуйста!)

Надеюсь, я все понял, спасибо за чтение.

Ответы [ 2 ]

2 голосов
/ 06 июня 2011

Мне бы хотелось, чтобы сущность Product имела атрибуты типа Image, такие как: miniImageList, normalImageList и т. Д. ... но я действительно не знаю, возможно ли это, учитывая, что в графическом редакторе XCode4 невозможно создать атрибут чей тип является объектом, ранее объявленным.

Для этого вам нужно создать отношения. «Атрибут типа Image» - это, по сути, связь между Product и Image.

Более подходящим решением в вашем случае будет определение извлеченных свойств между Product и Image. Таким образом, miniImageList и normalImageList могут быть определены как извлеченные свойства, используя «фильтрацию», которую необходимо применить к вашему набору изображений. Однако важным ограничением извлекаемых свойств является то, что они не являются динамическими. Вам необходимо убедиться, что содержимое результирующего NSArray Image принимает во внимание последние добавления / удаления / модификации объекта Image.

0 голосов
/ 06 июня 2011

Либо разделите изображения разных размеров на сущности, либо вы расширяете вашу сущность изображения, чтобы она содержала разные размеры графики.

В этом случае лучше всего использовать второй метод.Продукт будет иметь простую ссылку на сущность изображения и его свойства.

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