图书介绍
SWIFT细致入门与最佳实践PDF|Epub|txt|kindle电子书版本网盘下载
![SWIFT细致入门与最佳实践](https://www.shukui.net/cover/60/30001234.jpg)
- 陈强编 著
- 出版社: 北京:中国铁道出版社
- ISBN:7113216757
- 出版时间:2016
- 标注页数:582页
- 文件大小:90MB
- 文件页数:598页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
SWIFT细致入门与最佳实践PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Swift语言基础1
1.1 Swift概述1
1.1.1 Swift的创造者1
1.1.2 Swift的优势2
1.2 搭建开发环境3
1.2.1 Xcode介绍3
1.2.2 下载并安装Xcode 74
1.3 使用Xcode开发环境7
1.3.1 改变公司名称7
1.3.2 通过搜索框缩小文件范围8
1.3.3 格式化代码8
1.3.4 代码缩进和自动完成9
1.3.5 文件内查找和替代10
1.3.6 快速定位到代码行13
1.3.7 快速打开文件13
1.3.8 使用书签14
1.3.9 自定义导航条15
1.3.10 使用Xcode帮助16
1.3.11 调试代码17
1.4 创建一个iOS 9项目18
1.5 打开一个现有的iOS 9项目23
1.6 第一段Swift程序24
实例1-1 使用Xcode 7开发第一个Swift程序24
第2章 Swift的基础语法31
2.1 分号31
2.2 空白32
2.3 标识符和关键字32
2.3.1 标识符32
2.3.2 关键字33
2.4 常量和变量34
2.4.1 声明常量34
实例2-1 输出常量的值35
2.4.2 声明变量35
实例2-2 输出变量的值37
2.4.3 输出常量和变量39
实例2-3 计算一个圆的面积39
2.4.4 标注类型40
实例2-4 省略类型声明40
2.4.5 常量和变量的命名规则41
实例2-5 修改变量值41
2.5 注释42
2.5.1 注释的规则42
实例2-6 演示注释的用法43
2.5.2 使用注释的注意事项43
2.6 数据类型44
2.6.1 数据类型的分类45
2.6.2 类型安全和类型推断45
2.6.3 类型注解46
2.6.4 类型标识符46
2.6.5 元组类型47
2.6.6 函数类型47
2.6.7 数组类型48
2.6.8 可选类型48
2.6.9 隐式解析可选类型49
2.6.10 协议合成类型50
2.6.11 元类型50
2.6.12 类型继承子句50
2.6.13 类型推断51
2.7 最基本的数值类型51
2.7.1 整数52
实例2-7 输出整数53
2.7.2 浮点数54
实例2-8 使用浮点数54
2.8 字面量55
2.8.1 数值型字面量55
实例2-9 使用数值型字面量56
2.8.2 整型字面量56
实例2-10 输出不同进制的1757
2.8.3 浮点型字面量57
2.8.4 文本型字面量58
实例2-11 演示特殊符号的使用59
2.8.5 数值的可读性59
2.9 数值型类型转换60
2.9.1 整数转换60
2.9.2 整数和浮点数转换60
实例2-12 演示整数和浮点数转换61
2.9.3 进制的转换61
2.10 类型别名62
实例2-13 演示类型别名的用法63
2.11 布尔值63
2.12 元组65
2.12.1 定义元组类型65
2.12.2 获取元组中的元素值66
实例2-14 演示元组的用法66
2.13 可选类型67
2.13.1 if语句以及强制解析68
实例2-15 演示if语句的强制解析68
2.13.2 可选绑定68
实例2-16 使用可选绑定重写实例2-1569
2.13.3 nil空值69
2.13.4 隐式解析可选类型70
2.14 断言71
2.14.1 使用断言进行调试71
2.14.2 何时使用断言72
2.15 综合演练72
实例2-17 综合演示Swift各个基本语法的用法72
第3章 字符、字符串和运算符74
3.1 字符和字符串74
3.1.1 字符和字符串基础74
3.1.2 字符串字面量(String Literals)75
实例3-1 演示各种特殊字符的使用过程75
3.1.3 初始化空字符串76
实例3-2 初始化空字符串实例演示76
3.1.4 字符串可变性76
实例3-3 使用换行符、双引号和单引号77
3.1.5 字符串是值类型77
3.1.6 字符串遍历78
实例3-4 遍历字符串实例演示78
3.1.7 计算字符数量79
实例3-5 设置字符值79
3.1.8 连接字符串和字符80
实例3-6 连接字符串和字符实例演示80
3.1.9 字符串插值81
3.1.10 比较字符串81
实例3-7 验证字符串是否相等82
实例3-8 实现字符串的大小写转换83
3.2 运算符概述84
3.3 赋值运算符85
3.3.1 基本赋值运算符85
实例3-9 使用基本的赋值运算符86
3.3.2 复合赋值86
实例3-10 使用复合赋值运算符87
3.4 算数运算符87
3.4.1 单目运算符88
实例3-11 使用单目运算符89
3.4.2 双目运算符89
实例3-12 使用双目运算符90
3.4.3 求余运算90
实例3-13 使用求余运算符91
3.4.4 浮点数求余计算91
实例3-14 使用浮点数求余运算符92
3.5 比较运算符(关系运算符)92
实例3-15 使用比较运算符93
3.6 三元条件运算93
实例3-16 使用三元条件运算符94
3.7 区间运算符94
3.7.1 闭区间运算符95
实例3-17 使用闭区间运算符95
3.7.2 半闭区间运算符95
实例3-18 使用半闭区间运算符95
3.8 逻辑运算96
3.8.1 逻辑非96
3.8.2 逻辑与97
3.8.3 逻辑或97
3.8.4 组合逻辑97
3.8.5 使用括号设置运算优先级98
实例3-19 使用括号设置运算优先级98
3.9 位运算符99
3.9.1 按位取反运算符99
3.9.2 按位与运算符100
3.9.3 按位或运算符101
3.9.4 按位异或运算符102
3.9.5 按位左移/右移运算符103
实例3-20 使用左移/右移运算符105
3.10 溢出运算符106
实例3-21 使用溢出运算符106
3.11 运算符的优先级和结合性109
实例3-22 演示运算符的优先级和结合性111
第4章 集合类型113
4.1 数组113
4.1.1 定义数组113
实例4-1 定义一个数组114
4.1.2 数组构造语句114
4.1.3 访问和修改数组115
实例4-2 演示对数组的基本操作117
4.1.4 数组的遍历118
实例4-3 实现对数组的遍历119
4.1.5 创建并构造一个数组119
实例4-4 演示创建并且构造一个数组120
4.2 字典122
4.2.1 字典字面量122
实例4-5 创建一个字典123
4.2.2 读取和修改字典124
实例4-6 演示读取并修改字典124
实例4-7 对字典数据进行操作125
实例4-8 添加或修改字典数据126
实例4-9 在字典中移除键值对127
4.2.3 字典遍历128
实例4-10 在字典中遍历数据128
4.2.4 创建一个空字典129
实例4-11 实现字典复制操作130
4.2.5 字典类型的散列值130
4.3 集合的可变性131
4.4 综合演练131
实例4-12 综合演练字典的操作131
第5章 语句和流程控制133
5.1 Swift语句概述133
5.1.1 循环语句134
实例5-1 简单演示使用for语句遍历数组134
实例5-2 简单演示使用while语句136
实例5-3 演示while和for的对比136
5.1.2 分支条件语句138
实例5-4 简单演示使用if分支语句138
实例5-5 简单演示使用switch分支语句140
5.1.3 带标签的语句141
5.1.4 控制传递语句142
5.2 for循环143
5.2.1 for-in143
实例5-6 for in语句应用:打印10以内偶数144
5.2.2 for条件递增145
实例5-7 使用for条件递增语句146
5.3 while循环147
5.3.1 While语句147
实例5-8 while循环语句应用:100以内10的倍数149
5.3.2 do-while语句149
实例5-9 do-while循环语句应用:蛇和梯子小游戏150
5.4 条件语句151
5.4.1 if语句151
实例5-10 if语句应用:判断温度151
5.4.2 switch语句152
实例5-11 switch语句应用:匹配名为SomeCharacter的小写字符153
5.5 控制转移语句155
5.5.1 continue语句155
5.5.2 break语句155
实例5-12 简单演示使用break语句157
5.5.3 贯穿(fallthrough)157
5.5.4 带标签的语句(labeled statements)158
第6章 函数161
6.1 函数的定义161
6.1.1 定义无参函数162
6.1.2 定义有参函数162
6.2 函数声明164
6.2.1 函数声明的格式164
实例6-1 声明一个函数165
6.2.2 声明中的参数名165
实例6-2 用“…”获取不固定个数参数166
6.2.3 声明中的特殊类型参数167
6.3 函数调用167
6.3.1 调用函数的格式167
实例6-3 调用定义的函数168
6.3.2 数调用的方式169
实例6-4 通过函数比较两个数的大小169
6.4 函数参数170
6.4.1 多重输入参数170
实例6-5 演示多重输入参数的用法171
6.4.2 无参函数(Functions Without Parameters)171
6.4.3 无返回值函数171
6.5 返回值172
实例6-6 演示函数的返回值的用法173
6.6 函数参数的名称174
6.6.1 外部参数名174
6.6.2 简写外部参数名175
6.6.3 默认参数值175
6.6.4 默认值参数的外部参数名176
6.6.5 可变参数177
6.6.6 常量参数和变量参数178
6.6.7 输入/输出参数179
实例6-7 编写函数求平均值180
6.6.8 扩展参数180
6.7 函数类型181
6.7.1 使用函数类型182
6.7.2 函数类型作为参数类型182
实例6-8 演示在函数中使用另一个函数作为参数183
6.7.3 函数类型作为返回类型183
实例6-9 演示将函数类型作为返回类型184
6.8 嵌套函数185
实例6-10 演示嵌套函数的用法186
6.9 函数和闭包186
实例6-11 重写一个闭包来对所有奇数返回0187
实例6-12 在函数中定义函数187
6.1 0内置库函数189
实例6-13 查询“.”的位置191
第7章 类193
7.1 类和结构体基础193
7.1.1 定义类和结构体195
7.1.2 声明结构体字段196
实例7-1 演示结构体的用法196
7.2 类的成员197
7.2.1 最简单的数据成员198
7.2.2 最重要的函数成员198
7.3 结构体成员199
7.3.1 字段199
实例7-2 创建结构体变量赋初始值199
7.3.2 函数200
实例7-3 在结构体中直接存储方法200
7.3.3 属性201
实例7-4 演示结构体属性的用法201
7.4 类和结构体实例201
实例7-5 定义并使用类的实例202
7.5 类的继承202
7.5.1 类的层次结构202
7.5.2 继承概述203
7.5.3 定义子类203
实例7-6 创建StudentLow的子类StudentHight205
7.5.4 重写206
实例7-7 演示面向对象、继承、重写和构造209
7.5.5 继承规则210
7.6 属性访问210
实例7-8 演示类中的属性、常量和变量210
第8章 构造函数和析构函数212
8.1 构造函数概述212
8.1.1 结构体中的构造函数213
实例8-1 使用有参数构造函数213
实例8-2 演示使用加了“_”标记的参数构造函数214
8.1.2 类中的构造函数215
实例8-3 演示类中的构造函数215
8.2 构造过程详解217
8.2.1 为存储型属性赋初始值218
实例8-4 演示为存储型属性赋初始值219
8.2.2 定制化构造过程219
8.2.3 默认构造器221
8.2.4 值类型的构造器代理222
8.2.5 类的继承和构造过程224
8.2.6 可失败构造器231
8.3 析构函数233
8.3.1 析构过程原理233
实例8-5 在Swift中使用析构函数233
8.3.2 析构函数操作234
8.4 综合演练236
实例8-6 声明并调用Swift中各种常用的函数236
第9章 泛型243
9.1 泛型所解决的问题243
实例9-1 定义泛型244
9.2 泛型函数245
9.3 类型参数246
实例9-2 使用函数和类支持泛型246
9.4 命名类型参数和泛型类型249
9.5 扩展一个泛型252
9.6 类型约束252
9.6.1 类型约束语法253
9.6.2 类型约束行为253
9.7 关联类型255
9.7.1 关联类型行为255
9.7.2 扩展一个存在的类型为一指定关联类型257
9.8 Where语句257
第10章 协议和扩展259
10.1 协议的语法259
实例10-1 定义并使用协议260
10.2 对属性的规定261
10.3 对方法的规定263
10.4 对突变方法的规定263
10.5 协议类型264
10.6 委托(代理)模式266
10.7 在扩展中添加协议成员268
10.8 通过扩展补充协议声明269
10.9 集合中的协议类型269
10.10 协议的继承269
10.11 协议合成270
10.12 检验协议的一致性271
10.13 对可选协议的规定272
10.14 扩展详解274
10.14.1 扩展语法274
10.14.2 计算型属性275
实例10-2 演示计算型属性的用法275
10.14.3 构造器276
实例10-3 演示构造器的用法277
10.14.4 扩展方法278
实例10-4 演示扩展方法的用法278
10.14.5 下标279
实例10-5 演示下标的用法279
10.14.6 嵌套类型280
10.14.7 扩展字符串的用法281
实例10-6 演示扩展字符串的用法281
第11章 Swift和Objective-C混编开发282
11.1 在同一个工程中使用Swift和Objective-C282
11.1.1 Mix and Match概述282
11.1.2 在同一个应用的target中导入283
11.1.3 在同一个Framework的target中导入284
11.1.4 导入外部Framework285
11.1.5 在Objective-C中使用Swift285
11.1.6 实践练习286
实例11-1 在Objective-C中调用Swift286
11.2 Swift调用C语言函数288
11.2.1 调用简单的C语言函数288
实例11-2 在Swift中调用简单的C语言函数288
11.2.2 增加一个C语言键盘输入函数292
实例11-3 演示增加C语言键盘输入函数292
11.3 Swift调用C语言函数的综合演练293
实例11-4 综合演练调用C语言中的各种函数293
第12章 Xcode Interface Builder界面开发297
12.1 Interface Builder基础297
12.1.1 Interface Builder的作用297
12.1.2 Interface Builder的新特色298
12.2 Interface Builder采用的方法300
12.3 Interface Builder的故事板300
12.3.1 推出的背景300
12.3.2 故事板的文档大纲301
12.3.3 文档大纲的区域对象303
12.4 创建一个界面303
12.4.1 对象库304
12.4.2 将对象加入视图中305
12.4.3 使用IB布局工具305
12.5 定制界面外观308
12.5.1 使用属性检查器309
12.5.2 设置辅助功能属性309
12.5.3 测试界面310
第13章 使用Xcode编写MVC程序312
13.1 MVC模式基础312
13.1.1 诞生背景312
13.1.2 分析结构313
13.1.3 MVC的特点313
13.1.4 使用MVC实现程序设计的结构化314
13.2 Xcode中的MVC314
13.2.1 原理314
13.2.2 模板就是给予MVC的315
13.3 在Xcode中实现MVC316
13.3.1 视图316
13.3.2 视图控制器316
13.4 数据模型318
13.5 综合演练319
实例13-1 使用UISwitch控件控制是否显示密码明文319
第14章 基本组件324
14.1 文本框(UITextField)324
14.1.1 文本框基础324
14.1.2 实践练习325
实例14-1 为TextField添加震动效果325
14.2 文本视图(UITextView)326
14.2.1 文本视图基础326
14.2.2 实践练习327
实例14-2 显示UITextView中的文本327
14.3 标签(UILabel)329
14.3.1 标签(UILabel)的属性329
14.3.2 实践练习329
实例14-3 使用UILabel控件输出一个指定样式的文本329
14.4 按钮(UIButton)331
14.4.1 按钮基础331
14.4.2 实践练习332
实例14-4 自定义一个按钮332
14.5 滑块控件(UISlider)334
实例14-5 使用UISlider控件334
14.6 步进控件(UIStepper)337
14.6.1 步进控件基础337
14.6.2 实践练习338
实例14-6 使用步进控件自动增减数字338
14.7 图像视图控件(UIImageView)339
14.7.1 UIImageView的常用操作340
14.7.2 实践练习343
实例14-7 使用UIImageView控件344
14.8 开关控件(UISwitch)346
14.8.1 开关控件基础346
14.8.2 实践练习346
实例14-8 使用UISwitch控件控制是否显示密码明文346
14.9 分段控件(UISegmentedControl)349
14.9.1 分段控件基础349
14.9.2 实践练习350
实例14-9 自定义UISegmentedControl控件的样式350
第15章 提醒、操作表、工具栏和日期选择器351
15.1 提醒视图(UIAlertView)351
15.1.1 UIAlertView基础351
15.1.2 实践练习352
实例15-1 演示如何使用UIAlertView控件352
15.2 操作表(UIActionSheet)353
实例15-2 使用UIActionsheet实现一个分享App353
15.3 工具栏(UIToolbar)356
15.3.1 工具栏基础356
15.3.2 自定义工具栏358
实例15-3 使用UIToolbar控件制作自定义工具栏358
15.4 选择器视图(UIPickerView)366
15.4.1 选择器视图基础366
15.4.2 实践练习367
实例15-4 使用UIPickerView实现倒计时器367
15.5 日期选择(UIDatePicker)376
15.5.1 UIDatePicker基础376
15.5.2 实践练习377
实例15-5 演示如何使用UIDatePicker控件377
第16章 视图控制处理382
16.1 Web视图控件(UIWebView)382
16.1.1 Web视图基础382
16.1.2 实践练习383
实例16-1 加载指定的HTML网页并自动播放网页音乐383
16.2 可滚动视图控件(UIScrollView)386
16.2.1 UIScrollView的基本用法386
16.2.2 实践练习388
实例16-2 演示如何使用UIScrollView控件388
16.3 翻页控件(UIPageControl)390
16.3.1 PageControll控件基础390
16.3.2 实践练习391
实例16-3 使用UIPageControl控件设置四个界面391
16.4 表视图(UITable)394
16.4.1 表视图基础394
16.4.2 添加表视图395
16.4.3 UITableView详解397
16.4.4 实践练习397
实例16-4 在表视图中动态操作单元格397
第17章 活动指示器、进度条和检索条403
17.1 活动指示器(UIActivityIndicatorView)403
17.1.1 活动指示器基础403
17.1.2 实践练习403
实例17-1 演示如何使用UIActivityIndicatorView控件404
17.2 进度条(UIProgressView)405
17.2.1 进度条基础405
17.2.2 实践练习406
实例17-2 实现自定义进度条效果406
17.3 检索条(UISearchBar)412
17.3.1 检索条基础412
17.3.2 实践练习413
实例17-3 演示如何使用UISearchBar控件413
第18章 UIView和视图控制器416
18.1 UIView基础416
18.1.1 UIView的结构417
18.1.2 视图架构418
18.1.3 视图层次和子视图管理419
18.1.4 视图绘制周期420
18.1.5 实践练习420
实例18-1 在UIView中创建一个滚动图片浏览器420
18.2 导航控制器(UIViewController)简介427
18.2.1 UIViewController基础427
18.2.2 实践练习428
实例18-2 使用UIViewController控件创建会员登录系统428
18.3 使用UINavigationController431
18.3.1 导航栏、导航项和栏按钮项433
18.3.2 UINavigationController详解433
18.3.3 在故事板中使用导航控制器434
18.3.4 实践练习437
实例18-3 创建主从关系的“主-子”视图437
18.4 选项卡栏控制器439
18.4.1 选项卡栏和选项卡栏项439
18.4.2 在选项卡栏控制器管理的场景之间共享数据441
18.4.3 UITabBarController使用详解441
18.4.4 实践练习443
实例18-4 开发一个界面选择器443
第19章 图形、图像、图层和动画446
19.1 图形处理446
19.1.1 iOS的绘图机制446
19.1.2 实践练习447
实例19-1 使用Quartz 2D绘制移动的曲线447
19.2 图层450
19.2.1 视图和图层451
19.2.2 实践练习451
实例19-2 演示CALayers图层的用法451
19.3 实现动画453
19.3.1 UIImageView动画453
19.3.2 视图动画UIView454
19.3.3 Core Animation详解454
19.3.4 实践练习455
实例19-3 图形图像的人脸检测处理455
第20章 多媒体应用461
20.1 声音服务461
20.1.1 声音服务基础462
20.1.2 实践练习462
实例20-1 使用AudioToolbox播放列表中的音乐462
20.2 提醒和震动474
20.2.1 播放提醒音474
20.2.2 实践练习474
实例20-2 演示两种震动474
20.3 Media Player框架476
20.3.1 Media Player框架中的类476
20.3.2 实践练习476
实例20-3 播放指定的视频476
20.4 AV Foundation框架479
20.4.1 准备工作480
20.4.2 实践练习480
实例20-4 使用AVAudioPlayer播放和暂停指定的MP3480
20.5 图像选择器(UIImagePickerController)482
20.5.1 使用图像选择器482
20.5.2 实践练习482
实例20-5 实现ImagePicker功能482
第21章 定位处理486
21.1 Core Location框架486
21.1.1 Core Location基础486
21.1.2 实践练习487
实例21-1 定位显示当前的位置信息487
21.2 获取位置493
21.2.1 位置管理器委托493
21.2.2 处理定位错误494
21.2.3 位置精度和更新过滤器494
21.2.4 获取航向494
21.3 地图功能495
21.3.1 Map Kit基础495
21.3.2 为地图添加标注496
21.3.3 实践练习496
实例21-2 在地图中定位当前的位置信息496
第22章 和硬件之间的操作500
22.1 CoreMotion框架500
22.1.1 CoreMotion框架介绍500
22.1.2 加速计基础501
22.1.3 陀螺仪502
22.1.4 实践练习502
实例22-1 使用iPhone中的Motion传感器502
22.2 访问朝向和运动数据505
22.2.1 通过UIDevice请求朝向通知505
22.2.2 使用Core Motion读取加速计和陀螺仪数据505
22.2.3 实践练习506
实例22-2 传感器综合练习:海拔和距离测试器506
第23章 游戏开发518
23.1 Sprite Kit框架基础518
23.1.1 Sprite Kit的优点和缺点518
23.1.2 Sprite Kit、Cocos2D、Cocos2D-X和Unity的选择519
23.2 实践练习519
实例23-1 开发一个四子棋游戏519
第24章 WatchKit智能手表开发535
24.1 Apple Watch介绍535
24.2 WatchKit开发详解537
24.2.1 WatchKit架构537
24.2.2 WatchKit布局540
24.2.3 Glances和Notifications540
24.2.4 WatchApp的生命周期540
24.3 开发Apple Watch应用程序542
24.3.1 创建Watch应用542
24.3.2 创建Glance界面542
24.3.3 自定义通知界面543
24.3.4 配置Xcode项目543
24.4 实践练习546
实例24-1 开发一个综合性智能手表管理系统546
24.4.1 系统介绍547
24.4.2 创建工程项目547
24.4.3 iPhone端的具体实现549
24.4.4 Watch端的具体实现551
第25章 企业客服即时通信系统(第三方框架+云存储)559
25.1 即时通信系统介绍559
25.2 系统模块结构560
25.3 创建工程561
25.4 使用CocoaPods配置第三方框架562
25.4.1 什么是CocoaPods562
25.4.2 CocoaPods的核心组件562
25.4.3 本项目的CocoaPods562
25.5 用户登录563
25.5.1 登录主界面563
25.5.2 新用户注册568
25.6 系统聊天571
25.7 UI界面优化573
25.7.1 文本框优化573
25.7.2 HUD优化575
25.8 使用第三方框架576
25.9 使用云存储保存系统数据580
25.10 执行效果581