NSOutlineView 不调用数据源方法

NSOutlineView doesn't call the data source methods

简单问题:NSOutlineView没有调用数据源方法。

数据源在 Interface Builder 中正确连接到正确的 class 对象。

它是基于细胞的。 我以前实现过很多 NSOUtlineViews,不知道这个有什么问题。

可能是什么原因?

- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item

好的,几个小时后我想通了。这个方法不是我想的可选:

- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item

必须实现,否则不会调用其他的,如下文档中所写,很少。

IMPORTANT While this method is marked as @optional in the protocol, you must implement this method if you are not providing the data for the outline view using Cocoa bindings.