Ich möchte eine Erweiterung von ObservableType
erstellen, aber der folgende Code nicht kompilieren.RxSwift generische `Kann Wert des Typs nicht konvertieren '(_) -> [Any]' zu erwartetem Argumenttyp '(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())]
}
Es wirft einen Fehler: Cannot convert value of type '(_) -> [Any]' to expected argument type '(String) -> _'
Ich habe keine Ahnung, wo das Problem ist. Vielen Dank im Voraus
Wie wäre es, ich möchte gemischte Typen? – akabc
@akabc Ich habe die Antwort aktualisiert –
Ist es möglich, die Funktion 'foo' zu ändern, um den Client-Code ohne Fehler kompilieren zu lassen? – akabc