NSOutlineView
に項目としてSwift構造体を設定しようとしています。これは、row(forItem:)
メソッドを除き、常に-1を返します。 私は構造体がEquatable
に適合し、isEqual
関数を実装していることを確認しました。まだNSOutlineView
はどの項目の行も見つけられません。NSOutlineViewでSwift構造体を使用
構造体をクラスに変換すると(ではなく、NSObjectから派生した)、すべて動作します。 Equatable
に準拠していなくても、isEqual
の機能を実装しなくても。
私は、Swiftのクラスと構造体は、参照型と値型の2つ以外は基本的に同じだと考えました。
Swift構造体をNSOutlineView
のアイテムとして使用するためには、どのような実装が必要ですか?