Данные ядра какао: невозможно сохранить созданные элементы в NSTableview - PullRequest
0 голосов
/ 27 мая 2010

Я новичок в разработке для Mac OS X и пытаюсь начать все это.

Вот моя проблема: я создал приложение без какао на основе документов, использующее основные данные в качестве хранилища. Я добавил сущность и атрибуты в xdatamodel. В IB я создал NSArrayController и правильно связал его. Я создал nstableview, связанный с nsarraycontroller. Затем я добавил кнопку, связанную с nsarraycontroller с помощью метода «add:».

Когда я это пробую, я могу добавлять и редактировать элементы в таблице.

Здесь возникает проблема: данные ядра должны сохранять все автоматически, но чтобы убедиться, что я связал кнопку «Сохранить» в меню с приложением и с «владельцем файла», первым респондентом, приложением ... всем возможно (с использованием методов save: и saveaction:).

И все же он не сохраняет при нажатии кнопки сохранения: при перезапуске созданная ячейка (и переименованная) исчезают.

А еще я даже не редактировал исходный код; Предполагается, что для основных данных для таких простых задач нужен только Интерфейсный конструктор.

Пожалуйста, помогите мне в этом, я не нашел ни одной темы, решающей эту проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 27 мая 2010

Чтобы сохранить изменения, вам нужно вызвать save: в контексте управляемого объекта.

Если вы посмотрите на пример CoreDataBooks, вы увидите, как они его так называют, в результате нажатия пользователем кнопки save:

- (IBAction)saveAction:(id)sender {

    NSError *error;
    if (![[self managedObjectContext] save:&error]) {
        // Update to handle the error appropriately.
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();  // Fail
    }
}
...