我想仅在其元素属于特定类型时才扩展数组类型。在这种情况下,我使用的是EKCalendar实例。
这不起作用:
public extension Array where Generator.Element : EKCalendar{
}
但是这样做:
public extension CollectionType where Generator.Element : EKCalendar{
}
为什么我只能使用协议执行此操作?
答案 0 :(得分:3)
在延长Array
时,您无法访问Generator.Element
,因为它是CollectionType
协议的一部分,您需要使用Element
:
public extension Array where Element: EKCalendar {
//....
}