extension Sequence where Iterator.Element : ObservableType {}
这将保证扩展仅适用于(在这种情况下)RxSwift可观察量的序列.
但是,如果元素约束是另一个泛型,那么你可以约束那个泛型吗?例如.:
extension Sequence where Iterator.Element : ObservableType where E : MyType { }
在上面的伪代码(不起作用)中,意图是:
此扩展应该应用于Observable的序列,其中Observable是MyType类型的Observable,例如[可观察]
解决方法 您可以将Iterator.Element限制为符合的类型ObservableType然后为Iterator.Element的关联类型E添加另一个约束:
protocol ObservableType { associatedtype E // ...}class MyType { }extension Sequence where Iterator.Element: ObservableType,Iterator.Element.E: MyType {}总结
以上是内存溢出为你收集整理的swift – 嵌套通用约束:限制泛型序列扩展中的泛型项的T,该扩展受限于该泛型类型全部内容,希望文章能够帮你解决swift – 嵌套通用约束:限制泛型序列扩展中的泛型项的T,该扩展受限于该泛型类型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)