swift开发实例
欧阳老师又一神作--《Swift开发实战权威指南》
还记得2014年欧阳老师的那场精彩的Swift现场讲座吗?作为移动互联网研发培训领导者千锋教育的iOS带头人,欧阳大神在Swift面世之初,就带来了独家Swift现场面授,欧阳老师的Swift讲座现场吸引了无数千锋老学员及Swift爱好者,他们中有人在现场,有人通过在线直播获取Swift第一手知识,而时隔不久,为帮助更多人了解Swift开发语言,并可以将Swift开发语言真正应用到iOS系统开发实战中。欧阳老师的又一神作即将面世,欧阳大神呕心沥血,历经近1年时间,编写了《Swift开发实战权威指南》一书。
这本《Swift开发实战权威指南》涵盖知识面之广,技术之前沿,以及知识点的多角度讲解和深入浅出的原理分析均得到了广大iOS、Swift开发者的认可,和市面上的其他直接从苹果翻译而来的书籍根本不能相提并论,书籍还未面试,已经有很多人慕名联系千锋索要购买链接,咨询和预定的火爆程度远远超出预期。
《Swift开发实战权威指南》由Swift入门开始,由浅入深地介绍iOS App开发的步骤和流程。
从基本的语法开始,然后是面向对象,高级语法和Objective-c之间相互调用,最后介绍UI App开发整个流程。全文共分为20章,包括了Swift语言基础篇和Swift UI设计篇,将语言基础理论与项目实战进行了完美的结合。
上篇 Swift语言基础篇
第1章 Swift语言介绍 2
1.1 Swift语言介绍 2
1.2 Swift和Objective-C语言对比 3
1.3 Swift优秀的特性 5
1.4 使用Xcode建立Swift项目 9
1.5 Swift使用Playground 13
第2章 基础知识 16
2.1 常量与变量 16
2.1.1 常量和变量的声明 16
2.1.2 常量或变量的类型 17
2.1.3 常量和变量的命名 17
2.1.4 常量和变量的输出 18
2.1.5 字符串的连接输出 19
2.1.6 注释 19
2.1.7 分号 20
2.1.8 汉字命名方式 20
2.2 类型定义 20
2.2.1 整型 20
2.2.2 浮点型 21
2.2.3 自定义类型typealias 22
2.2.4 类型安全及类型推导 22
2.2.5 常数和数值进制的表示方法 22
2.2.6 类型转换 23
2.2.7 类型别名 24
2.2.8 布尔类型 25
2.2.9 元组Tube 25
2.3 可选类型Optional 26
2.3.1 可选类型的声明 27
2.3.2 可选类型的赋值 27
2.3.3 可选类型的使用 27
2.3.4 可选类型nil的使用 28
2.4 基本运算符 28
2.4.1 赋值运算符 28
2.4.2 算术运算符 28
2.4.3 复合运算符 31
2.4.4 比较运算符 31
2.4.5 三目运算符 32
2.4.6 区间运算符 32
2.4.7 逻辑运算符 33
2.4.8 断言Assert操作 34
第3章 字符串、数组、字典 35
3.1 字符串 35
3.1.1 字符串字面量 35
3.1.2 字符串的连接 36
3.1.3 字符串与其他数据类型的拼接 36
3.1.4 字符串相关操作方法 37
3.1.5 与其他类型的转换 38
3.2 数组 39
3.2.1 数组的声明及初始化 39
3.2.2 数组元素的访问与修改 41
3.2.3 数组的遍历 42
3.2.4 数组元素的插入与删除 42
3.3 字典 43
3.3.1 字典的声明及初始化 44
3.3.2 字典元素的访问与修改 44
3.3.3 字典的遍历 45
第4章 控制语句和函数 47
4.1 分支结构 47
4.1.1 if条件语句 47
4.1.2 switch语句 48
4.2 语句的作用域 50
4.3 循 环 结 构 51
4.3.1 for循环 51
4.3.2 forin循环 51
4.3.3 while循环 52
4.3.4 do-while循环 52
4.4 跳转语句及块标签 53
4.4.1 continue语句 53
4.4.2 break语句 53
4.4.3 fallthrough语句 54
4.5 函数 54
4.5.1 函数的定义及调用方法 55
4.5.2 函数的参数 55
4.5.3 函数的返回值 57
4.5.4 函数的变量参数 58
4.5.5 函数的类型 58
4.5.6 函数的嵌套 59
第5章 枚举和结构体 60
5.1 枚举 60
5.1.1 枚举的声明 60
5.1.2 枚举的值 60
5.1.3 枚举的使用方法 62
5.2 结构体 63
5.2.1 结构体的声明和定义 63
5.2.2 结构体的构造方法 63
5.2.3 结构体的赋值和取值 64
5.2.4 结构体的嵌套 64
5.2.5 结构体是值拷贝类型 65
第6章 类 66
6.1 类的声明与定义 66
6.1.1 类对象的创建 66
6.1.2 类的属性的访问 67
6.1.3 类的相互引用 67
6.1.4 类的嵌套 67
6.1.5 类是引用类型 68
6.1.6 恒等操作符(===/!===) 68
6.1.7 类的哈希 69
6.1.8 集合类型对象之间的赋值和拷贝 69
6.2 属性 71
6.2.1 对象属性 71
6.2.2 运算属性 76
6.2.3 类属性 77
6.3 方法 77
6.3.1 对象方法 77
6.3.2 类方法 80
6.4 subscript下标 81
6.4.1 subscript的作用 81
6.4.2 subscript的声明 82
6.4.3 subscript的使用方法 82
6.4.4 subscript使用方法的例子 82
第7章 继承 85
7.1 继承实例分析 85
7.2 重写 88
7.2.1 重写方法 89
7.2.2 重写属性 89
7.2.3 重写属性观察器 91
7.2.4 super关键字 93
7.2.5 final关键字 95
7.3 构造方法 97
7.3.1 构造方法的基本语法 97
7.3.2 构造方法的参数名称 98
7.3.3 属性的缺省值 99
7.3.4 结构体的构造方法 100
7.3.5 枚举类型的构造方法 101
7.3.6 值类型的构造方法代理 102
7.3.7 可选类型属性与构造方法 103
7.3.8 常量属性与构造方法 104
7.3.9 通过闭包或者函数设置属性的缺省值 105
7.3.10 派生类的构造方法 107
7.3.11 构造方法的重写 113
7.3.12 构造方法的自动继承 115
7.3.13 必须构造方法 118
7.4 析构方法 119
7.4.1 析构方法语法 119
7.4.2 析构方法的自动继承 120
7.5 类扩展 121
7.5.1 类扩展的语法 121
7.5.2 扩展运算属性 121
7.5.3 扩展构造方法 122
7.5.4 扩展普通方法 122
7.5.5 扩展下标 123
第8章 自动引用计数 125
8.1 自动引用计数的工作机制 125
8.2 自动引用计数实战 126
8.3 对象之间的循环强引用 129
8.4 解决对象之间的循环强引用 131
8.4.1 弱引用weak 131
8.4.2 无主引用unowner 134
8.4.3 无主引用以及显式展开的可选属性 136
8.5 闭包引起的循环强引用 137
8.6 解决闭包引起的循环强引用 140
8.6.1 定义占有列表 140
8.6.2 弱引用和无主引用 141
第9章 可选链和类型转换 143
9.1 可选链 143
9.1.1 可选链可替代强制解析 143
9.1.2 为可选链定义模型类 145
9.1.3 通过可选链调用属性 146
9.1.4 通过可选链调用方法 147
9.1.5 使用可选链调用下标 147
9.1.6 可选链多层链接 148
9.1.7 链接自判断返回值的方法 149
9.2 类型转换 150
9.2.1 子类的对象赋值为基类 150
9.2.2 类型检查 151
9.2.3 类型转换 151
9.2.4 Any和AnyObject类型转换 152
第10章 协议 155
10.1 协议的语法 155
10.1.1 属性要求 155
10.1.2 方法要求 157
10.1.3 Mutating方法要求 157
10.1.4 使用协议规范构造函数 158
10.1.5 实现构造协议的类 158
10.1.6 协议类型 159
10.2 委托/代理设计模式 160
10.3 协议的各种使用 163
10.3.1 在扩展中添加协议成员 163
10.3.2 通过扩展补充协议声明 164
10.3.3 集合中的协议类型 164
10.3.4 仅在类中使用协议 165
10.4 协议的继承 165
10.4.1 协议合成 166
10.4.2 检验协议的一致性 167
10.4.3 可选协议要求 168
第11章 闭包和操作符重载 171
11.1 闭包表达式 171
11.1.1 sorted函数 171
11.1.2 闭包表达式语法 172
11.1.3 根据上下文推断参数类型 173
11.1.4 单表达式闭包隐式返回 173
11.1.5 参数名称缩写 173
11.1.6 运算符函数 174
11.2 尾部闭包 174
11.2.1 访问上下文值 176
11.2.2 闭包是引用类型 177
11.3 运算符重载 178
11.3.1 中置运算符函数 178
11.3.2 前置和后置运算符 179
app开发实例11.3.3 组合赋值运算符 179
11.3.4 比较运算符 180
11.3.5 自定义运算符 180
11.3.6 自定义中置运算符的优先级和结合性 181
11.4 泛型 182
11.4.1 泛型解决的问题 182
11.4.2 泛型类型 184
11.4.3 关联类型 190
11.5 Swift和Objective-C交互 194
11.5.1 Swift调用Objective-C函数 194
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论