Swift标头的Sink协议定义为
protocol Sink {
typealias Element
func put(x: Element)
}
什么是Sink协议,它应该用于Swift和Cocoa设计模式?
我能说出的唯一可以实现此协议的是
struct IntEncoder : Sink {
var asInt: UInt64
var shift: UInt64
func put(x: CodeUnit)
}
答案 0 :(得分:3)
接收器(如"厨房接收器")代表生产者/消费者对的消费者方。它是一个抽象的接口,只接受某种输入。因此,任何产生对象的东西都可以被赋予Sink
作为传递对象的方式。这是生产者需要了解消费者传递对象的最少知识。
队列和集合是仅存储输入的简单接收器的示例。网络连接或记录器可以充当立即处理输入的接收器。