ObservableType
の拡張を作成したいが、コンパイル。RxSwiftジェネリック型 '(_) - > [Any]'を予想される引数型 '(String) - > _'`に変換できません
public extension ObservableType {
public func foo<C: Collection>(_ calls: @escaping (E) -> C) -> Observable<[Any]> where C.Iterator.Element: ObservableType {
return flatMap { input in Observable.zip(calls(input)) { objects in objects }
}
}
}
// compile error
Observable.just("foo")
.foo { foo in
[Observable.just(User()), Observable.just(Repo())]
}
これは、エラーがスローされます:Cannot convert value of type '(_) -> [Any]' to expected argument type '(String) -> _'
私は問題がある見当がつかない。事前に感謝します
私は混合タイプが必要ですか? – akabc
@akabc私は答えを更新しました –
'foo'関数を修正してクライアントコードをエラーなくコンパイルすることは可能ですか? – akabc