Отношения против атрибутов в базовых данных - PullRequest
1 голос
/ 06 декабря 2009

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

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

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

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

1 Ответ

1 голос
/ 07 декабря 2009

Вы видели эту проблему только с вашим NSPopUpButton пользовательским интерфейсом? Возможно, вы неправильно настроили привязки. В Core Data достаточно назначить экземпляр соответствующей сущности для отношения. Вам не понадобится отдельный атрибут для хранения отношений.

Первое, что я проверю, это то, что привязка selectedObject связана с правильными отношениями.

...