我有以下代码:
import RealmSwift
class MyClass:Object{
}
func test(){
let set = Set<MyClass>()
}
我收到编译时错误:输入&#39; MyClass&#39;不符合协议&#39; Hashable&#39;在这一行:
let set = Set<MyClass>()
MyClass扩展了Realm的类Object,它扩展了RLMObjectBase,扩展了NSObject。 NSObject符合Hashable。它在扩展名中声明。
为什么MyClass不会与Hashable混淆,因为它的一个超类符合它?
此外,如果我像这样添加Hashable:
class MyClass:Object, Hashable
然后错误消失了,但我的另一个colegue,谁在同一个项目上工作,得到编译时错误:
冗余协议一致性
此错误意味着子类声明与已从超类继承的协议的一致性。
有谁知道这里发生了什么?
答案 0 :(得分:0)
我将xCode从7.3更新到7.3.1并修复了问题。感谢jpsim的评论,他指出了我正确的方向。