【发布时间】:2016-07-23 13:12:14
【问题描述】:
我有一个我正在尝试专门扩展的类型:AnyObserver<[MyModel]>。如果我没有将数组作为Element 传递,那么扩展将很容易,我可以这样做:
extension AnyObserver where Element: MyModel {...}
但是,实际上Element 是一个数组,所以我尝试执行以下任一操作:
extension AnyObserver where Element: Array<MyModel> {...}
extension AnyObserver where Element: Array<T: MyModel> {...}
extension AnyObserver where Element == Array<MyModel> {...}
extension AnyObserver where Element == [MyModel] {...}
这些会导致编译错误,例如:
Same-type requirement makes generic parameter non-generic
Type 'Element' constrained to non-protocol type
为这种情况创建扩展的正确方法是什么?
【问题讨论】:
标签: swift generics swift2 swift-extensions