我有一个用于多选目的的 NSTableVIew,它有两列,第一列以 NSButtonCell 作为复选框,另一列作为标题。
这个想法是检查要添加到数组后面的项目。
问题是当我单击它们时复选框不会改变其状态。我试图附加一个 IBAction,但发送者是表视图而不是复选框
关于如何实现这种功能的任何想法(或链接)?
我有一个用于多选目的的 NSTableVIew,它有两列,第一列以 NSButtonCell 作为复选框,另一列作为标题。
这个想法是检查要添加到数组后面的项目。
问题是当我单击它们时复选框不会改变其状态。我试图附加一个 IBAction,但发送者是表视图而不是复选框
关于如何实现这种功能的任何想法(或链接)?
假设您正在使用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
单击复选框时,将调用第一个方法。如果 aTableColumn 有您的复选框,您将保存新状态,即[anObject boolValue]
.
当表格需要绘制一行时,它会调用第二种方法。当表格列是您的复选框列时,返回您在第一种方法中保存的状态。
最后一个方法告诉表格视图会有多少行。
有关更多详细信息,请参阅表数据源文档,但我已经在这里做了很多总结。