删除NSArrayController中的对象

时间:2010-01-15 02:26:12

标签: objective-c cocoa nstableview nsarraycontroller

我有NSTableViewNSArrayController获取数据,我需要删除当前选中的行。我知道NSManagedObjectContext有一个deleteObject:方法,但我想不出如何从NSArrayController删除它。

4 个答案:

答案 0 :(得分:3)

使用NSArrayController的{​​{3}}操作。

答案 1 :(得分:1)

以编程方式删除

[NSArrayController removeObjectAtArrangedObjectIndex:NSInteger];

[NSArrayController removeObjectAtArrangedObjectIndexes:NSIndexset];

答案 2 :(得分:0)

@ NewStack在Swift 3中的回答:

ArrayController.remove(atArrangedObjectIndex: Int)

答案 3 :(得分:0)

dreamlax,NewStack和styl3r的答案是正确的。但是,如果要在代码中执行此操作,则答案如下:

@IBOutlet var notesResultsController: NSArrayController!
@IBAction func deleteSelectedNote(_ sender: Any) {

    let selectedRow = tableView.selectedRow
    notesResultsController.remove(atArrangedObjectIndex: selectedRow)
}

将NSArrayController拖到ViewController上并连接其出口。 在界面中添加一个按钮,并将其操作关联到“ deleteSelectedNote”。