iOS移动开发从入门到精通(第2版) 9787302511571pdf下载

iOS移动开发从入门到精通(第2版) 9787302511571百度网盘pdf下载

作者:
简介:iOS移动开发从入门到精通(第2版) 9787302511571
出版社:
出版时间:2018-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


由于有小部分库存年限久 , 会有一点自然旧的情况(纸张发黄)(封面看起来不是崭
新崭新的 里面内容是新的 不会影响您的正常阅读与使用)如果比较介意的话 请勿下单!!
商品有什么问题请及时与客服沟通,我们会及时处理。请不要差评!谢谢!
温馨提示:我店周日休息,只接单不发货所拍商品周一发货!
着急的买家请谨慎购买!谢谢合作!本店可开电子发票!
开发票需要提供所开发票抬头及纳税人识别号(统一社会信用代码)!
不提供的或者开<个人>的默认不开发票敬请谅解!
发票内容默认开明细(书名),谢谢!

基本信息

书名:iOS移动开发从入门到精通(第2版)

定价:118.00元

作者:李发展

出版社:清华大学出版社

出版日期:2018-09-01

ISBN:9787302511571

字数:992000

页码:606

版次:2

装帧:平装-胶订

开本:16开

商品重量:0.4kg

编辑推荐


本书介绍使用iOS 11 Xcode 9 Swift 4开发移动应用所需要的主要内容,全书共分三篇,篇为基础篇,主要介绍iOS开发基础知识,包括iOS系统的历史、Swift 4.0语言、UI界面构建技术、视图控制器、常用的控件、表和集合视图、视图和层、声音、视频、动画等;第二篇为进阶篇,主要介绍Alamofire网络服务、数据的持久化、多线程、CoreText、CoreImage、Storyboard、CoreML机器学习、ARKit增强现实、自动化测试、性能分析、本地化、加密与安全等实用技术;第三篇为实例篇,通过对实体层、表现层和逻辑层三层相关技术的讲解,向读者详细展示了MVC设计模式在项目开发中的应用方式,并终创建一个成熟的商业项目。

内容提要


本书介绍使用iOS 11、Xcode 9和Swift 4.0开发移动应用所需要的主要内容,全书共分三篇,靠前篇为基础篇(~10章),主要介绍了iOS开发基础知识,包括iOS系统的历史、Swift 4.0语言、UI界面构建技术、视图控制器、常用的控件、表和集合视图、视图和层、声音、视频、动画等;第二篇为进阶篇(1~23章),主要介绍了Alamofire网络服务、数据的持久化、多线程、CoreText、CoreImage、Storyboard、CoreML机器学习、ARKit增强现实、自动化测试、性能分析、本地化、加密与安全等实用技术;第三篇为实例篇(第24~31章),通过对实体层、表现层和逻辑层三层相关技术的讲解,向读者详细展示了MVC设计模式在项目开发中的应用方式,并很终创建一个成熟的商业项目。本书还提供了丰富的源代码和教学视频,可以大幅提高读者的学习效率。
本书采用丰富的实例和直观的代码展示,向读者形象地讲解了在创建一款很好的iOS应用程序时所需要的大部分技巧,可以帮助读者轻松掌握并高效开发iOS程序。

目录


章开始iOS开发之旅1
1.1iOS移动开发现状1
1.1.1iOS的历史2
1.1.2iOS11的十一大变化4
1.1.3iOS应用开发的八个特点6
1.2iOS11和Xcode9新增的开发技能6
1.2.1ARKit增强现实7
1.2.2CoreML机器学习7
1.2.3FaceID7
1.2.4拖放操作8
1.2.5CoreNFC8
1.2.6安全区布局指南9
1.2.7AssetUIColor9
1.2.8WirelessDevelopment9
1.2.9GitHub10
1.3成为一名iOS开发者10
1.3.1硬件上的需求10
1.3.2加入Apple开发者计划11
1.3.3下载安装Xcode和模拟器12
1.3.4创建开发和发布配置文件ProvisioningProfile13
1.4创建一个基本的iOS项目16
1.4.1项目的创建16
1.4.2设置项目的信息18
1.4.3设置应用的Icon图标19
1.4.4设置应用的Launch图片20
1.4.5编译并运行项目22
1.5iOS应用的生命周期23
1.5.1iOS应用程序的状态23
1.5.2演示iOS应用程序的各种状态24
1.6小结25
第2章Xcode9IDE和iOS模拟器27
2.1Xcode9的使用27
2.1.1工具栏的使用28
2.1.2导航器的功能介绍29
2.1.3项目导航器中的内容29
2.1.4创建一个组和Swift文件30
2.1.5在项目中搜索文件33
2.1.6代码的查找和替换36
2.1.7代码的Debug调试36
2.2iOS模拟器的使用39
2.2.1使用多种iOS模拟器39
2.2.2iOS模拟器方向的切换40
2.2.3iOS模拟器语言的切换41
2.2.4截取模拟器屏幕41
2.2.5应用程序的退出和删除41
2.3小结42
第3章Swift4.0的基础知识43
3.1Swift的基本概念43
3.1.1Swift语言的特点44
3.1.2Swift常量和变量的定义44
3.1.3常量和变量的输出45
3.1.4注释46
3.1.5Playground47
3.2数据类型与运算49
3.2.1布尔类型49
3.2.2整数类型及实例属性50
3.2.3浮点类型及实例属性50
3.2.4字符和字符串51
3.2.5元组类型54
3.2.6一元、二元和三元运算符55
3.2.7比较运算符56
3.3循环语句和条件判断语句56
3.3.1for循环56
3.3.2while循环语句58
3.3.3repeat-while循环语句58
3.3.4if条件判断语句59
3.3.5switch条件判断语句60
3.3.6continue语句和fallthrough语句60
3.4数组和字典61
3.4.1数组61
3.4.2多维数组63
3.4.3数组的遍历64
3.4.4字典65
3.5小结67
第4章Swift4.0的进阶内容68
4.1函数68
4.1.1函数的定义和调用68
4.1.2为参数设置默认值69
4.1.3设置可变的函数参数数量70
4.1.4函数作为参数和返回类型71
4.1.5元组作为函数的返回类型实现多个返回值72
4.1.6使用函数类型73
4.1.7函数的输入输出参数74
4.1.8函数的嵌套74
4.1.9函数的递归用法75
4.1.10常用的内置函数76
4.2枚举和结构体78
4.2.1枚举78
4.2.2结构体81
4.3类84
4.3.1类的创建84
4.3.2类属性的set和get方法86
4.3.3类属性的willSet和didSet方法87
4.3.4类的静态方法89
4.3.5类的析构89
4.3.6类的继承90
4.3.7类的延迟加载属性lazy92
4.3.8类的引用特征93
4.3.9类型检查94
4.3.10Any和AnyObject96
4.4扩展、协议和其他97
4.4.1扩展97
4.4.2协议99
4.4.3问号和感叹号101
4.5小结103
第5章视图UIView和层CALayer104
5.1视图UIView104
5.1.1UIView概述104
5.1.2UIView的外观属性106
5.1.3UIView的几何属性110
5.1.4UIView的嵌套和层次关系112
5.1.5UIView的交互属性114
5.1.6UIView的变形操作116
5.1.7自定义UIView视图118
5.2CALayer层122
5.2.1CALayer边框122
5.2.2CALayer投影123
5.2.3CALayer圆角124
5.2.4CALayer渐变126
5.3小结128
第6章视图控制器UIViewController129
6.1UIViewController视图控制器概述129
6.1.1视图控制器与MVC130
6.1.2创建一个视图控制器131
6.1.3以模态方式弹出视图控制器134
6.1.4视图控制器的生命周期138
6.1.5视图控制器和UIScrollView140
6.2UITabBarController144
6.2.1创建一个UITabBarController144
6.2.2改变UITabBarController索引146
6.2.3在Tab图标上显示角标147
6.3UINavigationController148
6.3.1创建一个UINavigationController148
6.3.2UINavigationController视图入栈和出栈151
6.3.3导航栏和工具栏的显示和隐藏155
6.3.4导航栏样式的修改155
6.4导航控制器和标签控制器156
6.5小结159
第7章UIKit常用控件160
7.1UIKit框架和Foundation框架160
7.1.1UIKit框架的结构161
7.1.2UIKit框架和视图对象的交互163
7.2UIButton按钮控件164
7.2.1不同样式的UIButton按钮164
7.2.2UIButton按钮的状态166
7.2.3UIButton按钮的事件响应167
7.3UILabel标签控件169
7.3.1创建一个UILabel标签170
7.3.2长文本标签的换行170
7.3.3标签文字样式的自定义172
7.4UISwitch开关控件172
使用开关控件173
7.5UITextField文本输入控件的使用174
7.5.1自定义UITextField的外观和键盘174
7.5.2响应UITextField的键盘通知177
7.6UIAlertController178
7.6.1创建一个警告窗口179
7.6.2创建一个动作表单180
7.7UIDatePicker182
7.8UIStackView184
使用UIStackView组织视图184
7.9小结187
第8章UITableView和UICollectionView188
8.1UITableView概述188
8.1.1UITableViewCell单元格189
8.1.2创建一个简单的表格191
8.1.3自定义单元格
UITableViewCell195
8.1.4自定义单元格的高度197
8.1.5给表格添加章节和索引200
8.1.6单元格的选择与取消选择203
8.1.7单元格的插入和删除206
8.1.8移动单元格的位置211
8.1.9表格之间的嵌套214
8.2UICollectionView概述221
8.2.1UICollectionView的实现|原理222
8.2.2创建一个UICollectionView对象并添加点击事件223
8.3小结227
第9章触屏事件和触摸手势228
9.1触摸事件的监测228
9.1.1对触摸事件阶段的监测229
9.1.2监测是否触摸到某个视图231
9.1.3实现图像视图的拖动232
9.2触摸手势的使用234
9.2.1实现单点触摸手势235
9.2.2实现双击触摸手势237
9.2.3实现长按手势的监测237
9.2.4捏合手势的监测239
9.33DTouch的使用241
9.4小结244
0章动画、声音与视频245
10.1制作动画245
10.1.1UIView的动画245
10.1.2使用UIImageView播放帧动画251
10.1.3位移关键帧动画的制作253
10.2音频的播放255
10.2.1使用SystemSoundServices播放简短声音257
10.2.2使用AVAudioPlayer播放音乐258
10.3视频的播放261
10.3.1使用AVPlayer播放影片262
10.3.2实现影片的画中画功能263
10.4小结266
1章网络请求和Alamofire267
11.1网络请求267
11.1.1GET和POST请求267
11.1.2同步请求和异步请求268
11.1.3使用URLSession进行网络请求268
11.1.4使用URLSession下载图片并显示进度270
11.2Alamofire的使用273
11.2.1Alamofire的安装274
11.2.2使用Alamofire进行GET和POST请求275
11.2.3使用Alamofire上传图片277
11.2.4使用AlamofireImage缓存图像278
11.2.5使用AlamofireObjectMapper将JSON数据映射为对象281
11.3小结283
2章UIWebView与HTML5技术284
12.1UIWebView的使用284
12.1.1使用UIWebView加载网页285
12.1.2使用UIWebView加载HTML字符串和GIF动画287
12.1.3使用UIWebView加载本地网页289
12.1.4使用回调原生程序293
12.2创建一个简单的笔记本296
12.2.1创建一个可编辑的div296
12.2.2设置网页的CSS样式296
12.2.3添加插入笔记图片的方法297
12.2.4添加删除图片和获得笔记的方法299
12.2.5实现笔记本的用户界面299
12.3小结302
3章数据的持久化303
13.1解析plist文件303
13.1.1创建和解析plist文件304
13.1.2将信息写入plist文件306
13.2使用CoreData进行数据的持久化308
13.2.1创建CoreData实体并插入数据309
13.2.2检索CoreData中的数据312
13.2.3修改和删除CoreData数据313
13.3小结316
4章多线程技术317
14.1多线程的概念317
14.1.1任务、进程和线程318
14.1.2线程的StackSpace318
14.1.3线程的优先级318
14.1.4线程的生命周期319
14.1.5线程和RunLoop319
14.2使用Thread320
14.2.1创建Thread下载图片320
14.2.2给Thread加锁使线程同步322
14.3Operation技术的使用325
14.4GrandCentralDispatch的使用328
14.4.1使用GCD查询IP地址信息329
14.4.2DispatchGroup调度组的使用331
14.5小结333
5章MapKit地图334
15.1MapKit的概念334
15.1.1MKMapView的显示区域335
15.1.2MKMapView的跟踪和定位336
15.1.3MKMapView的交互选项和装饰物336
15.1.4创建一个MKMapView地图337
15.1.5MKMapView代理的使用339
15.1.6自定义annotationView和calloutView341
15.1.7Camera的使用344
15.2小结346
6章iOS的图文混排技术347
16.1CoreText的使用347
16.1.1文字排版方面的一些基本概念348
16.1.2列出设备中的所有字体350
16.1.3富文本的创建351
16.1.4图文混排的实现353
16.2TextKit的使用358
16.2.1使用TextKit对文字进行分栏358
16.2.2使用TextKit制作图文混排效果360
16.3小结362
7章iOS的图像和视频处理技术363
17.1CoreImage概述363
17.1.1使用CoreImage的三个类制作单色调效果364
17.1.2使用CoreImage给图片添加马赛克366
17.1.3使用CoreImage处理视频画面367
17.1.4输出CoreImage的所有滤镜372
17.1.5使用CIDetector和CIFeature进行人脸检测373
17.2UIBlurEffect和CGBlendMode375
17.2.1使用UIBlurEffect实现毛玻璃效果375
17.2.2使用CGBlendMode实现颜色混合效果376
17.3小结378
8章iOS常用设备的使用379
18.1照片和相机的使用379
18.1.1读取照片中的图片380
18.1.2调用相机拍摄照片384
18.2定位设备的使用385
18.2.1使用定位设备获取设备地理位置386
18.2.2将地理坐标转换为实际地名389
18.3陀螺仪和加速计设备的使用391
18.3.1陀螺仪的原理和应用391
18.3.2加速计的原理和应用392
18.3.3检测iOS设备的晃动392
18.4小结394
9章使用Storyboard开发用户界面395
19.1Storyboard概述395
19.1.1Storyboard的优缺点396
19.1.2Storyboard的组织形式397
19.1.3创建一个Storyboard398
19.1.4更改Storyboard的初始视图控制器400
19.2在Storyboard中使用标准控件401
19.2.1添加三个控件401
19.2.2对控件进行连接403
19.3在Storyboard中使用表格控件406
19.3.1在Storyboard中添加TableView406
19.3.2添加TableViewCell406
19.3.3设置TableView的数据源408
19.3.4修改ViewController.swift文件409
19.4在Storyboard中使用集合控件410
19.4.1添加CollectionView410
19.4.2设置CollectionViewCell410
19.4.3设置CollectionView的数据源和代理412
19.4.4修改ViewController.swift文件413
19.5Storyboard常见的层次结构414
19.6Storyboard之间的页面跳转和参数传递418
19.6.1单个Storyboard中页面之间的参数传递418
19.6.2多个Storyboard中的页面跳转及参数传递421
19.7使用约束功能适配多分辨率426
19.7.1打开并运行示例项目427
19.7.2给父视图MainView添加约束428
19.7.3给三条分隔线添加约束430
19.7.4给两个小箭头添加约束432
19.7.5给“添加新的会员”按钮添加约束434
19.7.6给图标添加约束435
19.8小结437
第20章单元测试和界面测试438
20.1单元测试概述438
20.1.1Xocde的XCTest框架439
20.1.2对自定义类的方法进行单元测试442
20.1.3使用XCTest框架进行性能测试445
20.2UITesting界面测试446
20.2.1往项目中插入UITesting446
20.2.2制作UI测试的程序448
20.2.3录制UITesting的步骤450
20.2.4播放UITesting的录制步骤450
20.3小结451
第21章iOS应用内存泄漏的检测452
21.1Allocations工具的使用452
21.2Leaks工具的使用459
21.3小结462
第22章iOS应用程序的本地化463
22.1应用程序的本地化463
22.1.1应用程序名称的本地化464
22.1.2应用程序文字内容的本地化468
22.1.3Storyboard的本地化472
22.1.4图片素材的本地化474
22.2小结477
第23章加密与安全478
23.1加密与安全478
23.1.1对称加密和非对称加密479
23.1.23DES加密479
23.1.3SHA1加密485
23.1.4MD5加密487
23.1.5越狱情况的判断489
23.2小结491
第24章iOS11新增开发功能492
24.1Assets.xcassets的新特性492
24.1.1在Assets.xcassets中添加ColorSet493
24.1.2在Assets.xcassets中添加矢量图片495
24.2UIPasteConfiguration和DragandDrop496
24.2.1实现Dragtopastetext功能497
24.2.2实现拖放粘贴图片功能499
24.3UISwipeActionsConfiguration的使用502
24.4ARKit增强现实框架505
24.4.1什么是AR增强现实506
24.4.2基于ARKit的应用程序506
24.4.3创建一个ARKit项目507
24.5CoreML机器学习框架511
24.6小结515
第25章在iTunesConnect上创建App516
25.1创建一款新App516
25.1.1登录iTunesConnect并创建App517
25.1.2创建In-AppPurchase内购项目519
25.1.3为IAP内购添加沙箱技术测试账号521
25.2小结522
第26章版本控制和开源类库安装523
26.1将项目添加到GitHub523
26.1.1Git和GitHub523
26.1.2创建一个GitHub账号524
26.1.3将新建项目上传到GitHub525
26.2使用CocoaPods安装第三方类库528
26.2.1安装CocoaPods528
26.2.2安装第三方开源类库529
26.3小结531
第27章App项目结构的搭建532
27.1项目目录结构的创建532
27.1.1创建NewGroup新组532
27.1.2Utils目录中的工具类533
27.1.3Models目录中的实体类535
27.2完成项目的信息配置536
27.2.1设置项目的通用属性536
27.2.2设置应用程序的图标537
27.2.3设置应用程序的启动图538
27.3制作引导页539
27.3.1下载和安装BWWalkthrough539
27.3.2创建引导页539
27.4制作动态标签控制器545
27.4.1下载和安装RAMAnimatedTabBarController545
27.4.2创建TabBarController546
27.4.3制作Tab动画效果547
27.5小结549
第28章开发笔试和答题功能应用550
28.1开发笔试答题功能550
28.1.1创建自定义视图551
28.1.2FoldingCell的下载和安装554
28.1.3在故事板中搭建界面554
28.1.4创建答题页面QuestionCell556
28.1.5创建QuizViewController559
28.2开发答题功能562
28.2.1在故事板中搭建界面562
28.2.2创建RandomViewController563
28.3小结565
第29章开发错题集和面试题功能应用566
29.1开发错题集功能566
29.1.1在故事板中搭建错题集界面567
29.1.2创建FailedItemsViewController567
29.2开发面试题功能570
29.2.1在故事板中搭建面试题界面570
29.2.2创建InterviewItemsViewController571
29.3小结574
第30章开发App盈利模式和分享传播应用575
30.1App的盈利模式和分享传播575
30.1.1谷歌AdMob广告的申请和植入576
30.1.2在故事板中搭建界面579
30.1.3使用Alamofire获取产品列表580
30.1.4实现InAppPurchases内购功能582
30.1.5使用ShareSDK实现App的社会化分享585
30.1.6多种分辨率的适配591
30.2小结594
第31章应用程序的打包和发布595
31.1iOS应用商店概述595
31.1.1AppStore的重大更新596
31.1.2在iTunesConnect配置一个App598
31.1.3打包App为IPA文件600
31.1.4自动化打包App602
31.1.5上传App至AppStore604
31.1.6配置构建版本并提交审核605
31.2小结606

作者介绍


李发展,教育网站coolketang.负责人。擅长移动开发、Web开发和游戏开发,有近十年的软件开发经验和四年以上的教育工作经验。曾主导过多个手机软件、游戏项目的开发,具有丰富的教学和实践经验,授课形式不拘一格。苹果商店《互动教程》系列App的开发者和拥有者。曾就职于知名企业,主要负责iOS和J2EE开发,服务过的客户包括:Bentley、Lexus、Hotel Club、Global Blue、REA group、Qatar Airways、Durex等行业标杆品牌,熟悉iOS、Swift、Cocos2dx、服务器开发等相关技术。

文摘


序言