Swift 标头将 Sink 协议定义为
protocol Sink {
typealias Element
func put(x: Element)
}
Run Code Online (Sandbox Code Playgroud)
什么是 Sink 协议,关于 Swift 和 Cocoa 设计模式,它应该用于什么?
我能说的唯一实现这个协议的是
struct IntEncoder : Sink {
var asInt: UInt64
var shift: UInt64
func put(x: CodeUnit)
}
Run Code Online (Sandbox Code Playgroud)
水槽(如“厨房水槽”)代表生产者/消费者对的消费者端。它是一个抽象接口,仅接受某种输入。因此,任何产生对象的东西都可以Sink作为交付对象的一种方式。这是生产者传递对象所需的关于消费者的最少知识。
队列和集合是仅存储输入的简单接收器的示例。网络连接或记录器可以充当立即处理输入的接收器。
| 归档时间: |
|
| 查看次数: |
1501 次 |
| 最近记录: |