延展,类似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);
}
}