总管协议
首先我们加入一个协议:
@objc protocol DetailShowable {
@objc func showDetail()
}
private extension Selector {
static let showDetail = #selector(DetailShowable.showDetail)
}
现在把 action 添加到响应链中就变得 so easy 了,就像这样:
button.addTarget(nil,
action: .showDetail,
forControlEvents: .TouchUpInside)
最后,我们需要让响应链中的一些响应者对象遵循 DetailShowable
协议。