Как связать один и тот же файл XIB с различными основными объектами данных - PullRequest
0 голосов
/ 30 марта 2012

У меня есть 4 сущности в моих основных данных с той же родительской сущностью.У них почти одинаковые свойства.

Мне нужно использовать один и тот же xib fie (панель для изменения свойств сущностей) для 3 из этих 4 сущностей.Оставшийся использует другую панель.Если пользователь выбирает больше сущностей, то же NSTextField используется для изменения соответствующих свойств во всех этих выбранных сущностях.

Как я могу связать объекты в моем файле xib с разными сущностями, если я привяжу ихродительская сущность?(В родительском я не все свойства, хотя).

У меня много текстовых полей в xib-файле, их программная привязка была бы довольно большой работой.Связывание в конструкторе интерфейсов намного проще.

спасибо

1 Ответ

0 голосов
/ 31 марта 2012

Предполагая, что вы используете какой-то контроллер в IB (NSArrayController или NSObjectController) для управления вашими сущностями, вы можете создать розетку для этого контроллера в вашем контроллере представления.

Затем в методе awakeFromNib вы можете сделать:

switch (myChoosenEntity) {
  case 1:
    [[self myEntityController] setEntityName: @"MyFirstEntity"];
    break;
  case 2:
    [[self myEntityController] setEntityName: @"MySecondEntity"];
    break;
  default:
    break
}

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

...