从Core Data中删除选定的NSTableView行?

时间:2009-12-21 02:36:02

标签: objective-c cocoa core-data nstableview

如何删除所选的NSTableView行及其相应的Core Data条目?

2 个答案:

答案 0 :(得分:6)

假设您的NSTableView绑定到NSArrayController(这是处理核心数据时最常见的模式),您可以使用NSArrayController的{​​{3}}方法:

[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 :(得分:1)

您可以使用tableView:setObjectValue:forTableColumn:row:的{​​{1}}方法删除该行,然后使用NSTableViewDataSource的{​​{1}}方法强制更新该表。