本文共 671 字,大约阅读时间需要 2 分钟。
原创文章,欢迎转载。转载请注明:关东升的博客
声明扩展的语法格式如下:
extension 类型名 { //添加新功能}
声明扩展的关键字是extension,“类型名”是Swift中已有的类型,包括类、结构体和枚举,但是我们仍然可以扩展整型、浮点型、布尔型、字符串等基本数据类型,这是因为这些类型本质上也是结构体类型。打开Int的定义如下:
struct Int : SignedInteger{ init() init(_ value: Int) static funcconvertFromIntegerLiteral(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、移动设计课程请关注智捷课堂官方网站:智捷课堂论坛网站: