《iOS移动开发从入门到精通》PDF 李发展 王亮

瑾年安好 187 0

《iOS移动开发从入门到精通》PDF 李发展 王亮

大小 : 396.19 MB |  下载量 : 7 次 |  文件类型 : PDF文档  

信息简介

书名:《iOS移动开发从入门到精通》

副标题:《iOS移动开发从入门到精通》

作者:李发展 王亮

类别:计算编程

页数:598

格式:PDF

ISBN:9787302462026

出版社:清华大学出版社

出版日期:2017年03月

内容简介

本书由资深iOS开发工程师精心编撰,系统地介绍了使用iOS10Swift3Xcode8开发移动应用的关键技术。本书共分三篇,*篇为基础篇,主要介绍了iOS开发基础知识,包括iOS系统的历史、Swift3.0语言、UI界面构建技术、视图控制器、常用的控件、表和集合视图、视图和层、声音、视频、动画等。第二篇为进阶篇,主要介绍了Alamofire网络服务、数据的持久化、多线程、CoreText、CoreImage、Storyboard、自动化测试、性能分析、本地化、加密与安全等实用技术。第三篇为实例篇,通过对实体层、表现层和逻辑层三层相关技术的讲解,向读者详细展示了MVC设计模式在项目开发中的应用方式,并*终创建一个成熟的商业项目。本书采用丰富的实例,直观的代码展示,向读者形象地讲解了在创建一款优秀的iOS应用程序时,所需要的大部分技巧,帮助读者轻松掌握并高效开发iOS程序。本书适合iOS开发新手、iOS程序员、iPhone开发人员、iPad开发人员使用,也可以作为相关培训机构和大专院校相关专业的教学用书。

作者简介

作品目录

第1章开发准备1

1.1iOS移动开发现状2

1.1.1iOS的历史2

1.1.2iOS10的十大变化4

1.1.3iOS应用开发的八个特点5

1.2iOS10的新功能5

1.2.1SiriKit6

1.2.2ProactiveSuggestions

(预建议)6

1.2.3IntegratingwiththeMessages

App7

1.2.4UserNotifications7

1.2.5SpeechRecognition8

1.2.6WideColor9

1.2.7AdaptingtotheTrueTone

Display9

1.2.8WidgetEnhancements9

1.2.9SecurityandPrivacy

Enhancements9

1.3成为一名iOS开发者11

1.3.1硬件上的需求11

1.3.2加入Apple开发者计划11

1.3.3下载安装Xcode和模拟器13

1.3.4创建开发和发布配置文件ProvisioningProfile14

1.4创建一个基本的iOS项目17

1.4.1项目的创建17

1.4.2设置项目的信息19

1.4.3设置应用的Icon图标19

1.4.4设置应用的Launch图片20

1.4.5编译并运行项目22

1.5iOS应用的生命周期23

1.5.1iOS应用程序的状态24

1.5.2演示iOS应用程序的各种

状态25

1.6小结26

第2章Xcode8IDE和iOS模拟器27

2.1Xcode8的使用28

2.1.1工具栏的使用28

2.1.2导航器的功能介绍29

2.1.3项目导航器中的内容30

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模拟器语言的切换40

2.2.4截取模拟器屏幕41

2.2.5应用程序的退出和删除41

2.3小结42

第3章Swift3.0的基础知识43

3.1Swift的基本概念44

3.1.1Swift语言的特点44

3.1.2Swift常量和变量的定义45

3.1.3常量和变量的输出46

3.1.4注释47

3.1.5Playground47

3.2数据类型与运算49

3.2.1布尔类型49

3.2.2Int类型及实例属性50

3.2.3浮点类型及实例属性51

3.2.4字符和字符串51

3.2.5元组类型54

3.2.6一元、二元和三元运算符55

3.2.7比较运算符56

3.3循环语句和条件判断语句57

3.3.1for循环57

3.3.2while循环语句58

3.3.3repeat-while循环语句59

3.3.4if条件判断语句60

3.3.5switch条件判断语句60

3.3.6continue语句和forthrough

语句61

3.4数组和字典62

3.4.1数组62

3.4.2多维数组64

3.4.3数组的遍历65

3.4.4字典66

3.5小结68

第4章Swift3.0的进阶内容69

4.1函数70

4.1.1函数的定义和调用70

4.1.2为参数设置默认值71

4.1.3设置可变的函数参数数量71

4.1.4函数作为参数和返回类型72

4.1.5元组作为函数的返回类型,

实现多个返回值74

4.1.6使用函数类型74

4.1.7函数的输入输出参数75

4.1.8函数的嵌套76

4.1.9函数的递归用法76

4.1.10常用的内置函数77

4.2枚举和结构体79

4.2.1枚举79

4.2.2结构体83

4.3类85

4.3.1类的创建85

4.3.2类属性的set和get方法88

4.3.3类属性的willSet和didSet

方法89

4.3.4类的静态方法90

4.3.5类的析构91

4.3.6类的继承92

4.3.7类的延迟加载属性lazy93

4.3.8类的引用特征95

4.3.9类型检查95

4.3.10Any和Anyobject98

4.4扩展、协议和其他99

4.4.1扩展99

4.4.2协议101

4.4.3问号?和感叹号!103

4.5小结105

第5章视图UIView和层CALayer106

5.1视图UIView107

5.1.1UIView概述107

5.1.2UIView的外观属性109

5.1.3UIView的几何属性112

5.1.4UIView的嵌套和层次关系114

5.1.5UIView的交互属性116

5.1.6UIView的变形操作118

5.1.7自定义UIView视图120

5.2CALayer层124

5.2.1CALayer边框124

5.2.2CALayer阴影125

5.2.3CALayer圆角126

5.2.4CALayer渐变127

5.3小结129

第6章视图控制器UIViewController130

6.1UIViewController视图控制器概述131

6.1.1视图控制器与MVC131

6.1.2创建一个视图控制器132

6.1.3以模态方式弹出视图控制器136

6.1.4视图控制器的生命周期139

6.1.5视图控制器和UIScrollView141

6.2UITabBarController145

6.2.1创建一个UITabBarController145

6.2.2改变Tabbar的位置147

6.2.3改变UITabBarController

索引149

6.2.4在Tab图标上显示角标149

6.3UINavigationController150

6.3.1创建一个UINavigationController

151

6.3.2UINavigationController视图

入栈和出栈153

6.3.3导航栏和工具栏的显示和

隐藏157

6.3.4导航栏样式的修改157

6.4导航控制器和标签控制器158

6.5小结161

第7章常用经典控件162

7.1控件概述163

7.1.1何为Target-Action机制163

7.1.2UIControl类的方法和属性165

7.1.3让我们一起动手来实现一个UIControl吧167

7.2UIButton的概述168

7.3UILabel文本视图171

7.3.1UILabel的创建和文案显示172

7.3.2UILabel处理过长的文案173

7.3.3UILabel的阴影174

7.4UISwitch开关视图175

7.4.1UISwitch的创建175

7.4.2UISwitch的开关使用176

7.5UIRefreshControl刷新控件176

7.6UITextField文本框控件178

7.6.1UITextField的创建和基本

应用179

7.6.2UITextField的背景图180

7.6.3UITextField的浮动视图(Overlayview)181

7.6.4UITextField的代理UITextFieldDelegate183

7.7小结185

第8章UITableView和UICollectionView

186

8.1UITableView概述187

8.1.1UITableViewCell单元格187

8.1.2创建一个简单的表格189

8.1.3自定义单元格UITableViewCell

193

8.1.4自定义单元格的高度196

8.1.5给表格添加章节和索引198

8.1.6单元格的选择与取消选择201

8.1.7单元格的插入和删除204

8.1.8移动单元格的位置209

8.1.9表格之间的嵌套213

8.2UICollectionView概述219

8.2.1UICollectionView的实现

原理220

8.2.2创建一个UICollectionView对象并添加点击事件221

8.3小结225

第9章触屏事件和触摸手势226

9.1触摸事件的监测227

9.1.1对触摸事件阶段的监测227

9.1.2监测是否触摸到某个视图229

9.1.3实现图像视图的拖动231

9.2触摸手势的使用232

9.2.1实现单点触摸手势233

9.2.2实现双击触摸手势235

9.2.3实现长按手势的监测236

9.2.4捏合手势的监测238

9.33DTouch的使用239

9.4小结242

第10章动画、声音与视频243

10.1制作动画244

10.1.1UIView的动画244

10.1.2使用UIImageView播放帧

动画249

10.1.3位移关键帧动画的制作251

10.2音频的播放254

10.2.1使用SystemSoundServices

播放简短声音255

10.2.2使用AVAudioPlayer播放

音乐256

10.3视频的播放260

10.3.1使用AVPlayer播放影片260

10.3.2实现影片的画中画功能262

10.4小结265

第11章Alamofire网络请求框架266

11.1Alamofire的前世今生267

11.1.1Alamofire的手动集成267

11.1.2Alamofire的网络是否联通和

连接方式269

11.1.3Alamofire的GET和POST

请求272

11.1.4Alamofire的文件上传及

进度显示274

11.1.5Alamofire的文件下载及

进度显示278

11.2小结279

第12章UIWebView与HTML5技术280

12.1UIWebView的使用281

12.1.1使用UIWebView加载网页281

12.1.2使用UIWebView加载HTML

字符串和GIF动画283

12.1.3使用UIWebView加载本地

网页286

12.1.4使用Javascript回调原生

程序289

12.2创建一个简单的笔记本292

12.2.1创建一个可编辑的div292

12.2.2设置网页的CSS样式293

12.2.3添加插入笔记图片的方法294

12.2.4添加删除图片和获得笔记的

方法295

12.2.5实现笔记本的用户界面296

12.3小结298

第13章数据的持久化299

13.1解析plist文件300

13.1.1创建和解析plist文件300

13.1.2将信息写入plist文件303

13.2使用CoreData进行数据的持久化304

13.2.1创建CoreData实体并插入

数据306

13.2.2检索CoreData中的数据308

13.2.3修改和删除CoreData数据310

13.3小结312

第14章多线程技术313

14.1多线程的概念314

14.1.1任务、进程和线程314

14.1.2线程的Stackspace315

14.1.3线程的优先级315

14.1.4线程的生命周期315

14.1.5线程和Runloop316

14.2使用Thread316

14.2.1创建Thread下载图片317

14.2.2给Thread加锁使线程同步319

14.3Operation技术的使用322

14.4GrandCentralDispatch的使用325

14.4.1使用GCD查询IP地址

信息326

14.4.2DispatchGroup调度组的

使用328

14.5小结329

第15章MapKit地图330

15.1MapKit的概念331

15.1.1MKMapView的显示区域331

15.1.2MKMapView的跟踪和

定位332

15.1.3MKMapView的交互选项和

装饰物333

15.1.4创建一个MKMapView

地图333

15.1.5MKMapView代理的使用335

15.1.6自定义annotationView和

calloutView337

15.1.7Camera相机的使用341

15.2小结342

第16章iOS的图文混排技术343

16.1CoreText的使用344

16.1.1文字排版方面的一些基本

概念344

16.1.2列出设备中的所有字体346

16.1.3富文本的创建347

16.1.4图文混排的实现350

16.2TextKit的使用354

16.2.1使用TextKit对文字进行

分栏354

16.2.2使用TextKit制作图文混排

效果357

16.3小结359

第17章iOS的图像和视频处理技术360

17.1CoreImage概述361

17.1.1使用CoreImage的三个类

制作单色调效果362

17.1.2使用CoreImage给图片添加

马赛克363

17.1.3使用CoreImage处理视频

画面364

17.1.4输出CoreImage的所有

滤镜369

17.1.5使用CIDetector和CIFeature

进行人脸检测370

17.2UIBlurEffect和CGBlendMode372

17.2.1使用UIBlurEffect实现毛玻璃

效果372

17.2.2使用CGBlendMode实现颜色

混合效果373

17.3小结376

第18章iOS常用设备的使用377

18.1Photos和Camera的使用378

18.1.1读取Photos中的图片378

18.1.2调用相机拍摄照片382

18.2定位设备的使用384

18.2.1使用定位设备获取设备地理

位置385

18.2.2将地理坐标转换为实际

地名388

18.3陀螺仪和加速计设备的使用390

18.3.1陀螺仪的原理和应用390

18.3.2加速计的原理和应用390

18.3.3检测iOS设备的晃动391

18.4小结393

第19章Storyboard故事板的使用394

19.1Storyboard概述395

19.1.1Storyboard的优缺点395

19.1.2故事板的组织形式396

19.1.3创建一个Storyboard397

19.1.4更改故事板的初始视图

控制器398

19.2在Storyboard中使用标准控件400

19.2.1添加三个控件400

19.2.2对控件进行连接402

19.3在Storyboard中使用表格控件405

19.3.1在故事板中添加TableView405

19.3.2添加TableViewCell405

19.3.3设置TableView的数据源407

19.3.4修改ViewController.swift

文件408

19.4在Storyboard中使用集合控件409

19.4.1添加CollectionView409

19.4.2设置CollectionViewCell409

19.4.3设置CollectionView的数据源

和代理411

19.4.4修改ViewController.swift

文件412

19.5Storyboard常见的层次结构413

19.6Storyboard之间的页面跳转和参数

传递417

19.6.1单个Storyboard中页面间的

参数传递417

19.6.2多个Storyboard中的页面跳转

及参数传递420

19.7使用约束功能适配多分辨率424

19.7.1打开并运行示例项目424

19.7.2给父视图MainView添加

约束426

19.7.3给三个分隔线添加约束428

19.7.4给两个小箭头添加约束429

19.7.5给添加新会员按钮添加

约束431

19.7.6给无数据图标添加约束432

19.8小结433

第20章界面测试和自动化测试434

20.1单元测试概述435

20.1.1Xocde的XCTest框架435

20.1.2对其他类的方法进行单元

测试438

20.1.3使用XCTest框架进行性能

测试441

20.2UITesting界面测试442

20.2.1往项目中插入UITesting443

20.2.2制作UI测试的程序444

20.2.3录制UITesting步骤446

20.2.4播放UITesting的录制

步骤446

20.3使用UIAutomation进行自动化

测试447

20.3.1使用UIAutomation录制

自动化测试代码447

20.3.2测试脚本的保存和加载449

20.4小结449

第21章iOS应用程序内存泄露的检测451

21.1Allocations工具的使用452

21.2Leaks工具的使用458

21.3小结461

第22章iOS应用程序的本地化462

22.1应用程序的本地化463

22.1.1应用程序名称的本地化463

22.1.2应用程序文字内容的本

地化468

22.1.3Storyboard的本地化471

22.1.4图片素材的本地化474

22.2小结477

第23章加密与安全478

23.1加密与安全479

23.1.1对称加密和非对称加密479

23.1.23DES加密480

23.1.3SHA1加密485

23.1.4MD5加密487

23.1.5越狱情况的判断490

23.2小结492

第24章开源框架CocoaPods493

24.1CocoaPods、SPM和Carthage简介494

24.1.1为什么使用CocoaPods494

24.1.2CocoaPods的安装及淘宝的

镜像使用495

24.1.3Podspec的镜像使用496

24.1.4CocoaPods的实践497

24.1.5podinstall和podupdate的

使用497

24.1.6CocoaPods的卸载498

24.2CocoaPods-app的使用498

24.2.1为新项目加入CocoaPods499

24.2.2对Podfile的podinstall和podupdate500

24.2.3删除工程中的CocoaPods501

24.2.4安装命令行502

24.3小结502

第25章Git版本控制及GitHub社会化

编程实践503

25.1Git前奏曲504

25.1.1什么是版本控制504

25.1.2版本控制简史504

25.1.3Git原理506

25.1.4Git的安装、配置、别名和

帮助508

25.2Git基础曲510

25.2.1创建本地仓库和关联远程

仓库510

25.2.2文件在工作区、暂存区和

Git本地仓库中的操作513

25.2.3查看提交历史515

25.2.4撤销操作515

25.2.5标签516

25.3小结519

第26章项目案例的架构搭建520

26.1多人协作的工作流程521

26.2技术选型522

26.3MVC及工程结构523

26.4UITabbarController、UINavigationController和Assets.xcassets的搭建525

26.4.1UITabbarController和UINavigationController525

26.4.2Assets.xcassets管理527

26.5小结529

第27章Model层相关框架530

27.1XML、Plist、JSON数据格式531

27.2开启ATS532

27.3AlamofireObjectMapper533

27.3.1AlamofireObjectMapper的

安装533

27.3.2AlamofireObjectMapper的

使用533

27.4ObjectMapper535

27.4.1ObjectMapper的安装535

27.4.2ObjectMapper中Model与

JSON的转换536

27.5Moya536

27.5.1Moya的安装537

27.5.2Moya的使用537

27.6小结540

第28章与众平台联姻541

28.1ShareSDK联合登录542

28.1.1获取AppKey542

28.1.2下载SDK542

28.1.3快速集成542

28.1.4新建HeaderFile并建立

桥接543

28.1.5打开桥接文件(Bridging-Header.h)544

28.1.6添加URLTypes546

28.1.7查看open.qq.com应用的

审核进度546

28.2ShareSDK分享548

28.2.1增加QQ平台分享支持548

28.2.2增加微信平台分享支持548

28.2.3QQ和微信平台分享的代码

实现549

28.3聚合数据和LeanCloud550

28.3.1聚合数据550

28.3.2LeanCloud551

28.4TalkingData统计551

28.5小结554

第29章开发SwiftNews新闻客户端

App555

29.1SwiftNewsApp概述556

29.1.1修改AppName556

29.1.2修改AppICON557

29.1.3欢迎页面558

29.1.4启动页面559

29.1.5Debug模式下的print561

29.1.6桥联SVProgressHUD562

29.1.7自定义Cell563

29.1.8国内和国际新闻模块564

29.1.9图片加圆角和助手类567

29.2小结569

第30章应用程序的打包和发布570

30.1iOS应用商店概述571

30.1.1AppStore的重大更新571

30.1.2在iTunesConnect创建一个

App573

30.1.3打包App为IPA文件576

30.1.4自动化打包App577

30.1.5上传App至AppStore580

30.1.6配置构建版本并提交审核580

30.2小结582

大小 : 396.19 MB |  下载量 : 7 次 |  文件类型 : PDF文档  

标签: 计算编程

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~