gpt4 book ai didi

swift - 在 NSOutlineView 中使用 Swift 结构

转载 作者:搜寻专家 更新时间:2023-11-01 07:17:49 26 4
gpt4 key购买 nike

我正在尝试使用 Swift 结构作为其项目来填充 NSOutlineView。这有效,除了 row(forItem:) 方法,它总是返回 -1。我已确保我的结构符合 Equatable 并且我实现了 isEqual 函数。 NSOutlineView 仍然找不到任何项目的行。

如果我将我的结构转换为一个类(不是 从 NSObject 派生),它就可以正常工作。即使不符合 Equatable 或实现任何 isEqual 功能。

我认为 Swift 中的类和结构基本相同,只是一个是引用类型,另一个是值类型。

我需要实现什么才能将 Swift 结构用作 NSOutlineView 中的项目?

最佳答案

macOS 10.14 的发行说明指出,如果 Swift 值类型同时符合 Equatable 和 Hashable 协议(protocol),NSOutlineView 将成功使用该值类型。

但是,如果您针对较旧的 SDK 进行构建,则值类型确实无法与 NSOutlineView 一起使用。

关于swift - 在 NSOutlineView 中使用 Swift 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41056547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com