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

  • 相关阅读:
    一只iPhone的全球之旅
    iOS开发之在地图上绘制出你运行的轨迹
    iOS开发之一些字符串常用的代码
    json格式化和查看工具
    iOS开发之结合asp.net webservice实现文件上传下载
    更改GROOVE的文件夹位置
    调试Windows Service
    从数据库中获取Insert语句
    iOS开发学习笔记(一)
    《影响力》的影响
  • 原文地址:https://www.cnblogs.com/chaiwentao/p/4029218.html
Copyright © 2011-2022 走看看