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

  • 相关阅读:
    在Win10中通过命令行打开UWP应用
    前端学习Docker
    Puppeteer的使用
    taro教程
    22种开源Vue模板和主题框架「干货」
    36种免费React模板和主题「干货」
    移动端1px显示异常解决方案
    前端性能优化(二)
    Vue.set()和this.$set()源码解析
    2018年8月7日 乐视2 X621 刷机包下载链接
  • 原文地址:https://www.cnblogs.com/chaiwentao/p/4029218.html
Copyright © 2020-2023  润新知