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中吗?我应该写什么来完成这项工作?
非常感谢您的帮助!