IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]《从零开始学Swift》学习笔记(Day 49)——扩展声明

    tonny_guan发表于 2015-12-16 15:33:22
    love 0
    


    原创文章,欢迎转载。转载请注明:关东升的博客  

    声明扩展的语法格式如下:

    extension 类型名 {   

        //添加新功能

    }

    声明扩展的关键字是extension,“类型名”是Swift中已有的类型,包括类、结构体和枚举,但是我们仍然可以扩展整型、浮点型、布尔型、字符串等基本数据类型,这是因为这些类型本质上也是结构体类型。打开Int的定义如下:

    struct Int : SignedInteger {
    
        init()
    
        init(_ value: Int)
    
        static func convertFromIntegerLiteral(value: Int) -> Int
    
        typealias ArrayBoundType = Int
    
        func getArrayBoundValue() -> Int
    
        static var max: Int { get }
    
        static var min: Int { get }
    
    }
    

    从定义可见Int是结构体类型。不仅是Int类型,我们熟悉的整型、浮点型、布尔型、字符串等数据类型本质上都是结构体类型。

    Swift中的扩展机制可以在原始类型中添加的新功能包括:

    • 实例计算属性和类型计算属性

    • 实例方法和类型方法

    • 构造函数

    • 下标

    还有嵌套类型等内容也可以扩展,扩展还可以遵从协议。

     

    欢迎关注关东升新浪微博@tony_关东升。
    关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
     
    ​
    更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
    智捷课堂论坛网站:http://51work6.com/forum.php

     

     



沪ICP备19023445号-2号
友情链接