图书介绍

iOS开发指南 从零基础到AppStore上架 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

iOS开发指南 从零基础到AppStore上架 第2版
  • 关东升著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115348029
  • 出版时间:2014
  • 标注页数:699页
  • 文件大小:133MB
  • 文件页数:714页
  • 主题词:移动终端-应用程序-程序设计-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

iOS开发指南 从零基础到AppStore上架 第2版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 7新特性2

1.2开发环境及开发工具3

1.3本书中的约定4

1.3.1案例代码约定5

1.3.2图示的约定5

第2章 第一个iOS应用程序7

2.1创建HelloWorld工程7

2.1.1创建工程7

2.1.2 Xcode中的iOS工程模板12

2.1.3应用剖析13

2.2 HelloWorld工程中故事板文件Main.storyboard16

2.2.1故事板的导航特点16

2.2.2故事板中的Scene和Segue17

2.3应用生命周期17

2.3.1非运行状态——应用启动场景19

2.3.2点击Home键——应用退出场景20

2.3.3挂起重新运行场景21

2.3.4内存清除——应用终止场景22

2.4视图生命周期22

2.4.1视图生命周期与视图控制器关系23

2.4.2 iOS UI状态保持和恢复24

2.5设置产品属性26

2.5.1 Xcode中的Project和Target26

2.5.2设置常用的产品属性28

2.6 iOS API简介30

2.6.1 API概述30

2.6.2如何使用API帮助32

2.7小结34

第3章 UIView与控件35

3.1视图“始祖”——UIView35

3.1.1 UIview“家族”35

3.1.2应用界面的构建层次37

3.1.3视图分类38

3.2标签控件和按钮控件38

3.2.1标签控件39

3.2.2按钮控件39

3.2.3动作和输出口41

3.3 TextField控件和TextView控件43

3.3.1 TextField控件44

3.3.2 TextView控件44

3.3.3键盘的打开和关闭45

3.3.4关闭和打开键盘的通知46

3.3.5键盘的种类47

3.4开关控件、滑块控件和分段控件48

3.4.1开关控件49

3.4.2滑块控件49

3.4.3分段控件49

3.5网页控件WebView50

3.5.1 WebView介绍50

3.5.2使用WebView构建Hybrid应用53

3.6屏幕滚动控件ScrollView58

3.6.1 ScrollView属性的设置58

3.6.2键盘与其他控件的协同63

3.7等待相关的控件与进度条65

3.7.1活动指示器ActivityIndicatorView66

3.7.2进度条ProgressView66

3.8警告框和操作表67

3.8.1警告框AlertView67

3.8.2操作表ActionSheet69

3.9工具栏和导航栏70

3.9.1工具栏70

3.9.2导航栏73

3.10屏幕布局77

3.10.1 iPad、iPhone和iPhone 5屏幕布局77

3.10.2绝对布局和相对布局78

3.10.3使用AutoLayout布局80

3.10.4旋转你的屏幕82

3.11选择器86

3.11.1日期选择器86

3.11.2普通选择器88

3.11.3数据源协议与委托协议90

3.12集合视图92

3.12.1集合视图介绍92

3.12.2集合视图单元格94

3.12.3数据源协议与委托协议97

3.13小结97

第4章 表视图98

4.1概述98

4.1.1表视图的组成98

4.1.2表视图的相关类99

4.1.3表视图分类100

4.1.4单元格的组成和样式103

4.1.5数据源协议与委托协议105

4.2简单表视图106

4.2.1创建简单表视图106

4.2.2自定义单元格110

4.2.3添加搜索栏114

4.3分节表视图119

4.3.1添加索引119

4.3.2分组与静态表122

4.4修改单元格126

4.4.1删除和插入单元格126

4.4.2移动单元格132

4.5表视图UI设计模式134

4.5.1分页模式134

4.5.2下拉刷新模式134

4.5.3 iOS 7下拉刷新控件135

4.6小结137

第5章 视图控制器与导航模式138

5.1概述138

5.1.1视图控制器的种类138

5.1.2导航模式138

5.1.3模态视图139

5.2平铺导航145

5.2.1应用场景145

5.2.2基于分屏导航的实现147

5.2.3基于分页导航的实现150

5.3标签导航156

5.3.1应用场景157

5.3.2实现157

5.4树形结构导航159

5.4.1应用场景160

5.4.2实现161

5.5组合使用导航模式165

5.5.1应用场景166

5.5.2实现166

5.6小结173

第6章 iOS常用设计模式174

6.1单例模式174

6.1.1问题提出174

6.1.2实现原理174

6.1.3应用案例175

6.2委托模式177

6.2.1问题提出177

6.2.2实现原理178

6.2.3应用案例181

6.3观察者模式184

6.3.1问题提出184

6.3.2实现原理185

6.3.3通知机制和KVO机制187

6.4 MVC模式193

6.4.1 MVC模式概述193

6.4.2 Cocoa Touch中的MVC模式194

6.5小结196

第7章 iPhone与iPad应用开发的差异197

7.1概述197

7.1.1应用场景差异197

7.1.2设计和开发需注意的问题197

7.1.3构建自适应的iPhone和iPad工程200

7.2 iPad专用API202

7.2.1 UIPopoverController控制器202

7.2.2 UISplitViewController控制器205

7.2.3模态视图专用属性211

7.3小结215

第8章 iOS分层架构设计216

8.1低耦合企业级系统架构设计216

8.2 iOS分层架构设计217

8.2.1基于同一工程的分层217

8.2.2基于一个工作空间不同工程的分层222

8.3小结227

第9章 iOS 7中文字排版和渲染引擎——Text Kit228

9.1 Text Kit基础228

9.1.1文字的排版和渲染228

9.1.2 Text Kit架构228

9.1.3 Text Kit中的核心类229

9.1.3实例:凸版印刷效果231

9.2文字图片混合排版233

9.3动态字体236

9.4小结239

第10章 应用程序设置240

10.1概述240

10.1.1设置240

10.1.2配置241

10.2应用程序设置包243

10.3设置项目种类244

10.3.1文本字段247

10.3.2开关249

10.3.3滑块250

10.3.4值列表252

10.3.5子界面253

10.4读取设置255

10.5小结256

第11章 国际化257

11.1概述257

11.1.1需要国际化的内容257

11.1.2国际化目录结构259

11.2文本信息国际化260

11.2.1系统按钮和信息国际化260

11.2.2应用名称国际化261

11.2.3程序代码输出的静态文本国际化263

11.2.4使用genstring工具265

11.3 xib和故事板文件国际化266

11.3.1使用Base国际化技术266

11.3.2 AutoLayout与国际化268

11.4资源文件国际化270

11.4.1图片资源文件国际化270

11.4.2声音资源文件国际化271

11.5小结271

第12章 数据持久化272

12.1概述272

12.1.1沙箱目录272

12.1.2持久化方式273

12.2属性列表273

12.3对象归档278

12.4使用SQLite数据库282

12.4.1 SQLite数据类型283

12.4.2创建数据库283

12.4.3查询数据285

12.4.4修改数据288

12.5 Core Data290

12.5.1 ORM290

12.5.2 Core Data堆栈290

12.5.3建模和生成实体294

12.5.4采用Core Data分层架构设计297

12.5.5查询数据298

12.5.6修改数据300

12.6小结301

第13章 访问通讯录302

13.1概述303

13.2读取联系人信息303

13.2.1查询联系人记录304

13.2.2读取单值属性306

13.2.3读取多值属性308

13.2.4读取图片属性310

13.3写入联系人信息310

13.3.1创建联系人312

13.3.2修改联系人314

13.3.3删除联系人315

13.4高级API316

13.4.1选择联系人316

13.4.2显示和修改联系人319

13.4.3创建联系人322

13.5小结325

第二部分 网络篇328

第14章 访问 Web Service328

14.1概述328

14.2数据交换格式328

14.2.1XML文档结构330

14.2.2解析XML文档331

14.2.3 JSON文档结构338

14.2.4 JSON数据解码339

14.3 REST Web Service341

14.3.1 HTTP和HTTPS协议341

14.3.2同步GET请求方法342

14.3.3异步GET请求方法346

14.3.4 POST请求方式347

14.3.5调用REST Web Service的插入、修改和删除方法348

14.4使用轻量级网络请求框架MKNetworkKit352

14.4.1 ASIHTTPRequest、AFNetworking和MKNetworkKit比较353

14.4.2安装和配置MKNetworkKit框架353

14.4.3网络请求354

14.4.4下载数据356

14.4.5上传数据358

14.5反馈网络信息改善用户体验359

14.5.1使用下拉刷新控件改善用户体验359

14.5.2使用等待指示器控件362

14.5.3使用网络等待指示器365

14.6小结366

第15章 定位服务与地图应用367

15.1定位服务367

15.1.1定位服务编程368

15.1.2地理信息反编码372

15.1.3地理信息编码查询373

15.1.4关于定位服务的测试375

15.2使用iOS苹果地图378

15.2.1显示地图378

15.2.2添加标注380

15.2.3跟踪用户位置变化383

15.3使用程序外地图384

15.3.1调用iOS苹果地图384

15.3.2调用谷歌Web地图387

15.4小结388

第三部分 进阶篇390

第16章 升级?390

16.1从iOS 6到iOS 7的升级390

16.1.1 iOS 7全新的扁平化设计391

16.1.2屏幕适配问题394

16.1.3 iOS 7状态栏隐藏396

16.1.4 iOS 7状态栏样式设置397

16.2从Xcode 4到Xcode 5的升级399

16.2.1 ARC与MRC之争399

16.2.2故事板与xib之争402

16.2.3找回普通显示屏的模拟器407

16.2.4找回老版本的Interface Builder408

16.2.5使用资源目录管理图片409

16.3从iPhone 4到iPhone 5的升级412

16.3.1屏幕适配问题413

16.3.2从32位到64位的升级416

16.4小结417

第17章 iOS中的商业模式418

17.1收费策略418

17.1.1 iOS如何赚钱418

17.1.2避免定价策略误区419

17.1.3免费软件的艺术419

17.1.4在适当的时间、适当的地点植入广告419

17.1.5尝试不同的盈利模式419

17.2使用苹果iAd广告420

17.2.1横幅广告420

17.2.2插页广告425

17.2.3查看你的收入430

17.3使用谷歌AdMob广告432

17.3.1注册AdMob账号和管理应用432

17.3.2下载谷歌AdMob Ads SDK和示例代码435

17.3.3添加AdMob横幅广告437

17.3.4添加AdMob插页广告442

17.3.5为广告提交用户和位置信息445

17.3.6搜索广告446

17.3.7查看你的收入448

17.4应用内购买449

17.4.1概述449

17.4.2测试环境搭建450

17.4.3在程序中实现应用内购买455

17.4.4测试应用内购买461

17.5小结463

第18章 找出程序中的bug——调试464

18.1 Xcode调试工具464

18.1.1定位编译错误464

18.1.2查看和显示日志465

18.1.3设置和查看断点466

18.1.4调试工具栏470

18.1.5输出窗口471

18.1.6变量查看窗口473

18.1.7查看线程474

18.2日志与断言输出475

18.2.1使用NSLog函数475

18.2.2使用NSAssert宏476

18.2.3移除NSLog和NSAssert477

18.3 LLDB调试工具479

18.3.1断点命令480

18.3.2观察点命令482

18.3.3查看变量和计算表达式命令483

18.4异常堆栈报告分析485

18.4.1跟踪异常堆栈485

18.4.2分析堆栈报告488

18.5在iOS设备上调试488

18.5.1创建开发者证书489

18.5.2设备注册493

18.5.3创建App ID495

18.5.4创建配置概要文件497

18.5.5设备调试501

18.6 Xcode设备管理工具502

18.6.1管理设备配置概要文件503

18.6.2查看设备上的应用程序504

18.6.3设备控制台505

18.6.4设备日志505

18.7小结506

第19章 测试驱动下的iOS应用开发507

19.1测试驱动的软件开发概述507

19.1.1测试驱动的软件开发流程507

19.1.2测试驱功的软件开发案例508

19.1.3 iOS 7单元测试框架513

19.2使用XCTest测试框架513

19.2.1添加XCTest到工程514

19.2.2编写XCTest测试方法515

19.2.3运行测试程序521

19.2.4分析测试报告521

19.3 iOS单元测试最佳实践523

19.3.1测试数据持久层523

19.3.2测试业务逻辑层527

19.3.3测试表示层529

19.4小结531

第20章 让你的程序“飞”起来——性能优化532

20.1内存优化532

20.1.1内存泄漏问题的解决532

20.1.2查找和解决僵尸对象540

20.1.3 autorelease的使用问题543

20.1.4响应内存警告543

20.1.5选择xib还是故事板545

20.2优化资源文件545

20.2.1图片文件优化546

20.2.2音频文件优化548

20.3延迟加载549

20.3.1资源文件的延迟加载549

20.3.2故事板和xib文件的延迟加载553

20.4数据持久化的优化555

20.4.1使用文件555

20.4.2使用SQLite数据库559

20.4.3使用Core Data560

20.5可重用对象的使用562

20.5.1表视图中的可重用对象562

20.5.2集合视图中的可重用对象564

20.5.3地图视图中的可重用对象565

20.6并发处理与多核CPU565

20.6.1主线程阻塞问题566

20.6.2选择NSThread还是GCD566

20.7编译参数568

20.8小结569

第21章 管理好你的程序代码——代码版本控制570

21.1概述570

21.1.1版本控制历史570

21.1.2基本概念571

21.2 Git代码版本控制571

21.2.1服务器搭建571

21.2.2 Gitolite服务器管理573

21.2.3 Git常用命令575

21.2.4 Git分支577

21.2.5 Git协同开发581

21.2.6 Xcode 5中Git的配置与使用583

21.3 GitHub代码托管服务590

21.3.1创建和配置GitHub账号590

21.3.2创建代码库592

21.3.3派生代码库595

21.3.4使用GitHub协同开发597

21.3.5管理组织601

21.4小结605

第22章 把你的应用放到App Store上606

22.1收官606

22.1.1在Xcode 5下添加图标606

22.1.2 Xcode 5添加启动界面608

22.1.3 调整Identity和Deployment Info属性611

22.1.4为发布进行编译612

22.1.5应用打包618

22.2发布流程619

22.2.1创建应用及基本信息620

22.2.2应用定价信息621

22.2.3最后的信息输入622

22.2.4上传应用625

22.3审核不通过的常见原因627

22.4小结628

第四部分 实战篇630

第23章 重构MyNotes应用——iOS网络通信中的设计模式与架构设计630

23.1移动网络通信应用的分层架构设计630

23.2基于委托模式实现631

23.2.1网络通信与委托模式631

23.2.2在异步网络通信中使用委托模式实现分层架构设计631

23.2.3类图632

23.2.4时序图634

23.2.5数据持久层重构637

23.2.6业务逻辑层的代码实现640

23.2.7表示层的代码实现642

23.3基于观察者模式的通知机制实现646

23.3.1观察者模式的通知机制回顾646

23.3.2异步网络通信中通知机制的分层架构设计647

23.3.3类图647

23.3.4时序图648

23.3.5数据持久层的重构651

23.3.6业务逻辑层的代码实现653

23.3.7表示层的代码实现653

23.4小结658

第24章 iOS敏捷开发项目实战——2016里约热内卢奥运会应用开发及App Store发布659

24.1应用分析与设计659

24.1.1应用概述659

24.1.2需求分析659

24.1.3原型设计660

24.1.4数据库设计660

24.1.5架构设计662

24.2 iOS敏捷开发662

24.2.1敏捷开发宣言662

24.2.2 iOS适合敏捷开发吗663

24.2.3 iOS敏捷开发最佳实践663

24.3任务1:创建应用基本工作空间665

24.4任务2:信息系统层与持久层开发666

24.4.1迭代2.1:编写数据库DDL脚本666

24.4.2迭代2.2:插入初始数据到数据库667

24.4.3迭代2.3:编写实体类667

24.4.4迭代2.4:DAO类XCTest单元测试668

24.4.5迭代2.5:编写DAO类672

24.4.6迭代2.6:发布到GitHub676

24.5任务3:业务逻辑层开发676

24.5.1迭代3.1:比赛项目业务逻辑类XCTest单元测试676

24.5.2迭代3.2:编写比赛项目业务逻辑类677

24.5.3迭代3.3:比赛日程业务逻辑类XCTest单元测试678

24.5.4迭代3.4:编写比赛日程业务逻辑类679

24.5.5迭代3.5:发布到GitHub681

24.6任务4:表示层开发681

24.6.1迭代4.1:使用资源目录管理图片和图标资源682

24.6.2迭代4.3:根据原型设计初步设计iPad故事板683

24.6.3迭代4.3:根据原型设计初步设计iPhone故事板684

24.6.4迭代4.4:首页模块684

24.6.5迭代4.5:比赛项目模块685

24.6.6迭代4.6:比赛日程模块690

24.6.7迭代4.7:倒计时模块表示层692

24.6.8迭代4.8:关于我们模块表示层694

24.6.9迭代4.9:发布到GitHub694

24.7任务5:收工694

24.7.1迭代5.1:添加图标695

24.7.2迭代5.2:设计和添加启动界面695

24.7.3迭代5.3:植入谷歌AdMob横幅广告695

24.7.4迭代5.4:性能测试与改善696

24.7.5迭代5.5:发布到GitHub697

24.7.6迭代5.6:在App Store上发布应用697

24.8小结699

热门推荐