2012-04-05 3 views
0

У меня есть 2 сущности, связанные отношениями «многие ко многим».Добавление отношения ко многим/многие-ко многим основным данным

Thing<<->>Tag 

Существует один NSArrayController управления сущности "Tag", связанный с managedObjectContext. Контроллеры массива добавляют: и удаляют: действие я могу добавить экземпляры тега в коллекцию.

Существует второй NSArrayController, который контролирует объекты Thing, также связанные с управляемым объектом ObjectContext.

Таким образом, каждый из контроллеров управляет всеми экземплярами своего объекта.

Теперь предположим, что есть 5 «тегов» и 3 «вещественных» экземпляра, уже созданных их контроллерами массива.
Я хотел бы связать отдельные теги с вещами. Я просто хочу создать связь между существующей вещью с существующим экземпляром тега.

  • Является ли addObject: NSArrayController правильным методом для этого? Или он создает новый управляемый объект?

  • было бы эквивалентно:

    NSMutableSet *tags = [aThing mutableSetValueForKey:@"tags"]; 
    [tags addObject:existingTag]; 
    

    ?

  • Есть ли какая-то лучшая практика для системы маркировки?

ответ

1

Я нашел полезным (в последней версии Xcode) выбрать объект в модуле основных данных, а затем перейти в меню файла и выбрать новый файл -> Основные данные -> Подкласс NSManagedObject , Он автоматически создает класс с необходимыми элементами И ТАКЖЕ методы для добавления объектов в отношения toMany.

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

+0

Большое спасибо. Будет ли это таким же, как использование NSArrayController с ist add: method? – bijan

+1

Добавление объекта в NSArrayController сообщает об этом NSArrayController. Если вы хотите, чтобы добавленный объект был видимым в пользовательском интерфейсе, вам нужно это сделать. Отдельно вам нужно добавить «тег» в свою «вещь» и «вещь» в «тег». Здесь появляются автоматические методы добавления. – DRVic

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