【发布时间】:2016-12-09 08:55:15
【问题描述】:
我正在尝试使用 Swift 结构作为其项目填充 NSOutlineView。这有效,但 row(forItem:) 方法除外,它总是返回 -1。
我确保我的结构符合Equatable 并且我实现了isEqual 函数。仍然NSOutlineView 找不到任何项目的行。
如果我将我的结构转换为一个类(不是从 NSObject 派生的),那么一切正常。即使不符合Equatable 或实现任何isEqual 功能。
我认为 Swift 中的类和结构基本相同,只是一个是引用类型,另一个是值类型。
我需要实现什么才能将 Swift 结构用作 NSOutlineView 中的项目?
【问题讨论】: