Swift开发实战权威指南pdf免费版高清版
编辑点评:全新、全面、全方位的掌握swift开发技术。
苹果2014年发布的一款全新的开发语言,Swift开发实战pdf兼容Objective-C,系统全面地介绍了Swift开发技术。内容包括Swift语言基础篇和SwiftUI设计篇,从Swift编程语言入门开始,逐渐深入讲解Swift的面向对象技术。
图片预览
图书亮点
全面:涵盖Swift开发的基础知识、常用技术模块及UIApp开发
新颖:以Swift最新稳定的Xcode6.x版本进行讲解,兼顾iPhone最新前沿技术
详细:结合图示,从概念、语法、示例、技巧和应用等多角度分析每个知识点
深入:对Swift各种开发技术进行了原理分析,便于读者更加深刻地理解
什么是Swift
Swift开发语言是苹果公司于2014年最新发布的一种全新的开发语言,它完全兼容Objective-C,可以使用CocoaTouch类库和大量的第三方库。本书深入浅出、系统全面地介绍了Swift开发技术。内容包括Swift语言基础篇和SwiftUI设计篇,从Swift编程语言入门开始,逐渐深入讲解Swift的面向对象技术,各种Swift语言的高级特性,如subscript、操作符重载、泛型,以及Objective-C相互调用等,最后介绍了如何进行Swift的iOSApp开发。本书面向希望为iPhone/iPad以及OSX开发应用程序的开发人员,是一本从入门到精通的开发手册。书中通过大量清晰、完善的实例,可以迅速引导读者进行iOS开发。
目录大全
上篇Swift语言基础篇
第1章Swift语言介绍2
1.1Swift语言介绍2
1.2Swift和Objective-C语言对比3
1.3Swift优秀的特性5
1.4使用Xcode建立Swift项目9
1.5Swift使用Playground13
第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自定义类型typealias22
2.2.4类型安全及类型推导22
2.2.5常数和数值进制的表示方法22
2.2.6类型转换23
2.2.7类型别名24
2.2.8布尔类型25
2.2.9元组Tube25
2.3可选类型Optional26
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.1if条件语句47
4.1.2switch语句48
4.2语句的作用域50
4.3循环结构51
4.3.1for循环51
4.3.2forin循环51
4.3.3while循环52
4.3.4do-while循环52
4.4跳转语句及块标签53
4.4.1continue语句53
4.4.2break语句53
4.4.3fallthrough语句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.4subscript下标81
6.4.1subscript的作用81
6.4.2subscript的声明82
6.4.3subscript的使用方法82
6.4.4subscript使用方法的例子82
第7章继承85
7.1继承实例分析85
7.2重写88
7.2.1重写方法89
7.2.2重写属性89
7.2.3重写属性观察器91
7.2.4super关键字93
7.2.5final关键字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弱引用weak131
8.4.2无主引用unowner134
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.4Any和AnyObject类型转换152
第10章协议155
10.1协议的语法155
10.1.1属性要求155
10.1.2方法要求157
10.1.3Mutating方法要求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.1sorted函数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
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.5Swift和Objective-C交互194
11.5.1Swift调用Objective-C函数194
11.5.2Objective-C调用Swift程序197
下篇SwiftUI设计篇
第12章第一个UI项目202
12.1创建工程202
12.2Xcode工程界面204
12.3代码及运行205
12.4运行207
第13章UIView视图208
13.1UIView的创建208
13.2CGRect详解209
13.3UIColor的使用211
13.4UIView的显示214
13.5父视图与子视图214
13.5.1概念214
13.5.2多视图215
13.5.3UIView的透明度属性216
13.6UIView其他操作216
13.6.1子视图数组216
13.6.2添加子视图的其他方法217
13.6.3子视图的层次的改变方法219
13.6.4UIView的简单动画220
13.7UIView的tag属性223
13.8UIView的移除224
第14章iOS中的各种控件226
14.1UILabel标签226
14.1.1UILabel的创建226
14.1.2UILabel的背景颜色和文字颜色226
14.1.3设置文本对齐方式227
14.1.4文字大小与标签宽度的自适应228
14.1.5行数与换行设置230
14.1.6UIFont字体的使用232
14.1.7文字阴影的设置237
14.2UIButton按钮控件237
14.2.1按钮的创建237
14.2.2UIButton的文字及颜色设置238
14.2.3State按钮的状态240
14.2.4Type按钮的类型242
14.2.5UIImage类的使用及给按钮添加图片243
14.2.6给按钮添加事件响应252
14.3UIImageView图片视图258
14.3.1UIImageView的创建并显示图片258
14.3.2UIImageView显示图片的拉伸设置261
14.3.3使用UIImageView实现动画262
14.3.4UIImageView的用户响应265
14.4UITextField单行文本框267
14.4.1UITextField创建267
14.4.2UITextField属性设置268
14.4.3键盘275
14.4.4UITextField响应用户事件278
14.4.5UITextField监控输入内容280
第15章UIViewControler视图控制器285
15.1创建视图控制器285
15.2视图控制器的产生过程288
15.3视图控制器的切换290
15.3.1弹出界面290
15.3.2回收界面292
15.4视图控制器的生命周期293
15.5视图控制器的切换动画294
第16章UINavigationController导航栏控制器297
16.1导航栏控制器概述297
16.2导航栏控制器的创建298
16.3导航栏299
16.3.1导航栏的标题299
16.3.2导航栏的背景颜色300
16.3.3导航栏的背景图片300
16.3.4导航栏的透明302
16.3.5导航栏的隐藏303
16.4视图控制器之间的切换304
16.4.1push304
16.4.2pop306
16.5navigationItem属性详解312
16.5.1提示区域312
16.5.2标题区域312
16.5.3设置右侧按钮315
16.5.4设置左侧按钮319
16.5.5设置一组按钮321
16.5.6设置返回按钮322
16.6UIToolBar的使用详解325
16.6.1系统自带的工具栏325
16.6.2使用工具栏326
16.6.3自定义工具栏328
第17章界面之间的传值330
17.1正向传值330
17.2反向传值331
17.2.1协议代理332
17.2.2闭包334
第18章UITabBarController标签栏控制器337
18.1标签栏控制器概述337
18.2标签栏控制器的创建337
18.3标签的创建340
18.3.1通过tabBarItem属性设置340
18.3.2自定义UITabBarItem342
18.4当创建的标签超过5个时的状态344
18.5标签栏控制器代理346
18.5.1捕捉编辑完成状态346
18.5.2捕捉标签选择的动作348
18.6标签栏控制器的其他属性设置349
18.6.1标签的徽标349
18.6.2手动选择标签349
18.7NSUserDefault本地化存储350
第19章UIScrollView滚动视图352
19.1UIScrollView的创建352
19.2滚动条的设置353
19.2.1滚动条的样式354
19.2.2滚动条的隐藏354
19.3滚动边界反弹效果355
19.4偏移量356
19.5滚动视图的代理方法356
19.5.1缩放357
19.5.2监控滚动视图的滚动358
19.6分屏滚动359
19.7引导页的实现360
19.8UIPageControl控件363
19.8.1创建方式363
19.8.2随着滚动视图的滚动改变当前页363
19.8.3设置显示效果364
第20章UITableView表视图367
20.1UITableView概述367
20.1.1UITableView的创建及显示367
20.1.2UITableView的头视图368
20.1.3UITableView的脚视图369
20.1.4UITableView的数据源370
20.1.5UITableView的分隔线371
20.1.6UITableViewCell单元格373
20.1.7UITableView的代理377
20.1.8UITableView的复用机制379
20.2NSIndexPath380
20.3多分区tableView380
20.3.1多分区tableView的创建380
20.3.2分区头标题382
20.3.3分区脚标题383
20.3.4分区头视图及头视图的高度384
20.3.5分区脚视图及脚视图的高度385
20.4UITableView行编辑386
20.4.1设置cell为编辑状态386
20.4.2修改cell的编辑状态388
20.4.3cell的响应编辑及左滑编辑功能389
20.4.4cell的删除391
20.4.5cell的增加391
20.5UITableView索引392
20.6UITableView搜索395
20.6.1搜索框395
20.6.2搜索显示控制器395
20.7UITableViewCell的定制402
20.7.1纯代码实现404
20.7.2xib实现定制407
作者介绍
毕业于清华大学,资深软件架构师,有超过10年软件开发经验,曾在多家顶级操作系统公司任职,长期从事操作系统、系统软件、软件架构、核心驱动优化等系统级软件设计和开发工作。对C/C++、Java、Objective-C等语言有丰富的运用经验,尤其对iOS/Android移动互联网软件开发有着浓厚的兴趣。