在NSTableVIew中作为复选框的NSButtonCell不会被选中

Ome*_*mer 5 cocoa objective-c nstableview nsbutton nsbuttoncell

我有一个NSTableVIew用于多选目的,有两列,第一列是NSButtonCell作为复选框,另一列是标题.

我们的想法是检查要添加到数组后面的项目.

问题是当我单击它们时复选框不会改变它的状态.我试图附加一个IBAction,但发送者de de action是TableView但不是复选框

关于如何实现这种功能的任何想法(或链接)?

Sco*_* K. 10

假设您正在使用a,NSTableViewDataSource您需要实现三种方法:

- (void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
Run Code Online (Sandbox Code Playgroud)

单击复选框时,将调用第一个方法.如果aTableColumn有您的复选框,您将保存新状态,即[anObject boolValue].

当表需要绘制一行时,它会调用第二种方法.当表列是您的复选框列时,返回您在第一个方法中保存的状态.

最后一个方法告诉表视图将有多少行.

有关详细信息,请参阅表数据源文档,但我在此处对此进行了总结.