我在outlineView:viewForTableColumn:item:
代表中看到了reference到NSOutlineView
。我有一个Mac应用程序,它被苹果代码使用和调用(我可以在方法中放置一个断点并在堆栈中看到它)。但我无法在任何地方找到相关文档。它不在Apple NSOutlineViewDelegate或NSOutlineViewDataSource的文档中。但是,在我的项目中的NSOutlineView.h中(在AppKit框架的标题中),上面的注释引用了tableView:viewForTableColumn:row:
中的NSTableViewDelegate
。
为什么这种方法(不是从NSTableView
继承,因为它的签名与tableView:viewForTableColumn:row:
不同)没有记录?任何人都可以澄清或发布详细信息吗?
答案 0 :(得分:0)
NSOutlineView
是NSTableView
的子类。 NSTableView
的所有文档也适用于NSOutlineView
。
您需要阅读所有超类的文档,以了解可以向NSOutlineView
发送的方法。您还需要阅读适用于NSOutlineView
及其所有超类的所有类别和协议的文档。
如果所有内容都记录在一个页面中,那么它将是几百兆字节的文本。您可以向NSOutlineView
发送数以万计的有效邮件,主要是NSObject
上添加的类别。
例如,frame
页面中记录了NSView
方法。 initWithCoder:
页面中记录了NSCoding protocol
方法。您需要了解这些方法,因为frame
是更改大纲视图大小的唯一方法,initWithCoder:
是在从xib文件创建大纲视图时将使用的构造函数 - 所以,如果你创建一个子类,那么你必须覆盖它。
使用命令单击和/或选择 - 单击方法名称以查找文档中的位置。另请注意,NSTableView
上的某些内容不适用于NSOutlineView
。我不确定viewForTableColumn是否是其中之一。