图书介绍
iOS开发指南 从零基础到App Store上架PDF|Epub|txt|kindle电子书版本下载
- 关东升编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115324443
- 出版时间:2013
- 标注页数:690页
- 文件大小:154MB
- 文件页数:705页
- 主题词:移动终端-应用程序-程序设计-指南
PDF下载
下载说明
iOS开发指南 从零基础到App Store上架PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础篇2
第1章 开篇综述2
1.1 iOS概述2
1.1.1 iOS介绍2
1.1.2 iOS 6断特性2
1.2开发环境及开发工具3
1.3本书中的约定4
1.3.1案例代码约定4
1.3.2图示的约定5
第2章 第一个iOS应用程序7
2.1创建基于nib的HelloWorld工程7
2.1.1创建工程7
2.1.2 Xcode中的iOS工程模板10
2.1.3应用剖析11
2.2基于故事板的HelloWorld工程13
2.2.1使用故事板重构HelloWorld14
2.2.2 nib、 xib与故事板15
2.2.3故事板中的Scene和Segue16
2.3应用生命周期17
2.3.1非运行状态——应用启动场景18
2.3.2点击Home键——应用退出场景19
2.3.3挂起重新运行场景20
2.3.4内存清除——应用终止场景21
2.4视图生命周期21
2.4.1视图生命周期与视图控制器关系22
2.4.2 iOS 6 UI状态保持和恢复23
2.5设置产品属性25
2.5.1 Xcode中的Proj ect和Target25
2.5.2设置常用的产品属性27
2.6 iOS API简介29
2.6.1 API概述29
2.6.2如何使用API帮助31
2.7小结33
第3章iOS常用设计模式34
3.1单例模式34
3.1.1问题提出34
3.1.2实现原理34
3.1.3应用案例35
3.2委托模式37
3.2.1问题提出37
3.2.2实现原理39
3.2.3应用案例41
3.3观察者模式44
3.3.1问题提出44
3.3.2实现原理45
3.3.3通知机制和KVO机制47
3.4 MVC模式53
3.4.1 MVC模式概述53
3.4.2 Cocoa Touch中的MVC模式54
3.5小结56
第4章UIView与控件57
4.1视图“始祖”——UIView57
4.1.1 UIView“家族”57
4.1.2应用界面的构建层次59
4.1.3视图分类60
4.2标签控件和按钮控件60
4.2.1标签控件61
4.2.2按钮控件61
4.2.3动作和输出口63
4.3 TextField控件和TextV iew控件66
4.3.1 TextField控件66
4.3.2 TextView控件67
4.3.3键盘的打开和关闭67
4.3.4关闭和打开键盘的通知68
4.3.5键盘的种类69
4.4开关控件、滑块控件和分段控件70
4.4.1开关控件71
4.4.2滑块控件71
4.4.3分段控件71
4.5网页控件WebView72
4.5.1 WebView介绍72
4.5.2使用WebView构建Hybrid应用75
4.6屏幕滚动控件ScrollView80
4.6.1 ScrollView属性的设置80
4.6.2键盘与其他控件的协同84
4.7等待相关的控件与进度条86
4.7.1活动指示器ActivityIndicatorV iew87
4.7.2进度条ProgressView88
4.8警告框和操作表88
4.8.1警告框AlertView89
4.8.2操作表ActionSheet90
4.9工具栏和导航栏92
4.9.1工具栏92
4.9.2导航栏94
4.10屏幕布局98
4.10.1 ipad与iPhone屏幕布局98
4.10.2绝对布局和相对布局99
4.10.3使用AutoLayout布局102
4.10.4旋转你的屏幕103
4.11选择器108
4.11.1日期选择器108
4.11.2普通选择器110
4.11.3数据源协议与委托协议112
4.12 iOS 6中的集合视图113
4.12.1集合视图介绍114
4.12.2集合视图单元格116
4.12.3数据源协议与委托协议118
4.13小结119
第5章 表视图120
5.1概述120
5.1.1表视图的组成120
5.1.2表视图的相关类121
5.1.3表视图分类122
5.1.4单元格的组成和样式123
5.1.5数据源协议与委托协议124
5.2简单表视图125
5.2.1创建简单表视图125
5.2.2自定义单元格129
5.2.3添加搜索栏133
5.3分节表视图138
5.3.1添加索引138
5.3.2分组与静态表141
5.4修改单元格144
5.4.1删除和插入单元格144
5.4.2移动单元格150
5.5表视图UI设计模式152
5.5.1分页模式152
5.5.2下拉刷新模式152
5.5.3 iOS 6下拉刷新控件153
5.6小结155
第6章 视图控制器与导航模式156
6.1概述156
6.1.1视图控制器的种类156
6.1.2导航模式156
6.1.3模态视图157
6.2平铺导航163
6.2.1应用场景163
6.2.2基于分屏导航的实现165
6.2.3基于分页导航的实现168
6.3标签导航173
6.3.1应用场景174
6.3.2 nib实现174
6.3.3故事板实现179
6.4树形结构导航182
6.4.1应用场景182
6.4.2 nib实现183
6.4.3故事板实现189
6.5组合使用导航模式193
6.5.1应用场景193
6.5.2故事板实现194
6.6小结200
第7章iphone与ipad应用开发的差异201
7.1概述201
7.1.1应用场景差异201
7.1.2设计和开发需注意的问题201
7.1.3构建自适应的iphone和iPad工程204
7.2 iPad专用API206
7.2.1 UIPopoverController控制器206
7.2.2 UISplitViewController控制器209
7.2.3模态视图专用属性215
7.3 Master-Detail应用程序模板219
7.3.1 nib实现220
7.3.2故事板实现225
7.4 Utility应用程序模板228
7.4.1 nib实现229
7.4.2故事板实现232
7.5移动平台的分层架构设计234
7.5.1低耦合企业级系统架构设计234
7.5.2移动平台的分层架构设计235
7.5.3基于同一工程的分层235
7.5.4基于一个工作空间不同工程的分层241
7.6小结244
第8章 应用程序设置245
8.1概述245
8.1.1设置245
8.1.2配置246
8.2应用程序设置包247
8.3设置项目种类248
8.3.1文本字段251
8.3.2开关253
8.3.3滑块254
8.3.4值列表256
8.3.5子界面257
8.4读取设置259
8.5小结260
第9章 应用程序本地化261
9.1概述261
9.1.1本地化内容261
9.1.2本地化目录结构263
9.2文本信息本地化263
9.2.1系统按钮和信息本地化263
9.2.2应用名称本地化265
9.2.3程序代码输出的静态文本本地化266
9.2.4使用genstring工具268
9.3 nib和故事板文件本地化268
9.3.1添加本地化269
9.3.2开关使用ibtool工具270
9.4资源文件本地化271
9.5小结273
第10章 数据持久化274
10.1概述274
10.1.1沙箱目录274
10.1.2持久化方式275
10.2属性列表275
10.3对象归档280
10.4使用SQLite数据库285
10.4.1 SQLite数据类型285
10.4.2创建数据库285
10.4.3查询数据287
10.4.4修改数据290
10.5 Core Data292
10.5.1 ORM292
10.5.2 Core Data堆栈293
10.5.3建模和生成实体296
10.5.4采用Core Data分层架构设计299
10.5.5查询数据301
10.5.6修改数据302
10.6小结304
第11章 访问通讯录305
11.1概述305
11.2读取联系人信息306
11.2.1查询联系人记录307
11.2.2读取单值属性309
11.2.3读取多值属性311
11.2.4读取图片属性313
11.3写入联系人信息313
11.3.1创建联系人315
11.3.2修改联系人317
11.3.3删除联系人318
11.4高级API319
11.4.1选择联系人319
11.4.2显示和修改联系人322
11.4.3创建联系人324
11.5小结328
第二部分 网络篇330
第12章 访问Web Service330
12.1概述330
12.2数据交换格式330
12.2.1 XML文档结构332
12.2.2解析XML文档333
12.2.3 JSON文档结构340
12.2.4 JSON数据解码341
12.3 REST Web Service343
12.3.1 HTTP和HTTPS协议343
12.3.2同步GET请求方法344
12.3.3异步GET请求方法348
12.3.4 POST请求方式349
12.3.5调用REST Web Service的插入、修改和删除方法350
12.4使用ASIHTTPRequest框架355
12.4.1安装和配置ASIHTTPRequest框架355
12.4.2同步请求356
12.4.3异步请求358
12.4.4使用请求队列359
12.4.5上传数据362
12.5反馈网络信息改善用户体验364
12.5.1 iOS 6表视图刷新控件的使用364
12.5.2使用等待指示器控件367
12.5.3使用网络等待指示器369
12.6小结370
第13章 定位服务与地图应用371
13.1定位服务371
13.1.1定位服务编程371
13.1.2地理信息反编码376
13.1.3地理信息编码查询377
13.1.4关于定位服务的测试379
13.2使用iOS 6苹果地图382
13.2.1显示地图382
13.2.2添加标注384
13.2.3跟踪用户位置变化387
13.3使用程序外地图388
13.3.1调用iOS 6苹果地图388
13.3.2调用谷歌Web地图391
13.4小结392
第三部分 进阶篇394
第14章iOS中的商业模式394
14.1收费策略394
14.1.1 iOS如何赚钱394
14.1.2避免定价策略误区395
14.1.3免费软件的艺术395
14.1.4在适当的时间、适当的地点植入广告395
14.1.5尝试不同的盈利模式395
14.2使用苹果iAd广告396
14.2.1横幅广告396
14.2.2插页广告401
14.2.3查看你的收入406
14.3使用谷歌AdMob广告408
14.3.1注册AdMob账号和管理应用408
14.3.2下载谷歌AdMob Ads SDK和示例代码412
14.3.3添加AdMob横幅广告414
14.3.4添加AdMob插页广告418
14.3.5为广告提交用户和位置信息421
14.3.6搜索广告422
14.3.7查看你的收入424
14.4应用内购买425
14.4.1概述425
14.4.2测试环境搭建426
14.4.3在程序中实现应用内购买431
14.4.4测试应用内购买437
14.5小结439
第15章 找出程序中的bug——调试440
15.1 Xcode调试工具440
15.1.1定位编译错误440
15.1.2查看和显示日志441
15.1.3设置和查看断点442
15.1.4调试工具栏446
15.1.5输出窗口447
15.1.6变量查看窗口448
15.1.7查看线程449
15.2日志与断言输出450
15.2.1使用NSLog函数450
15.2.2使用NSAssert宏451
15.2.3移除NSLog和NSAssert452
15.3 LLDB调试工具455
15.3.1断点命令455
15.3.2观察点命令457
15.3.3查看变量和计算表达式命令458
15.4异常堆栈报告分析461
15.4.1跟踪异常堆栈461
15.4.2分析堆栈报告463
15.5在iOS设备上调试464
15.5.1创建开发者证书465
15.5.2设备注册468
15.5.3创建App ID470
15.5.4创建配置概要文件471
15.5.5设备调试473
15.6 Xcode设备管理工具474
15.6.1管理设备配置概要文件474
15.6.2查看设备上的应用程序475
15.6.3设备控制台477
15.6.4设备日志477
15.7小结479
第16章 基于测试驱动的iOS开发480
16.1测试驱动的软件开发概述480
16.1.1测试驱动的软件开发流程480
16.1.2测试驱动的软件开发案例481
16.1.3 iOS单元测试框架486
16.2使用OCUnit测试框架486
16.2.1添加OCUnit到工程中486
16.2.2应用测试和逻辑测试489
16.2.3编写OCUnit测试方法489
16.2.4分析测试报告494
16.3使用GHUnit测试框架495
16.3.1添加GHUnit到工程496
16.3.2编写GHUnit测试用例498
16.3.3分析测试报告500
16.4使用伪对象502
16.4.1添加OCMock到工程503
16.4.2使用OCMock对象505
16.5 iOS单元测试最佳实践507
16.5.1 iOS单元测试策略507
16.5.2测试数据持久层507
16.5.3测试业务逻辑层512
16.5.4测试表示层515
16.6小结522
第17章 让你的程序“飞”起来——性能优化523
17.1内存优化523
17.1.1内存泄漏问题的解决523
17.1.2查找和解决僵尸对象531
17.1.3 autorelease的使用问题534
17.1.4响应内存警告534
17.1.5选择nib还是故事板536
17.2优化资源文件537
17.2.1图片文件优化537
17.2.2音频文件优化538
17.3延迟加载539
17.3.1资源文件的延迟加载540
17.3.2故事板和nib文件的延迟加载543
17.4数据持久化的优化546
17.4.1使用文件546
17.4.2使用SQLite数据库549
17.4.3使用Core Data550
17.5可重用对象的使用552
17.5.1表视图中的可重用对象553
17.5.2集合视图中的可重用对象554
17.5.3地图视图中的可重用对象555
17.6并发处理与多核CPU556
17.6.1主线程阻塞问题556
17.6.2选择NSThread还是GCD557
17.7编译器和编译参数558
17.7.1 GCC、 LLVM GCC与Apple LLVM 比较558
17.7.2 ARM架构559
17.7.3 Optimization Level561
17.8小结562
第18章 管理好你的程序代码——代码版本控制563
18.1概述563
18.1.1版本控制历史563
18.1.2基本概念564
18.2 Git代码版本控制564
18.2.1服务器搭建564
18.2.2 Gitolite服务器管理566
18.2.3 Git常用命令568
18.2.4 Git分支570
18.2.5 Git协同开发574
18.2.6 Xcode中Git的配置与使用576
18.3 GitHub代码托管服务583
18.3.1创建和配置GitHub账号584
18.3.2创建代码库586
18.3.3派生代码库589
18.3.4使用GitHub协同开发591
18.3.5管理组织596
18.4小结599
第19章 把你的应用放到App Store上600
19.1收官600
19.1.1添加图标600
19.1.2添加启动界面602
19.1.3调整Application Target属性604
19.1.4为发布进行编译605
19.1.5应用打包609
19.2发布流程610
19.2.1创建应用及基本信息611
19.2.2应用定价信息612
19.2.3最后信息输入613
19.2.4上传应用616
19.3常见审核不通过的原因618
19.4小结619
第四部分 实战篇622
第20章 重构MyNotes应用——iOS网络通信中的设计模式与架构设计622
20.1移动网络通信应用的分层架构设计622
20.2基于委托模式实现623
20.2.1网络通信与委托模式623
20.2.2在异步网络通信中使用委托模式实现分层架构设计623
20.2.3类图624
20.2.4时序图626
20.2.5数据持久层的代码实现629
20.2.6业务逻辑层的代码实现631
20.2.7表示层的代码实现632
20.3基于观察者模式的通知机制实现637
20.3.1观察者模式的通知机制回顾637
20.3.2异步网络通信中通知机制的分层架构设计638
20.3.3类图638
20.3.4时序图639
20.3.5数据持久层的代码实现642
20.3.6业务逻辑层的代码实现643
20.3.7表示层的代码实现644
20.4小结649
第21章iOS敏捷开发项目实战——2016里约热内卢奥运会应用开发及App Store发布650
21.1应用分析与设计650
21.1.1应用概述650
21.1.2需求分析650
21.1.3原型设计651
21.1.4数据库设计652
21.1.5架构设计652
21.2 iOS敏捷开发653
21.2.1敏捷开发宣言653
21.2.2 iOS适合敏捷开发?654
21.2.3 iOS敏捷开发最佳实践654
21.3任务1:创建应用基本工作空间656
21.4任务2:信息系统层与持久层开发657
21.4.1迭代2.1:编写数据库DDL脚本657
21.4.2迭代2.2:插入初始数据到数据库658
21.4.3迭代2.3:编写实体类658
21.4.4迭代2.4: DAO类GHUnit单元测试659
21.4.5迭代2.5:编写DAO类663
21.4.6迭代2.6:发布到GitHub666
21.5任务3:业务逻辑层开发667
21.5.1迭代3.1:比赛项目业务逻辑类GHUnit单元测试667
21.5.2迭代3.2:编写比赛项目业务逻辑类668
21.5.3迭代3.3:比赛日程业务逻辑类GHUnit单元测试669
21.5.4迭代3.4:编写比赛日程业务逻辑类670
21.5.5迭代3.5:发布到GitHub672
21.6任务4:表示层开发672
21.6.1迭代4.1:根据原型设计初步设计ipad故事板673
21.6.2迭代4.2:根据原型设计初步设计iPhone故事板674
21.6.3迭代4.3:首页模块674
21.6.4迭代4.4:比赛项目模块675
21.6.5迭代4.5:比赛日程模块679
21.6.6迭代4.6:倒计时模块表示层681
21.6.7迭代4.7:关于我们模块表示层683
21.6.8迭代4.8:发布到GitHub683
21.7任务5:收工684
21.7.1迭代5.1:添加图标684
21.7.2迭代5.2:设计和添加启动界面684
21.7.3迭代5.3:植入谷歌AdMob横幅广告685
21.7.4迭代5.4:性能测试与改善686
21.7.5迭代5.5:发布到GitHub687
21.7.6迭代5.6:在App Store上发布应用687
21.8小结690