《从零开始学Swift》学习笔记每周500字每天写1000字

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

2015-12-17  本文已影响51人  tony关东升

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

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

上一篇下一篇

猜你喜欢

热点阅读