在Swift中,我们可以编写通用项目的扩展,例如序列:
extension Sequence where Iterator.Element : ObservableType { }
这将保证扩展仅适用于(在这种情况下)RxSwift可观察量的序列.
但是,如果元素约束是另一个泛型,那么你可以约束那个泛型吗?例如:
extension Sequence where Iterator.Element : ObservableType where E : MyType { }
在上面的伪代码(不起作用)中,意图是:
此扩展应该应用于Observable的序列,其中Observable是MyType类型的Observable,例如[Observable]