本书基于最新的苹果官方Swift 2.0语法规范,所有的程序均在Xcode 7中开发完成。全书分为6个部分: 预备知识、语法基础、面向对象编程基础、面向对象高级编程、应用实例、编程练习及参考答案。 本书既可作为计算机专业和非计算机专业本科生移动开发课程的配套教材,也可作为iOS开发工程师和iOS开发爱好者的参考书籍。
《Swift应用开发教程》全面介绍了Swift 2.0中的所有重要特色,但舍弃了部分不适合初学者的冷僻知识点,使*一次接触Swift的读者能够迅速抓住重点,掌握精髓。除了在Swift语言方面尽*大可能做到全面系统以外,本书通过预备知识部分帮助读者迅速掌握Xcode基本功能和熟练运用playground编写代码,为配合后面编写小的实例打下必要的基础。介绍完Swift语言内容,紧随其后的是由浅入深、逐步分解问题的一个应用实例,帮助读者运用已学的Swift语言知识来解决实际问题,使读者体会到Swift语言在实际iOS App开发中的作用。*后通过30个经典的编程练习来帮助读者巩固已学的Swift语言知识。
预备知识/1
0.1Xcode特性1
0.2Xcode使用2
0.3playground4
第1章基本数据类型/8
1.1常量和变量8
1.2整型和浮点型12
1.3布尔型13
1.4元组型14
1.5可选型15
1.6异常处理18
目录
第2章运算符/20
2.1赋值运算符20
2.2算术运算符21
2.3关系运算符22
2.4逻辑运算符23
2.5其他运算符25
第3章字符串/27
3.1空字符串27
3.2字符串操作28
3.3字符串比较29
第4章集合/31
4.1数组31
4.2集合34
4.3字典36
第5章控制流/40
5.1for循环40
5.2while循环41
5.3if条件语句42
5.4switch条件语句43
5.5控制转移语句46
第6章函数/48
6.1定义和调用48
6.2函数形参49
6.3函数类型52
6.4嵌套函数54
第7章闭包/56
7.1闭包表达式56
7.2尾随闭包58
第8章枚举类型/60
8.1定义60
8.2关联值61
8.3原始值63
第9章结构体和类/65
9.1共同点65
9.2不同点67
第10章属性/69
10.1存储属性69
10.2计算属性71
10.3属性观察器72
10.4类型属性73
第11章方法/75
11.1实例方法75
11.2类型方法77
11.3下标78
第12章继承性/80
12.1基类和子类80
12.2重载83
第13章构造与析构/86
13.1构造器定义86
13.2自定义构造器87
13.3构造器代理90
13.4析构器93
第14章错误处理/96
14.1错误定义96
14.2错误处理97
第15章可选链/100
15.1强制拆封100
15.2可选链应用101
第16章访问控制/104
16.1定义104
16.2应用105
第17章类型操作符/107
17.1类型检查108
17.2类型转换109
第18章扩展/111
18.1扩展计算型属性112
18.2扩展构造器112
18.3扩展方法113
18.4扩展下标114
第19章协议/115
19.1定义115
19.2继承性119
第20章内存管理/121
20.1工作原理121
20.2强引用循环122
20.3闭包中的强引用循环127
第21章高级运算符/129
21.1位运算符129
21.2溢出运算符131
21.3运算符函数132
第22章泛型/135
第23章苹果应用/137
23.1一个简单的应用137
23.2MVC架构147
23.3应用运行状态149
第24章计算器/151
24.1界面设计151
24.2动作处理156
24.3运算逻辑163
24.4小结173
第25章编程练习及参考答案/175
练习1: Fibonacci数列175
练习2: 求质数177
练习3: 求水仙花数178
练习4: 统计字符串中各类字符个数179
练习5: 给定项数的数字的和180
练习6: 自由落体反弹问题182
练习7: 求无重复的三位数183
练习8: 阶梯奖金计算184
练习9: 求完全平方数186
练习10: 求一年中的第几天187
练习11: 3个数比大小188
练习12: 打印九九乘法表189
练习13: 猴子吃桃问题190
练习14: 求分数数列的和191
练习15: 求1~n的阶乘的和193
练习16: 用递归法求阶乘194
练习17: 倒推年龄195
练习18: 倒序打印一个正整数196
练习19: 回文问题197
练习20: 整数排序198
练习21: 求5×5矩阵对角线之和200
练习22: 折半查找201
练习23: 围圈报数203
练习24: 求分数的和204
练习25: 字符串排序206
练习26: 猴子分桃问题207
练习27: 考试成绩统计209
练习28: 求子串出现次数211
练习29: 数字加密问题212
练习30: 被9整除问题214