関連するタイプのプロトコルを実装しているオブジェクトの配列を操作する方法はまだ学んでいます。スイフトのプロトコルと同等のもの
私は次のプロトコルを持っている:
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
を実装していWordクラス。これは私が書きたいコードのようなものですが、明らかにコンパイルされません。
class MyDataSource : WordDataSource {
func findWord(spelling: String) -> SomeWord? {
if conditionA {
return WordA()
}
if conditionB {
return WordB()
}
if conditionA {
return WordC()
}
}
}
これはSwiftでも可能ですか?私はその仕事をするために何を書くべきですか?
ありがとうございました!