2009-12-03 2 views
2

Я настраиваю окно редактирования для игрока, чтобы редактировать его пользовательские данные. У меня есть все поля в форме редактирования, привязанные к соответствующему объекту Core Data (через NSArrayController), и у меня есть способ , установленный для обработки вызова записи, но я не уверен, что положить внутрь метод для получения записи.Вызов определенной записи в Core Data

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

ответ

2

Вы должны посмотреть на использование NSObjectController или NSArrayController, а не на привязку непосредственно к NSManagedObject. Контроллеры работают правильно с привязками, и ваши данные будут хорошо отображаться, а внесенные изменения будут передаваться через контроллер в ваш NSManagedObject.

Вы можете установить объект, используемый контроллером в вашем awakeFromNib. На NSArrayController используйте сообщение setSelectionIndex:(NSUInteger) index, а затем, чтобы избежать пустого выбора, отправьте сообщение setAvoidEmptySelection:TRUE

Надеюсь, что это поможет.

+0

А, наверное, я должен был прояснить оттенок. У меня есть объект, связанный с контроллером массива и контроллером, связанным с полями, как вы предположили. Моя цель здесь, в конечном счете, состоит в том, чтобы гарантировать, что есть хотя бы одна запись в объекте, чтобы я не получал 'No Selection', появляющийся во всех полях. – Kaji

+1

Вы можете указать NSArrayController выбрать один, используя индекс, и вы можете сказать, чтобы он не выбрал ничего. Проверьте документацию. –