首页 > 代码库 > swift中的类拓展 extension
swift中的类拓展 extension
以添加颜色为例,new 一个swift文件夹 不是cocoa类 也不需要继承什么。
然后
1 import UIKit 2 3 protocol ColorDalegate{ 4 class func mainColor(Void) -> UIColor 5 } 6 7 extension UIColor: ColorDalegate{ 8 class func mainColor(Void) ->UIColor{ 9 return UIColor.redColor()10 }11 }
这里定义一个ColorDalegate的协议,然后由UIColor去实现这个协议里声明的方法,这里说一下这么写的原因,就是为什么要加那个class,
如果调用系统的redColo()的方式是UIColor.redColor() 查看redColor的声明就到了这个界面,下面是部分截取
1 class func blackColor() -> UIColor // 0.0 white 2 class func darkGrayColor() -> UIColor // 0.333 white 3 class func lightGrayColor() -> UIColor // 0.667 white 4 class func whiteColor() -> UIColor // 1.0 white 5 class func grayColor() -> UIColor // 0.5 white 6 class func redColor() -> UIColor // 1.0, 0.0, 0.0 RGB 7 class func greenColor() -> UIColor // 0.0, 1.0, 0.0 RGB 8 class func blueColor() -> UIColor // 0.0, 0.0, 1.0 RGB 9 class func cyanColor() -> UIColor // 0.0, 1.0, 1.0 RGB 10 class func yellowColor() -> UIColor // 1.0, 1.0, 0.0 RGB 11 class func magentaColor() -> UIColor // 1.0, 0.0, 1.0 RGB
这里对每一个都加了class,虽然不知道为什么,但是像这类东西只需要模仿系统的写就可以了,这绝对是正确的。
swift中的类拓展 extension
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。