美文网首页
在Swift中,如何像Objective-C定义可选接口?

在Swift中,如何像Objective-C定义可选接口?

作者: 编程的蚂蚁 | 来源:发表于2017-07-10 12:59 被阅读38次

        最近时间比较充足,心血来潮,想把我们的项目用Swift来实现一下,趁着好好学习一下Swift,好多问题在实施的时候都暴露出来了,今天就是遇到一个问题:我们的导航栏的自定义的导航栏,左右有可能有按钮,有可能没有,按钮的点击事件通过代理方法来暴露,所以,代理方法有时候不需要实现,有时候需要实现,因此,代理方法就必须是可选类型的.在OC实现的时候使用@protocol关键字,但是在Swift里面就不行了.原因如下:

原生的Swift protocol里没有可选项,所有定义的方法都是必须实现的。如果我们想要像Objective-C里那样定义可选的接口方法,就需要将接口本身定义为Objective-C的,也即在protocol定义之前加上@objc。另外和Objective-C中的@optional不同,我们使用没有@符号的关键字optional来定义可选方法:

Swift 版可选实现的协议

相关文章

网友评论

      本文标题:在Swift中,如何像Objective-C定义可选接口?

      本文链接:https://www.haomeiwen.com/subject/eyvyhxtx.html