Для предоставления данных для outline view нужно реализовать:
- outlineView:child:ofItem:
- outlineView:isItemExpandable:
- outlineView:numberOfChildrenOfItem:
- outlineView:objectValueForTableColumn:byItem:
Приложения которые принимают их данные через Cocoa bindings не нуждаются в реализации этих методов.
Для редактирования значений нужно реализовать:
- outlineView:setObjectValue:forTableColumn:byItem:
Когда эти вызываются эти методы, то nil в item ссылается на корневой элемент. NSOutlineView требует чтобы каждый item в outline view был уникальным. In order for the collapsed state of an outline view to remain consistent between reloads you must always return the same object for an item. When using Cocoa bindings to provide outline view content, there is no requirement to implement this method.
Note: Some of the methods in this protocol, such as outlineView:child:ofItem: and
outlineView:numberOfChildrenOfItem: along with other methods that return data, are
called very frequently, so they must be efficient.