《Swift从入门到精通》PDF电子书免费下载

作者:  张益珲 [1]

出版社: 清华大学出版社 [2]

出版年: 2017年05月01日 [1]

ISBN: 9787302469209 [1]

目录

第1部分 Swift语言基础
第1章 学习环境的搭建 3
1.1 申请个人AppleID账号 3
1.2 下载与安装Xcode开发工具 4
1.3 Xcode开发工具简介 5
1.4 使用Playground进行Swift代码演练 9
第2章 量值与基本数据类型 10
2.1 变量与常量 10
2.1.1 变量与常量的定义和使用 11
2.1.2 变量和常量的命名规范 12
2.2 关于注释 13
2.3 初识基本数据类型 13
2.3.1 数学进制与计算机存储原理 14
2.3.2 整型数据 14
2.3.3 浮点型数据 15
2.3.4 布尔型数据 16
2.4 两种特殊的基本数据类型 16
2.4.1 元组 16
2.4.2 可选值类型 17
2.5 为类型取别名 20
2.6 练习及解析 20
第3章 字符、字符串与集合类型 21
3.1 字符串类型 21
3.1.1 进行字符串的构造 21
3.1.2 字符串的组合 22
3.2 字符类型 23
3.2.1 字符类型简介 23
3.2.2 转义字符 24
3.3 字符串类型中的常用方法 24
3.4 集合类型 26
3.4.1 Array数组类型 27
3.4.2 Set集合类型 30
3.4.3 Dictionary字典类型 33
3.5 练习及解析 35
第4章 基本运算符与程序流程控制 38
4.1 初识运算符 38
4.1.1 赋值运算符 39
4.1.2 基本算...
4.1.3基本逻辑运算符40
4.1.4比较运算符41
4.1.5条件运算符41
4.2Swift语言中两种特殊的运算符42
4.2.1空合并运算符42
4.2.2区间运算符43
4.3循环结构43
4.3.1for-in循环结构43
4.3.2while与repeat-while条件循环结构44
4.4条件选择与多分支选择结构46
4.4.1if与if-else条件选择结构46
4.4.2switch-case多分支选择结构46
4.5Swift语言中的流程跳转语句49
4.6练习及解析52
第5章函数与闭包技术56
5.1函数的基本应用56
5.1.1函数的创建与调用57
5.1.2关于函数的参数名58
5.1.3函数中参数的默认值、不定数量参数与inout类型参数59
5.2函数的类型与函数嵌套61
5.3理解闭包结构63
5.3.1闭包的语法结构63
5.3.2通过实现一个排序函数来深入理解闭包63
5.4将闭包作为参数传递时的写法优化66
5.5后置闭包、逃逸闭包与自动闭包67
5.6练习及解析68
第6章高级运算符与枚举72
6.1位运算符与溢出运算符72
6.1.1位运算符的应用72
6.1.2溢出运算符74
6.2运算符的重载与自定义74
6.2.1重载运算符74
6.2.2自定义运算符76
6.3运算符的优先级与结合性77
6.4枚举类型的创建与应用79
6.5枚举的原始值与相关值81
6.5.1枚举的原始值81
6.5.2枚举的相关值82
6.5.3递归枚举83
6.6练习及解析86
第7章类与结构体88
7.1类与结构体的定义88
7.1.1结构体88
7.1.2类90
7.2设计一个交通工具类91
7.3开发中类与结构体的应用场景94
7.4练习及解析95
第8章属性与方法97
8.1存储属性与计算属性97
8.1.1存储属性的意义及应用97
8.1.2计算属性的意义及应用100
8.2属性监听器102
8.3实例属性与类属性103
8.4实例方法与类方法104
8.4.1实例方法的意义与应用104
8.4.2类方法105
8.5下标方法106
8.6练习及解析108
第9章构造方法与析构方法109
9.1构造方法的设计与使用109
9.2指定构造方法与便利构造方法112
9.3构造方法的继承关系113
9.4构造方法的安全性检查115
9.5可失败构造方法与必要构造方法116
9.6析构方法117
9.7练习及解析118
第10章内存管理与异常处理120
10.1自动引用计数120
10.2循环引用及其解决方法123
10.3闭包中的循环引用128
10.4异常的抛出与传递129
10.5异常的捕获与处理130
10.6延时执行结构131
10.7练习及解析132
第11章类型转换、泛型、扩展与协议133
11.1类型检查与转换133
11.1.1Swift语言中的类型检查134
11.1.2Swift语言中的类型转换134
11.2Any与AnyObject类型135
11.3泛型137
11.3.1初识泛型137
11.3.2对泛型进行约束139
11.4扩展与协议141
11.4.1使用扩展对已经存在的数据类型进行补充141
11.4.2协议的特点与应用143
11.4.3协议与扩展的结合146
第2部分iOS开发基础
第12章UI控件与逻辑交互(1)148
12.1iOS项目工程简介148
12.1.1创建iOS项目工程148
12.1.2运行第一个iOS程序150
12.2标签控件——UILabel151
12.2.1使用代码创建一个UILabel控件152
12.2.2自定义UILable控件的展示效果152
12.2.3定义更加丰富多彩的UILabel控件154
12.3按钮控件——UIButton155
12.3.1创建UIButton按钮控件155
12.3.2为按钮添加触发事件157
12.3.3为UIButton添加自定义图片158
12.4图片显示控件——UIImageView160
12.4.1图片类UIImage160
12.4.2使用UIImageView进行图片的展示160
12.4.3使用UIImageView播放动画161
12.5文本输入框控件——UITextField162
12.5.1创建文本输入框控件162
12.5.2为UITextField设置左右视图164
12.5.3UITextField控件的代理方法165
12.6开关控件UISwitch168
12.7分页控制器——UIPageControl169
12.8分部控制器——UISegmentedControl170
12.8.1创建分布控制器控件170
12.8.2UISegmentedControl控件中按钮的增删改操作171
12.8.3关于UISegmentedControl控件中按钮的尺寸问题172
第13章UI控件与逻辑交互(2)173
13.1滑块控件UISlider173
13.1.1UISlider控件的创建与设置173
13.1.2UISlider控件的外观自定义与用户交互174
13.2活动指示器UIActivityIndicatorView176
13.3进度条控件UIProgressView177
13.4步进器UIStepper178
13.5选择器控件UIPickerView180
13.6时间选择器UIDataPicker183
13.7搜索栏控件UISearchBar186
13.7.1创建UISearchBar控件186
13.7.2UISearchBar控件的更多功能按钮188
13.7.3UISearchBar控件的附件视图189
13.7.4UISearchBarDelegate协议详解190
第14章视图控制器与高级UI视图控件192
14.1应用程序的界面管理器UIViewController192
14.1.1关于MVC设计模式192
14.1.2UIViewController的生命周期193
14.1.3UIViewController之间的切换与传值195
14.2导航视图控制器UINavigationController200
14.2.1理解导航结构201
14.2.2搭建使用导航结构的项目201
14.2.3对导航栏进行自定义设置203
14.2.4使用导航进行视图控制器的切换管理205
14.3标签栏控制器UITabBarController207
14.3.1创建以UITabBarController为项目结构工程207
14.3.2对UITabBarController中的标签进行自定义配置210
14.3.3标签栏上标签的溢出与排序功能212
14.4警告视图控制器的应用214
14.4.1认识UIAlertAction类214
14.4.2使用UIAlertController创建警告框弹窗215
14.4.3使用UIAlertController创建抽屉弹窗217
14.5网页视图的应用218
14.5.1网页视图UIWebView218
14.5.2认识WebKit框架221
14.5.3使用WKWebViewConfiguration对网页视图进行配置222
14.5.4WKWebView中重要属性和方法解析225
14.5.5关于WKUIDelegate协议226
14.6滚动视图UIScrollView的应用227
14.6.1创建UIScrollView滚动视图227
14.6.2UIScrollViewDelegate协议介绍228
14.6.3UIScrollView的缩放操作230
14.7列表视图UITableView的应用231
14.7.1创建UITableView列表231
14.7.2进行数据载体UITableViewCell的自定义235
14.7.3UITableView的编辑模式238
14.7.4为UITableView添加索引栏242
14.8集合视图UICollectionView的应用243
14.8.1使用UICollectionView实现简单的九宫格布局243
14.8.2使用FlowLayout进行更加灵活的九宫格布局245
14.8.3实现炫酷的瀑布流布局247
14.9分页控制器UIPageViewController的应用251
14.9.1创建一个UIPageViewController工程251
14.9.2关于UIPageViewControllerDelegate的更多应用255
第15章动画与界面布局技术259
15.1使用UIView层动画实现属性渐变效果259
15.1.1UIView层的属性过渡动画259
15.1.2UIView层的转场动画263
15.2通过GIF文件播放动画265
15.2.1使用原生的UIImageView来播放GIF动态图265
15.2.2使用UIWebView来进行GIF动态图的播放267
15.3iOS开发中的CoreAnimation核心动画技术268
15.3.1初识CoreAnimation框架268
15.3.2锚点对视图几何属性的影响268
15.3.3几种常用的CALayer子类介绍269
15.3.4CoreAnimation框架中的属性动画介绍273
15.3.5CoreAnimation框架中的转场动画与组合动画274
15.4炫酷的粒子效果276
15.4.1粒子发射引擎与粒子单元276
15.4.2创建火焰粒子效果279
15.5Autolayout自动布局技术281
15.5.1使用storyboard或者xib文件进行界面的自动布局281
15.5.2进行视图间的约束布局284
15.5.3使用原生代码进行Autolayout自动布局285
15.5.4使用第三方框架SnapKit进行Autolayout自动布局288
15.6使用Autolayout创建自适应高度的UITextView输入框289
第16章网络与数据存储技术292
16.1获取互联网上公开API所提供的数据292
16.1.1注册APIStore会员292
16.1.2进行API接口测试293
16.1.3关于JSON数据格式294
16.2在iOS开发中进行网络数据请求295
16.2.1关于HTTP网络请求协议295
16.2.2使用URLSesstion进行网络请求296
16.3使用UserDefaults进行简单数据的持久化存储298
16.3.1使用UserDefaults与Plist文件进行常见类型数据的存储298
16.3.2使用Plist文件进行数据持久化处理300
16.4iOS开发中的归档技术应用302
16.4.1对简单数据类型的归档操作302
16.4.2对自定义数据类型进行归档操作304
16.5数据库在iOS开发中的应用305
16.5.1操作数据库常用语句305
16.5.2可视化数据库管理工具MesaSQLite的简单应用308
16.5.3libsqlite3数据库操作库简介310
16.5.4在iOS工程中调用libsqlite3库操作数据库312
16.6使用CoreData框架进行数据管理315
16.6.1使用CoreData框架进行数据模型设计315
16.6.2使用CoreData进行数据的添加与查询操作317
第3部分项目实战
第17章实战一:简易计算器321
17.1计算器按键与操作面板的封装321
17.2计算器显示板输入显示的逻辑开发324
17.3计算器计算逻辑的设计329
17.4为应用添加图标与启动页332
第18章实战二:点滴生活记事本334
18.1项目工程的搭建334
18.2主页记事分组视图的开发337
18.3添加分组功能的开发340
18.4数据库引入与记事分组信息的持久化342
18.5记事列表界面的搭建346
18.6新建记事功能的开发349
18.7更新记事与删除记事功能的开发355
第19章实战三:《中国象棋》游戏359
19.1项目工程的搭建与音频模块的开发359
19.2《中国象棋》棋子控件的开发363
19.3《中国象棋》棋盘控件的开发366
19.4“兵”与“卒”行棋逻辑的开发371
19.5“将”与“士”相关棋子行棋逻辑的开发379
19.6“象”与“马”相关棋子行棋逻辑的开发381
19.7“车”与“炮”棋子行棋逻辑的开发387
19.8胜负判定逻辑开发与游戏功能完善392
19.9拆分冗长的checkCanMove()方法398
附录ACocoaPods库管理工具的应用406
附录B关键概念检索表409

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?