作者:Dominik Hauser,原文链接,原文日期:2016-04-10
译者:Lanford3_3;校对:Channe;定稿:Cee

因为 Swift 2.2 中 selector 的新语法,我用在「在 Target-Action 中使用响应链」中的方法产生了一个警告,让我们来修正它。

总管协议

首先我们加入一个协议:


@objc protocol DetailShowable {
    @objc func showDetail()
}

之后,我们可以给 Selector 添加一个 extension,就像 Andyy Hope 在他的这篇?文中提到的那样,这个 extension 就长这样:


private extension Selector {
    static let showDetail = #selector(DetailShowable.showDetail)
}

现在把 action 添加到响应链中就变得 so easy 了,就像这样:


button.addTarget(nil, 
                 action: .showDetail,
                 forControlEvents: .TouchUpInside)

最后,我们需要让响应链中的一些响应者对象遵循 DetailShowable 协议。

你可以在 github 上找到这些代码。

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问 http://swift.gg


SwiftGG翻译组
1.6k 声望957 粉丝

走心的 Swift 翻译组