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

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

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

《在Swift中,如何像Objective-C定义可选接口?》 Swift 版可选实现的协议

    原文作者:编程的蚂蚁
    原文地址: https://www.jianshu.com/p/b68bdd046d2e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞