【iOS】Swift中扩展extension与协议protocol
来源:互联网 发布:java中数组特点 编辑:程序博客网 时间:2024/05/29 08:23
一起连带前面几篇Playground小结代码都转到github上了,注释写了很多,主要方便自己以后可以翻翻看。Swift语法主要部分差不多就这些了。当然还有泛型、运算符重载、ARC、闭包之类的补充。
一、扩展(extension)
扩展 extension (类似OC中的分类, 但Swift中没有名字), 即在没有权限获取到原始代码的情况下, 为类增加新功能.
注意: 只要定义了扩展, 那么该扩展对该类的实例都是可用的.
1.1扩展属性(只能是计算属性)
1.2扩展构造器
1.3扩展方法
下面是像Int中扩展myIntFunc方法
1.3.1 修改实例方法
通过扩展方法, 可以修改该实例self本身.但是方法前要加 mutating
1.4 扩展嵌套类型
即向已有的嵌套类型中添加新的嵌套类型. 还可以扩展下标(附属脚本)等.
二、协议(protocol)
可定义方法与属性, 由具体的类去实现. 越来越像Java
Swift中的协议能被类, 枚举,结构体实现.
2.1 协议中属性/方法/突变方法的要求
2.1.1 属性的要求
2.1.2 方法要求
2.1.3 突变方法要求
能在方法或函数内部改变实例类型的方法称为突变方法. (mutating关键字)
在类中,可以不写mutating, 但在结构体与枚举中国必须写
2.2 协议类型.
协议也可以当做类型来使用. 这点和函数一样.
1.可作为参数/返回值类型
2.可作为常量/变量/属性的类型
3.可作为数组/字典和其他元素类型
示例代码见:http://github.com/xn4545945/SwiftLearning
参考:
The Swift Programming Language
Apple Dev Center
转载请注明出处:http://blog.csdn.net/xn4545945
- 【iOS】Swift中扩展extension与协议protocol
- 【iOS】Swift中扩展extension与协议protocol
- Swift中扩展extension与协议protocol
- [绍棠_Swift] Swift中扩展extension、协议protocol
- [Swift 开发] 协议扩展(protocol Extension)
- iOS经典讲解之Swift枚举(Enum)、协议(protocol)、扩展(Extension)
- 第六节 Swift 协议(Protocol)和扩展(Extension)
- iOS杂记——category分类、extension扩展、protocol协议
- Swift的protocol与协议扩展
- 类目category 扩展extension 协议protocol
- Swift:Extension和Protocol
- Objective-C分类 (category),扩展(Extension)和协议(protocol)
- OC中的类别Category-协议Protocol-扩展Extension
- swift3新路程(10)协议protocol和扩展extension
- Swift扩展(Extension)
- Swift 扩展(extension)
- Swift UIColor Extension (扩展)
- swift中的extension(扩展)
- Android代码优化(一)
- mysql主从配置常用命令
- pom.xml配置文件详解
- 剑指 offer:跳台阶
- 我发现我最不敢面对的是我自己
- 【iOS】Swift中扩展extension与协议protocol
- 超级强大的SVG SMIL animation动画详解
- 七牛---用JAVA生成各种凭证代码
- 在java servlet中获得session中保存对象的值。
- 用MFC显示一张图片
- Struts 2 – Development mode example
- 检测到有潜在危险的 Request.Form 值
- 傅里叶分析之掐死教程(完整版)
- 后台 手动 join 的索引选择