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

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

声明扩展的语法格式以下:java

extension 类型名 {   微信

    //添加新功能函数

}网站

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

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类型,咱们熟悉的整型、浮点型、布尔型、字符串等数据类型本质上都是结构体类型。.net

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

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

  • 实例方法和类型方法orm

  • 构造函数

  • 下标

还有嵌套类型等内容也能够扩展,扩展还能够听从协议。

 

欢迎关注关东升新浪微博@tony_ 关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
 

更多精品iOSCocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
智捷课堂论坛网站:http://51work6.com/forum.php