码迷,mamicode.com
首页 > 编程语言 > 详细

swift中的类拓展 extension

时间:2014-10-16 18:27:12      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   sp   文件   div   on   

以添加颜色为例,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

标签:style   blog   color   io   ar   sp   文件   div   on   

原文地址:http://www.cnblogs.com/chaiwentao/p/4029218.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!