原创文章,欢迎转载。转载请注明:关东升的博客 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_ 关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
智捷课堂论坛网站:http://51work6.com/forum.php