Предположит, я пишу социальный медиа искателю, что дескриптор несколько учетных записей (например, Facebook, Twitter и т.д.)Как ограничить тип Generator.Element в Протоколе расширение SequenceType
Я определяю несколько протоколов для сообщений (Message
имеет отображаемое имя и тело сообщения, Timestamped
имеет временную метку, Forwarded
имеет исходный идентификатор сообщения и т. Д.).
я затем определить протокол для источника сообщений, которые я в настоящее время письменного
protocol MessageSource : SequenceType {
associatedtype MessageType : Timestamped
func messages (since : NSDate) -> Generator
}
Идея заключается в том, я могу получить n
самые последние сообщения в письменной форме msgSource.take(n)
и получить все сообщения с момента даты d
написав msgSource.messages(since : d)
Мой вопрос, как я могу ограничить Generator.Element
унаследованный от SequenceType
быть идентичны MessageType
, поэтому оба генератора гарантированно возвращает тот же тип.