0
我仍然在學習如何使用相關類型實現協議的對象數組。Swift協議和equatable
我有以下協議:
public protocol Word : Equatable, Hashable { // compiles
associatedtype WordType : Equatable
var moreWords: [WordType] { get }
}
public protocol WordDataSource { // compiles
associatedtype SomeWord : Word
func findWord(spelling: String) -> SomeWord?
}
我有WordA
,WordB
和WordC
所有執行Word
和子類NSObject
基本上,我想要實現使用不同種類的類實現數據源協議詞類。這是我想寫的那種代碼,但顯然它不能編譯。
class MyDataSource : WordDataSource {
func findWord(spelling: String) -> SomeWord? {
if conditionA {
return WordA()
}
if conditionB {
return WordB()
}
if conditionA {
return WordC()
}
}
}
這甚至可能在Swift中嗎?我應該寫什麼來完成這項工作?
非常感謝您的幫助!