以添加颜色为例,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,虽然不知道为什么,但是像这类东西只需要模仿系统的写就可以了,这绝对是正确的。