2015-09-22 3 views
1

Я хочу расширить тип массива только тогда, когда его элементы имеют определенный тип. В этом случае я использую экземпляры EKCalendar.Расширение массива только тогда, когда тип элемента имеет определенный тип

Это не работает:

public extension Array where Generator.Element : EKCalendar{ 

} 

Но это делает:

public extension CollectionType where Generator.Element : EKCalendar{ 

} 

Почему я могу сделать это только с протоколом?

ответ

3

Выражая Array вы не можете получить доступ к Generator.Element, потому что это часть протокола CollectionType, вам нужно использовать Element:

public extension Array where Element: EKCalendar { 
    //.... 
} 
Смежные вопросы