您的当前位置:首页正文

#selector() 和响应链

来源:要发发知识网

总管协议

首先我们加入一个协议:

@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 协议。