博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《从零开始学Swift》学习笔记(Day 49)——扩展声明
阅读量:7111 次
发布时间:2019-06-28

本文共 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_关东升。

关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
                             
更多精品iOSCocos、移动设计课程请关注智捷课堂官方网站:
智捷课堂论坛网站:

 

 

你可能感兴趣的文章
Linux前台的程序转到后台执行(关闭终端而不杀死命令)
查看>>
PS 如何把大嘴变小嘴
查看>>
Tomcat指定特定JDK版本
查看>>
JS字典 Dictionary类
查看>>
分离你的spring配置文件,让结构更清晰
查看>>
企业管理 把公司做小,把客户做大
查看>>
tiff和geotiff格式分析
查看>>
R语言低级绘图函数-arrows
查看>>
C#接口,类,集成
查看>>
bzoj 4868: [Shoi2017]期末考试
查看>>
django(一)--- 安装django
查看>>
assetBundle打包脚本与LUA
查看>>
运用python抓取博客园首页的所有数据,而且定时持续抓取新公布的内容存入mongodb中...
查看>>
转 Python Selenium设计模式-POM
查看>>
vue.js应用开发笔记
查看>>
学习开淘宝网店
查看>>
计算机网络之物理层笔记
查看>>
Spring的Hello World工程
查看>>
Redis学习之路(002)- Ubuntu下redis开放端口
查看>>
本地调用jni之VC++无法导入问题
查看>>