Какао: основные данные + NSTableView

У меня настроено приложение для работы с основными данными, и все работает очень хорошо. Но есть одна маленькая проблема. Когда я вставляю новый объект в свою сущность, он переходит в мою NSTableViewCell, где я могу отредактировать его до нужного мне текста, но есть одна небольшая проблема: я могу редактировать ячейку, но не могу отменить выбор, чтобы сохранить ее. Что касается основных данных, он застрял в режиме редактирования, и единственный способ выйти из него - выйти из приложения, И он не сохраняет новое имя, которое я только что дал ему в своей ячейке.


person Matt S.    schedule 08.01.2010    source источник


Ответы (2)


Этот вид функций описан в учебных пособиях по Core Data, предоставляемых Apple. Это заставит вас использовать NSArrayController, который является очень полезным классом для синхронизации представления (NSTableView) и модели (Core Data).

Я считаю, что это отличное место, чтобы увидеть, как это работает: http://developer.apple.com/cocoa/coredatatutorial/index.html.

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

person Tom Duckering    schedule 08.01.2010
comment
Проблема не в этом. Все работает отлично и щекотливо, как кислая конфета, НО я не могу отменить выделение ячейки, когда добавляю новый объект - person Matt S.; 08.01.2010
comment
Специального кода нет (пока). Вот как настраиваются привязки: NSArrayCtrler для управляемого контекста obj Значение TableColumn для Arrayctrler tableviewCell значение для arrayctrler Я следовал этому руководству: cocoadevcentral.com/articles/000085.php - person Matt S.; 08.01.2010
comment
Взгляните еще раз на руководство, вы на самом деле ни к чему не привязываете NSTableViewCell. - person sosborn; 08.01.2010
comment
Но я использую его вместо NSTextField - person Matt S.; 08.01.2010
comment
Вы привязываете столбец, а не ячейку. Это позволит таблице позаботиться о режиме редактирования за вас. - person Marcus S. Zarra; 11.01.2010

Какой метод вы используете для подключения табличного представления к основному хранилищу данных? Привязки? Источник данных?

Я предполагаю, что вы вообще этого не реализовали. Если вы только начинаете, я предлагаю реализовать экземпляр NSTableViewDataSource.

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Protocols/NSTableDataSource_Protocol/Reference/Reference.html

person sosborn    schedule 08.01.2010
comment
Я не думаю, что NSTableViewDataSource требуется для Core Data при использовании NSArrayController, особенно когда требования просты. - person Tom Duckering; 08.01.2010
comment
Том, да, это не обязательно, но неплохо реализовать хотя бы один раз, чтобы лучше понять взаимодействие между хранилищем данных и представлением. Сказав это, ваша ссылка на видео Рентцша является хорошей и получает мой голос. - person sosborn; 08.01.2010