gpt4 book ai didi

swift - 无法修复从 NSObject 派生的类的哈希性

转载 作者:行者123 更新时间:2023-11-30 10:39:21 31 4
gpt4 key购买 nike

final class Foo: NSObject, NSFileProviderItem
{
public func hash(into hasher: inout Hasher)
{
hasher.combine(itemIdentifier)
}
}

产生快速编译器错误:

重写其定义模块之外的非开放实例方法

不支持覆盖扩展中的声明

有没有办法修复 NSObject 的哈希性?我在 Sets 中得到 Foo 实例的重复项,这正是我想避免什么。

最佳答案

在这里找到修复:

https://forums.swift.org/t/xcode-10-gm-hash-into-issue-from-nsobject-class/16141/2

public override var hash: Int {
var hasher = Hasher()
hasher.combine(itemIdentifier)
return hasher.finalize()
}

这似乎是 NSObject subclass in Swift: hash vs hashValue, isEqual vs == 的重复

关于swift - 无法修复从 NSObject 派生的类的哈希性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57206481/

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