Удалить выбранную строку NSTableView из Core Data? - PullRequest
0 голосов
/ 21 декабря 2009

Как удалить выбранную строку NSTableView и соответствующую ей запись Core Data?

Ответы [ 2 ]

6 голосов
/ 21 декабря 2009

Предполагая, что ваш NSTableView связан с NSArrayController (который является наиболее распространенным шаблоном при работе с базовыми данными), вы можете просто использовать метод NSArrayController s remove::

[theArrayController remove:self];

Это удалит все объекты, выбранные в контроллере массива.


В противном случае, если вы не связаны с NSArrayController, вам придется иметь дело с выбранным объектом напрямую. Не зная, как вы заполняете свой tableView, я не могу показать весь необходимый код, но, вероятно, вы можете найти, какой NSManagedObject выбран. Если у вас есть этот объект, его легко удалить:

NSManagedObjectContext *moc = the managed object context for your objects;
NSManagedObject *selectedObject = the currently-selected object;
[moc deleteObject:selectedObject];
1 голос
/ 21 декабря 2009

Вы можете удалить строку, используя метод tableView:setObjectValue:forTableColumn:row: из NSTableViewDataSource, а затем принудительно обновить таблицу, используя метод reloadData из NSTableView.

...