仅当元素类型是特定类型时才扩展Array

时间:2015-09-22 19:39:11

标签: swift

我想仅在其元素属于特定类型时才扩展数组类型。在这种情况下,我使用的是EKCalendar实例。

这不起作用:

public extension Array where Generator.Element : EKCalendar{

}

但是这样做:

public extension CollectionType where Generator.Element : EKCalendar{

}

为什么我只能使用协议执行此操作?

1 个答案:

答案 0 :(得分:3)

在延长Array时,您无法访问Generator.Element,因为它是CollectionType协议的一部分,您需要使用Element

public extension Array where Element: EKCalendar {
   //....
}