Swift从入门到精通

Swift从入门到精通"

作者:张亮
ISBN:9787302543312
定价:¥69
字数:千字
页数:
出版时间:2019.12.01
开本:
版次:1-3
装帧:
出版社:清华大学出版社
简介

《Swift从入门到精通》Swift语言部分按照由浅入深的方式依次展开基础篇、高级篇和深入篇的内容,每一篇由7章节组成,每章均有配套编程习题,帮助读者巩固知识点。然后逐步细化和分解问题的应用实例,帮助读者运用已学的Swift语言来解决实际应用问题,使读者体会到Swift语言在实际iOS App开发中所扮演的角色。最后,习题集部分通过30个比较经典的编程练习来帮助读者巩固已学的Swift语言知识,除提供配套参考代码外,还详细讲解编程思路,帮助读者了解题目的算法设计,以及如何通过语言来实现算法。

前言

本书全面介绍了Swift 4中的所有重要特色,但又摒弃了部分不适合初学者的冷僻知识点,使第一次接触Swift的读者能够抓住重点,掌握精髓。除了在Swift语言方面尽最大可能做到面面俱到,本书通过预备知识部分,帮助读者迅速掌握Xcode的基本功能,熟练运用playground编写代码,为配合后面章节中编写小实例打下必要的基础。介绍完Swift语言,紧随其后的是由浅入深、逐步分解问题的一个应用实例,帮助读者运用已学的Swift语言解决实际问题,使读者体会到Swift语言在实际iOS App开发中扮演的角色。最后部分通过30个比较经典的编程练习帮助读者巩固已学的Swift语言知识。

本书共分为4篇。

第1篇为基础篇,含8章,介绍了预备知识和Swift语法中的基础内容。其中,第1章介绍读者在阅读本书Swift语言知识前必须掌握的基础内容,内容主要包括Xcode特性、Xcode的使用以及playground介绍。playground将是Swift语言实践的主要工具。第2章介绍基本的数据类型,包括常量和变量、整型和浮点型、布尔型、元组型、可选型等内容。第3章介绍各种常用的运算符,包括赋值运算符、算术运算符、关系运算符、逻辑运算符、三元运算符、区间运算符。第4章介绍字符串的相关知识,包括字符串的定义、字符串的操作等。第5章介绍几种集合类型的定义和操作,包括数组、集合和字典。第6章介绍几种控制流的语法和使用方法,包括for循环、while循环、if条件语句、switch条件语句及控制转移语句。第7章主要介绍函数的相关知识,包括函数的定义和调用方法、函数形参、函数类型、嵌套函数。第8章主要介绍闭包的相关知识,包括闭包表达式和闭包的应用。

第2篇为高级篇,含7章,介绍了Swift语法中的面向对象的基础知识。其中,第9章介绍枚举型,包括枚举型的定义、枚举型的关联值及原始值的定义和用法。第10章介绍结构体与类的定义,比较了两者的共同点和不同点,以及各自的应用场景。第11章介绍属性的相关知识,包括存储属性、计算属性、属性观察器以及类型属性。第12章介绍方法的相关知识,重点介绍实例方法和类型方法,同时也介绍了比较特殊的下标方法。第13章介绍类,先介绍了基类和子类的概念,然后介绍了如何进行重载。第14章介绍了协议,包括协议的使用、协议的继承性。第15章介绍了泛型的相关知识,包括泛型函数、泛型类。

第3篇为深入篇,含7章,介绍Swift语法中的面向对象的高级知识。其中,第16章介绍异常处理的相关知识,包括异常的定义及如何进行异常处理。第17章介绍了可选链,包括强制拆包的概念,以及可选链的应用场景。第18章介绍访问控制的相关定义和应用场景。第19章介绍类型操作符的相关知识,包括类型检查和类型转换。第20章介绍扩展的概念,包括扩展计算型属性、扩展构造器、扩展方法及扩展下标。第21章介绍内存管理的相关知识,包括内存管理的工作原理、强引用循环的概念及消除的方法、闭包中的强引用循环等。第22章介绍高级运算符,包括位运算符、溢出运算符及运算符函数。

第4篇为应用篇,含4章,通过实现两个完整的苹果应用,在实际工程项目中综合运用前面学习的Swift语言知识。第23章以计算器应用为例简要介绍了苹果应用的相关知识,包括如何建立一个简单的应用、iOS App的MVC架构以及应用的运行状态的切换。第24章介绍了如何编程实现计算器应用,包括界面设计、动作处理和运算逻辑等部分。第25章介绍如何基于MVC架构实现手游2048的过程,分别从模型层、视图层和控制层分析和实现。第26章为Swift语言的编程练习及参考答案,通过30个比较经典的编程练习题,讲解每个题的编程思路,并给出代码、相关代码说明及系统运行结果。

由于编者水平有限,有不少考虑不周的地方和不足之处,敬请使用本书的老师、同学及广大读者批评指正。

编者

2019年7月

目录

第1篇基础篇

第1章预备知识/3

1.1Xcode特性3

1.2Xcode的使用4

1.3playground介绍7

第2章数据类型/10

2.1常量和变量10

2.2整型和浮点型16

2.3布尔型19

2.4元组型20

2.5可选型22

本章知识点29

参考代码30

第3章运算符/35

3.1赋值运算符35

3.2算术运算符36

3.3关系运算符37

3.4逻辑运算符38

3.5三元运算符40

3.6区间运算符41

本章知识点41

第4章字符串/42

4.1字符串的定义42

4.2字符串的操作44

本章知识点50

参考代码50

第5章集合/54

5.1数组54

5.2集合60

5.3字典63

本章知识点66

参考代码67

第6章控制流/72

6.1for循环72

6.2while循环73

6.3if条件语句74

6.4switch条件语句75

6.5控制转移语句78

本章知识点80

参考代码80

第7章函数/84

7.1函数的定义和调用方法84

7.2函数形参86

7.3函数类型89

7.4嵌套函数92

本章知识点93

参考代码93

第8章闭包/98

8.1闭包表达式98

8.2闭包的应用103

本章知识点106

参考代码107

第2篇高级篇

第9章枚举型/111

9.1枚举型的定义111

9.2关联值114

本章知识点117

参考代码118

第10章结构体与类/120

10.1基本概念120

10.2值类型与引用类型123

本章知识点126

参考代码126

第11章属性/128

11.1存储属性128

11.2计算属性130

11.3属性观察器133

11.4类型属性135

本章知识点136

参考代码136

第12章方法/139

12.1实例方法139

12.2类型方法141

12.3可变方法142

12.4下标方法142

本章知识点145

参考代码145

第13章类/150

13.1继承性150

13.2重载155

13.3类的构造158

13.4类的析构166

本章知识点168

参考代码168

第14章协议/175

14.1协议的使用175

14.2协议的继承性181

本章知识点183

参考代码183

第15章泛型/189

15.1泛型函数189

15.2泛型类191

本章知识点192

参考代码192

第3篇深入篇

第16章异常/197

16.1定义异常197

16.2抛出异常197

16.3处理异常199

本章知识点200

参考代码201

第17章可选链/202

17.1可选链的定义202

17.2可选链的使用203

本章知识点207

参考代码207

第18章访问控制/210

18.1访问级别210

18.2实例211

本章知识点214

参考代码214

第19章类型操作符/216

19.1类型检查217

19.2类型转换218

本章知识点219

第20章扩展/220

20.1扩展计算型属性220

20.2扩展构造器221

20.3扩展方法222

20.4扩展下标222

本章知识点223

第21章内存管理/224

21.1工作原理224

21.2强引用循环225

21.3闭包中的强引用循环230

本章知识点232

第22章高级运算符/233

22.1位运算符233

22.2溢出运算符235

22.3运算符函数235

本章知识点238

第4篇应用篇

第23章苹果应用/241

23.1一个简单的应用241

23.2MVC架构250

23.3应用运行状态252

第24章计算器/254

24.1界面设计254

24.2动作处理259

24.3运算逻辑266

24.4小结276

第25章手游2048/277

25.1模型层278

25.2视图层288

25.3控制层296

25.4小结305第26章编程练习及参考答案/306

【练习1】Fibonacci数列306

【练习2】求质数307

【练习3】求水仙花数309

【练习4】统计字符串中的各类字符个数310

【练习5】给定项数和数的和311

【练习6】自由落体反弹问题312

【练习7】求无重复的三位数312

【练习8】阶梯奖金计算314

【练习9】求完全平方数315

【练习10】求一年中的第几天316

【练习11】3个数比大小317

【练习12】打印九九乘法表319

【练习13】猴子吃桃问题320

【练习14】求分数数列的和321

【练习15】求n的阶乘的和322

【练习16】用递归法求阶乘322

【练习17】倒推年龄323

【练习18】逆序打印一个整数324

【练习19】回文问题325

【练习20】整数排序327

【练习21】求5×5矩阵对角线之和328

【练习22】折半查找329

【练习23】围圈报数330

【练习24】求分数的和332

【练习25】字符串排序333

【练习26】猴子分桃问题334

【练习27】考试成绩统计336

【练习28】子串出现的次数338

【练习29】数字加密问题339

【练习30】被9整除问题340

作者简介

编辑推荐

本书由浅入深介绍Swift语言及其应用开发实践。本书采用采用最新版的Swift 4和Xcode 10,在通过实例精讲语法知识的同时,每章都提供了大量的同步编程练习题和参考代码,本书还给出了30道经典的编程习题和解题思路、参考代码。

作者寄语

张亮,博士,北京航空航天大学计算机学院教师,2007年至今,主讲计算机学院本科核心课“计算机组成原理课程设计”及专业选修课“Swift开发实践”, 有12年教学经验,多次获得校级教学课题资助。已出版教材3本。

电子资料

www.luweidong.cn

下一个