0
我有以下代碼:斯威夫特協議一致性未檢測
import RealmSwift
class MyClass:Object{
}
func test(){
let set = Set<MyClass>()
}
我得到一個編譯時錯誤:類型「MyClass的」不符合協議「哈希的」在這條線:
let set = Set<MyClass>()
MyClass擴展了Realm的類Object,它擴展了擴展NSObject的RLMObjectBase。 NSObject符合Hashable。它在擴展中聲明。
爲什麼MyClass從它的超類中的一個符合它,就不能實現Hashable?
而且,如果我補充哈希的是這樣的:
class MyClass:Object, Hashable
然後錯誤消失,但我的另一個colegue,誰在同一個項目工作,得到一個編譯時錯誤:
redundant protocol conformance
這個錯誤意味着一個子類聲明已經從一個超類繼承的協議的一致性。
有人知道這裏發生了什麼嗎?
如果兩臺計算機的行爲不同,可能是Xcode緩存問題,請嘗試清理項目並刪除派生數據。 –
這已在Swift編譯器中修復。請參閱https://github.com/realm/realm-cocoa/issues/2519 – jpsim