cocoa - 连接到专用 Controller 时不调用 NSTableView 委托(delegate)

标签 cocoa nstableview

为了能够自定义 NSTableview 的一些行为,我创建了这个新类来充当 TableView 的 Controller 。

@interface aTableViewController : NSObject<NSTableViewDelegate>

@end
@implementation aTableViewController    
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
    return 1;
}

- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
    return @"something";
}

- (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{}

@end

现有的 TableView 绑定(bind)到 NSArrayController 来获取数据,效果很好。我使用 NSObject 来引用 IB 中的 aTableViewController,并将 TableView 的委托(delegate)连接到该 Controller 对象。然而,这些代表都没有被召集。

有什么建议吗?谢谢!

最佳答案

My NSTableview is view-based instead of cellbased. That's why tableView:willDisplayCell:forTableColumn:row: never gets called

对于基于 View 的tableview,您可以使用

func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
}

关于cocoa - 连接到专用 Controller 时不调用 NSTableView 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641170/

相关文章:

cocoa - 将核心数据实体绑定(bind)到 NSTableView : Model Key not working

swift - 将 NSMenu 添加到右键单击弹出的 NSTableCellView

objective-c - 带有 NSTableview 的新 NSWindow 崩溃

objective-c - cocoa 教程麻烦

macos - 启用 "Use keyboard navigation"会导致 NSTableView 困惑

快速插入行并带有动画效果

macos - NSTableView 中的悬停效果问题

objective-c - Mail.app 喜欢源列表页脚

swift - nsprintoperation - 检查用户选择了什么

objective-c - 无法从委托(delegate)访问 UI?