Swift extension 关键字的理解

延展,类似ObjC的类别。

在这里我们需要注意的是.

1、做为第三方库,比如pod引入时候。有些类我们、或者方法我们希望可以被子类重写,这时候我们无法使用open关键字,而是使用@objc 关键字来声明。
声明方式:

    @objc extension UIImage{
         open func showNavTitle(title : String?){
            self.showNavTitle(title: title, back:true);
        }
    }

2、做为第三方库,我们希望被使用,而不希望被重写这时候我们可以直接使用publish来声明。

public extension UIImage{
     public func showNavTitle(title : String?){
        self.showNavTitle(title: title, back:true);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容