У меня есть проект Core Data.
По сути, у меня есть NSTableView, куда я добавляю некоторые сущности (используя селектор "add:"), двойной щелчок по TableView открывает новое окно NSWindow, где можно редактироватьсущность, использующая некоторые NSTextFields.Каждое текстовое поле привязано к атрибуту объекта.
Все работает нормально, за исключением того факта, что атрибуты объекта обновляются только тогда, когда текстовое поле теряет фокус.
Если я пишу напервое текстовое поле и затем я перехожу ко второму, моя запись сохраняется, но если я пишу в первом текстовом поле и закрываю окно, я теряю свои изменения .
Как можноЯ обновляю свой основной объект данных, как только я что-то напишу в текстовом поле?Должен ли я использовать textDidChange: ?
--- ОБНОВЛЕНИЕ ---
К сожалению [сохранение контекста] не работает.Если я правильно понимаю, сущность не изменена до тех пор, пока NSTextField не уйдет в отставку первым респондентом.
На данный момент единственным рабочим решением является что-то вроде:
(void)controlTextDidChange:(NSNotification *)aNotification
{
NSTextField *tf = [aNotification object];
[self.window makeFirstResponder:tf];
}
, но этодовольно не элегантный, и в любом случае мне все еще нужно переустановить курсор в конце NSTextField.