zoukankan      html  css  js  c++  java
  • 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,虽然不知道为什么,但是像这类东西只需要模仿系统的写就可以了,这绝对是正确的。

  • 相关阅读:
    第一次结对作业
    第二次编程作业
    第一次编程作业
    第一次博客作业*
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次个人编程作业
    第一次个人编程作业
  • 原文地址:https://www.cnblogs.com/chaiwentao/p/4029218.html
Copyright © 2011-2022 走看看