swift开发实例.docx
- 文档编号:4043280
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:17
- 大小:25.52KB
swift开发实例.docx
《swift开发实例.docx》由会员分享,可在线阅读,更多相关《swift开发实例.docx(17页珍藏版)》请在冰豆网上搜索。
swift开发实例
swift开发实例
欧阳老师又一神作--《Swift开发实战权威指南》
还记得2014年欧阳老师的那场精彩的Swift现场讲座吗?
作为移动互联网研发培训领导者千锋教育的iOS带头人,欧阳大神在Swift面世之初,就带来了独家Swift现场面授,欧阳老师的Swift讲座现场吸引了无数千锋老学员及Swift爱好者,他们中有人在现场,有人通过在线直播获取Swift第一手知识,而时隔不久,为帮助更多人了解Swift开发语言,并可以将Swift开发语言真正应用到iOS系统开发实战中。
欧阳老师的又一神作即将面世,欧阳大神呕心沥血,历经近1年时间,编写了《Swift开发实战权威指南》一书。
这本《Swift开发实战权威指南》涵盖知识面之广,技术之前沿,以及知识点的多角度讲解和深入浅出的原理分析均得到了广大iOS、Swift开发者的认可,和市面上的其他直接从苹果公司网站翻译而来的书籍根本不能相提并论,书籍还未面试,已经有很多人慕名联系千锋索要购买链接,咨询和预定的火爆程度远远超出预期。
《Swift开发实战权威指南》由Swift入门开始,由浅入深地介绍iOSApp开发的步骤和流程。
从基本的语法开始,然后是面向对象,高级语法和Objective-c之间相互调用,最后介绍UIApp开发整个流程。
全文共分为20章,包括了Swift语言基础篇和SwiftUI设计篇,将语言基础理论与项目实战进行了完美的结合。
上篇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
2014年互联网和移动互联网创造了一个又一个伟大传奇,苹果市值暴增了53%,一年的时间光是股票的增幅就相当于IBM公司的市值。
然后是中国的京东、阿里巴巴上市创造了中国互联网世界的神话,阿里巴巴2014年“双11”一天的营业额就达到了571亿元,其中移动互联网手机端的成交额占到了47%。
这些数字显示了移动互联网时代已经来临,一个全新时代已经开启。
有人预言,移动互联网会反超互联网。
大大小小的IT公司,以及从事传统事业的商家纷纷开始布局移动互联网。
互联网时代创造了一个个经济神话,也造就了很多时代英雄。
苹果公司显然早已掌握并且预测了移动互联网的蓬勃发展,所以苹果公司也顺势推出了下一代移动开发编程语言Swift,目的是吸引越来越多的开发者进入移动互联网行业。
本书的目的也是通过详细例子的讲解,让更多的开发者掌握这一全新的开发语言。
Swift编程开发语言是苹果公司2014年在美国旧金山召开的WWDC2014(AppleWorldwideDevelopersConference,苹果全球开发者大会)上发布的一种新的开发语言。
Swift语言专门用来开发苹果桌面OSX应用程序和iOS应用程序。
作为现代高级编程语言,Swift借鉴了很多其他优秀高级语言的特性,比如闭包Closure、操作符重载、泛型、ARC等特性。
此外,Swift语言还拥有很多新的特性,比如Playground使得编程更加有趣,更加实时地知道代码的运行效果。
对于开发者来说,Swift入门者的学习难度降低了很多,代码产出率也很高;当然它最大的优点是完全兼容Objective-C,可以无缝地使用iOS开发中的CocoaTouch类库和大量的第三方库,在项目开发中可以毫无障碍地使用Swift开发iOS或者OSX应用程序。
在苹果公司发布了iOS8和OSX10.10Yosemite操作系统后。
苹果官方正式欢迎开发者提交使用Swift开发的程序。
目前,AppStore,github已经有大量的App、开源库的提交,相信随着Swift用户群的不断壮大,会有越来越多的开发者加入到Swift开发社区中来。
本书的目标读者
本书面向希望为iPhone/iPad以及OSX开发应用程序的开发人员,是一本从入门到精通的开发手册。
本书通过大量清晰、完善的实例,迅速引导读者进行iOS开发。
对于Objective-C开发者来说,学习本书的内容可以快速上手开发Swift应用程序。
Swift是对Objective-C的一个优雅包装,本书也在很多代码实例中做出了Swift和Objective-C的对比,方便Objective-C开发者迅速上手开发Swift程序。
对于使用C/C++、Java、PHP、C#等其他开发语言的开发者,本书也能帮助其快速地转到Swift开发中来。
本书的组织结构
本书从Swift入门开始,由浅入深地介绍iOSApp开发的步骤和流程。
从基本的语法开始,然后是面向对象、高级语法和Objective-C之间相互调用,最后介绍UIApp开发整个流程。
下面概述了本书各章的内容。
第1章:
Swift语言介绍
介绍学习Swift语言的目的和要领,从总体上介绍语言的特点和与其他语言的比较,以便从其他语言转至Swift,并对Swift有一个整体的感性认识。
第2章:
基础知识
介绍Swift的基本常量、变量的定义声明,及定义数据类型,比如整数、浮点类型、类型的转化、元组类型以及初步的可选类型等。
同时介绍基本的运算操作。
第3章:
字符串、数组、字典
介绍Swift语言中常用的数据结构——字符串、数组和字典,使用大量实例讲解三者常用的API函数和使用方法以及注意事项。
第4章:
控制语句和函数
介绍编程中常见的分支、循环以及函数的定义,包括if、switch、for、while、break、continue以及fallthrough等语句的使用。
同时介绍函数的使用方法和Swift特有的函数标签的使用方法。
第5章:
枚举和结构体
结构体和枚举和C语言类似,都是面向对象使用的前奏,这里介绍结构体的声明、构造和使用,同时也强调了结构体值拷贝的特性。
枚举的声明、使用和C语言结构体的异同。
第6章:
类
本章是Swift面向对象初步,介绍类的概念和定义。
这里阐明了面向对象概念、类的属性和方法,以及mutating关键字,subscript下标等。
本章使用大量例子和概念来讲解类的各种情况,同时对于不同于其他语言的类的特点也做了详细的分析。
第7章:
继承
继承是任何面向对象中的一个重要特性,本章内容较多,分析了构造函数、析构函数、方便构造函数、子类、父类构造函数的调用顺序等。
还介绍了析构函数调用的方法,对于类中方法的扩展等也都做了详细的讲解。
第8章:
自动引用计数
讲解Swift需要注意的内存管理问题。
阐述了自动引用计数的工作原理,介绍了弱引用、强引用,在什么情况下会出现循环引用等情况,然后也给出了例子来解决循环引用。
第9章:
可选链和类型转换
可选链是Swift特有的语法,本章详细介绍可选链的模型定义,为什么需要可选链、可选链调用属性和方法,可选链调用subscript下标、可选链多层链接、返回值等。
同时介绍了各种类型之间的相互转换,Any和AnyObject类型的转换等。
第10章:
协议
介绍面向对象中一个重要的知识点——协议,协议是面向对象中重要数据传输的规范,也是作为代理的重要语法基础。
本章
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- swift 开发 实例