- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想不使用 Cocoa 绑定(bind)来实现大纲 View 。
我查看了this tutorial其中有一些,但没有一个使用数据源方法
optional func outlineView(_ outlineView: NSOutlineView,
objectValueFor tableColumn: NSTableColumn?,
byItem item: Any?) -> Any?
但是,Apple 的 documentation状态:
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.
对于教程来说,如果没有该方法,它似乎也可以工作。 但是它有什么用处以及应该如何使用它?
(令我困惑的是,它读起来像是应该返回一个数据对象,但它传递了一个 item
参数作为输入,其中 是一个数据对象我的理解。)
最佳答案
NSTableView
/NSOutlineView
而且它的文档一团糟。
byItem
outlineView(_:objectForValue:byItem:)
的参数是行代表的对象,返回值是单元格代表的对象。比较 tableView(_:objectValueFor:row:)返回值为
An item in the data source in the specified table column of the view.
另请参阅the objectValue property of NSTableCellView
The object that represents the cell data.
The objectValue is automatically set by the table when using bindings or is the object returned by the NSTableViewDataSource protocol method tableView(_:objectValueFor:row:).
实际上在绑定(bind)表格 View 内容时,objectValue
是行对象。
NSOutlineView.h 说 outlineView(_:objectValueFor:byItem:)
:
NOTE: this method is optional for the View Based OutlineView.
苹果的文档
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.
仅对基于单元格的大纲 View 有效。
如果您在outlineView(_:viewFor:item:)
中的单元格中设置控件的值那么你不必实现 outlineView(_:objectValueFor:byItem:)
.
实现outlineView(_:objectValueFor:byItem:)
如果您想使用objectValue
单元格 View 的属性。例如,当绑定(bind)单元格中控件的值而不绑定(bind)大纲 View 的内容时。
关于macos - 我真的需要实现outlineView(_ :objectForValue:byItem:)? 如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55557440/
我想不使用 Cocoa 绑定(bind)来实现大纲 View 。 我查看了this tutorial其中有一些,但没有一个使用数据源方法 optional func outlineView(_ out
我是一名优秀的程序员,十分优秀!