0

我有以下代码:

import RealmSwift
class MyClass:Object{

}
func test(){
    let set = Set<MyClass>()
}

我收到一个编译时错误:在这一行中,类型“MyClass”不符合协议“Hashable”:

let set = Set<MyClass>()

MyClass 扩展了 Realm 的类 Object,它扩展了 RLMObjectBase,它扩展了 NSObject。NSObject 符合 Hashable。它在扩展中声明。

为什么 MyClass 不符合 Hashable ,因为它的超类之一符合它?

此外,如果我像这样添加 Hashable :

class MyClass:Object, Hashable

然后错误消失了,但我的另一位同事,他在同一个项目上工作,得到一个编译时错误:

冗余协议一致性

此错误意味着子类声明符合已从超类继承的协议。

有谁明白这里发生了什么?

4

1 回答 1

0

我将 xCode 从 7.3 更新到 7.3.1 并解决了问题。感谢 jpsim 的评论,他为我指明了正确的方向。

于 2016-08-11T07:11:44.757 回答