美文网首页《从零开始学Swift》学习笔记每周500字每天写1000字
《从零开始学Swift》学习笔记(Day 49)——扩展声明

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

作者: tony关东升 | 来源:发表于2015-12-17 09:39 被阅读51次

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

    声明扩展的语法格式如下:
    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中的扩展机制可以在原始类型中添加的新功能包括:
     实例计算属性和类型计算属性
     实例方法和类型方法
     构造函数
     下标
    还有嵌套类型等内容也可以扩展,扩展还可以遵从协议。

    相关文章

      网友评论

        本文标题:《从零开始学Swift》学习笔记(Day 49)——扩展声明

        本文链接:https://www.haomeiwen.com/subject/hzzuhttx.html