2010-05-27 3 views
0

Я начинаю разработку Mac OS X и пытаюсь начать все с этого.Cocoa Основные данные: не удается сохранить созданные предметы в NSTableview

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

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

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

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

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

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

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

ответ

0

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

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

- (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 
    } 
} 
+0

Я не понимаю, я должен создать «managedobjectcontext "объект в IB? Поскольку элемент меню сохранения связан со всем возможным с помощью функции «save:». Это все еще не работает. thanks, –

+0

Меню должно вызывать действие, подобное тому, которое я опубликовал в контроллере вашего приложения. Посмотрите пример кода. –

 Смежные вопросы

  • Нет связанных вопросов^_^