swift学习要点摘要19-23(完结)
来源:互联网 发布:独立域名与二级域名 编辑:程序博客网 时间:2024/06/05 13:48
19.类型嵌套
要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内,而且可以根据需要定义多级嵌套。
20.扩展
扩展就是向一个已有的类,结构体或枚举类型添加新功能(functionality)。这包括在没有权限获取原始码的情况下扩展类型的能力(既逆向建模)。
Swift 中的扩展可以: 1. 添加计算型属性和静态属性 2.定义实例方法和类型方法 3.提供新的构造器 4.定义下标 5.定义和使用新的嵌套类型 6.使一个已有类型符合某个接口
extension SomeType { //加到SomeType的新功能 }
extension SomeType:SomeProtocol, AnotherProtocol { //协议实现写到这里 }
21.协议
Protocol(协议)用于统一方法和属性的名称,而不实现任何功能。协议遵循者需要提供协议指定的成员,如属性,方法,操作符,下标等。
当某个类含有父类的同时实现了协议,应当把父类放在所有的协议之前,如下所示:
class SomeClass : SomeSuperClass, FirstProtocol, AnoherProtocol { 类的内容 }
委托:委托是一种设计模式,它允许类或结构体将一些需要它们负责的功能交由(委托)给其他的类型。
委托模式的实现很简单:定义协议来封装哪些需要被委托的函数和方法,使其遵循者拥有这些被委托的函数和方法。
22.泛型
Swift的数组和字典类型都是泛型集。
func swapTwoValues<T>(inout a: T, inout b: T) { let tempA = a; a = b; b= tempA }
类型约数:指定了一个必须继承自指定类的类型参数,或者遵循一个特定的协议或协议构成。
类型约数语法:func someFunction<T: SomeClass, U: SomeProtocol>(someT: T, someU: U) { } //T必须是SomeClass子类,U必须遵循SomeProtocol协议
23.高级运算符
swift为整形计算提供了5个&符号开头的溢出运算符:&+,&-,&*,&/,&%
新的全局运算符声明需要在全局域使用operator关键字声明,可以声明为前置,中置或后置的。operator prefix +++ {}
- swift学习要点摘要19-23(完结)
- swift学习要点摘要1-10
- swift学习要点摘要11-18
- MySQL学习笔录(完结)
- 读《从零开始学习jQuery》要点摘要供复习记忆
- The Swift Programming Language-中文文档(已完结)
- C程序设计学习笔记(完结)
- C程序设计学习笔记(完结)
- C程序设计学习笔记(完结)
- C程序设计学习笔记(完结)
- MRI影像学习笔记(五.完结)
- 信息安全工程师 学习笔记(四十)完结
- 一起厌恶学习艳课网(完结)
- Mockito 学习篇(四)完结
- Swift语法摘要
- c语言复习要点摘要
- Linux学习摘要(freshbird)
- android学习摘要(二)
- COALESCE 用法
- 临界区问题
- 【找规律】#64 A. Cookies
- Exchange Server 2013 运维系列——恢复已删除邮件
- eclipse中的 ctrl + shift + F
- swift学习要点摘要19-23(完结)
- eclipse--设置编译Android时使用的默认密钥
- URLDecoder和URLEncoder
- Android系统截屏功能提取
- 大三第四个星期
- red hat 6 root 密码破解
- iOS之UITableViewq全面解析
- TortoiseSVN解决代码冲突
- XML文件处理