首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift:如何检查协议的可用性?

Swift:如何检查协议的可用性?
EN

Stack Overflow用户
提问于 2016-08-01 19:37:00
回答 1查看 149关注 0票数 0

从Swift 2开始,有了一种更清晰的方法来检查某个类或属性是否可用:

代码语言:javascript
复制
@available(iOS 8.0, *)
var someVarHere = someClassHere()

然而,我在任何地方都找不到如何检查协议可用性的方法,例如SFSafariViewControllerDelegate。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-01 20:09:17

多亏了@lu_,我得到了一个解决方案:使用扩展。

代码语言:javascript
复制
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        if #available(iOS 9, *) {
            let sfc = SFSafariViewController(URL: NSURL(string: "http://www.google.bg")!)
            sfc.delegate = self
            presentViewController(sfc, animated: true, completion: nil)
        }
    }
}

@available(iOS 9, *)
extension ViewController: SFSafariViewControllerDelegate {
    func safariViewControllerDidFinish(controller: SFSafariViewController) {
        controller.dismissViewControllerAnimated(true, completion: nil)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38697854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档