《iOS应用开发最佳实践》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:王浩编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121207679
  • 页数:538 页
图书介绍:本书对iOS应用开发的方方面面进行书名。全书共分20章,系统地介绍了创建第1个iPhone应用、Object-C语言开发基础、设计iPhone应用、导航栏视图控制器和标签栏视图控制器、属性字符串、iOS控件应用入门、iOS控件应用进阶、应用及视图生命周期、iOS绘图和自动旋转、iOS自动布局、手势识别技术、iOS高级空间、Passbook、集合视图、iOS多线程编程、数据持久化等内容。全书讲解通俗易懂,循序渐进,案例丰富。

第1章 创建第1个iPhone应用 1

1.1 iPhone应用开发的背景 1

1.2 做好准备工作 5

1.3 下载开发工具 7

1.4 了解iOS运行环境 8

1.5 iOS应用开发的注意点 9

1.6 创建第1个Hello World iPhone应用 10

1.6.1 通过Xcode创建并运行iPhone项目 10

1.6.2 了解iPhone应用的基本运行机理 15

1.6.3 丰富你的iPhone 应用 18

1.6.4 为应用添加桌面图标 21

1.6.5 关于iPhone 5应用的补充说明 24

1.6.6 老版本应用的兼容性问题 24

1.7 小结 24

第2章 Objective-C语言开发基础 25

2.1 Obiective-C的Hello World程序 26

2.2 创建一个Objective-C类 29

2.2.1 通过Xcode创建Person类 29

2.2.2 对Person类的解读 32

2.2.4 继承和多态 38

2.2.5 选择器(selector) 43

2.3 常用类介绍 45

2.3.1 NSString类 45

2.3.2 NSArray类 48

2.3.3 NSDictionary类 51

2.4 属性(Property) 53

2.4.1 设置属性 53

2.4.2 以Person类为例 53

2.4.3 @synthesize指令 54

2.4.4 Xcode 4.5以后版本对@synthesize指令的处理 56

2.4.5 属性特性 56

2.5 内存管理 58

2.6 类别(class category) 59

2.7 类扩展(class extension) 62

2.8 协议 63

2.8.1 声明协议 63

2.8.2 使用协议 63

2.8.3 更多协议的特性 64

2.9 小结 64

第3章 设计iPhone 应用——从零开始 65

3.1 MVC架构 65

3.2 基于nib文件开发单视图交互性的应用 67

3.1.1 创建交互性应用视图 67

3.1.2 连接视图和视图控制器 72

3.1.3 创建事件处理代码 76

3.3 创建多视图交互应用 78

3.2.1 创建空应用 79

3.2.2 添加主视图 81

3.2.3 添加子视图 85

3.2.4 进一步完善应用 86

3.4 小结 91

第4章 设计iPhone应用——使用故事板 92

4.1 故事板和Segue 92

4.2 完整的MVC应用 94

4.2.1 创建视图框架 94

4.2.2 添加Unwind Segue 98

4.2.3 通过Unwind Segue传递数据 100

4.2.4 准备武侠故事模型 103

4.2.5 通过Segue传递数据 105

4.2.6 完善详情视图并运行应用 106

4.2.7 继续完善应用——动态创建控件 110

4.2.8 创建自适应文字长度的标签控件 112

4.3 容器视图(Container View) 113

4.3.1 容器视图的基本知识 113

4.3.2 容器视图的简单例子 114

4.3.3 实现子视图控制器之间的互动(一) 120

4.3.4 实现子视图控制器之间的互动(二) 122

4.4 小结 125

第5章 导航栏视图控制器和标签栏视图控制器 126

5.1 导航栏视图控制器介绍 127

5.1.1 认识导航栏视图控制器 127

5.1.2 认识Master-Detail项目模板 128

5.1.3 搭建导航栏视图控制器项目 131

5.1.4 通过代码创建导航栏视图控制器 134

5.2 标签栏视图控制器介绍 135

5.2.1 认识标签栏视图控制器 135

5.2.2 认识Tabbed Application 项目模板 136

5.2.3 搭建标签栏视图控制器项目 141

5.2.4 通过代码创建标签栏视图控制器 144

5.3 集成导航栏视图控制器与标签栏视图控制器 145

5.4 小结 147

第6章 属性字符串 148

6.1 通过属性字符串格式化文本 148

6.1.1 通过属性格式配置标签文本 150

6.1.2 属性文本支持的控件 151

6.2 通过代码设置属性字符串 151

6.2.1 了解NSAttributedString类 152

6.2.2 设置字间距和字体背景色 154

6.2.3 设置阴影以及下画线效果 155

6.2.4 为字符串不同部分设置不同效果 156

6.2.5 设置段落效果 157

6.2.6 可以设置的属性字符串样式列表 160

6.3 小结 161

第7章 iOS控件应用入门 162

7.1 iOS控件简介 162

7.2 分段控件、文本框控件、滑块控件 163

7.2.1 分段控件介绍 164

7.2.2 文本框控件介绍 166

7.2.3 滑块控件介绍 169

7.2.4 创建展示项目 171

7.2.5 在输入完成后关闭键盘(一) 176

7.2.6 在输入完成后关闭键盘(二) 177

7.2.7 点击视图退出键盘 179

7.3 Web视图和活动指示器控件 180

7.3.1 Web视图控件介绍 180

7.3.2 活动指示器控件介绍 182

7.3.3 创建展示项目 184

7.4 图像视图控件 189

7.4.1 图像视图控件介绍 190

7.4.2 创建展示项目 190

7.5 小结 193

第8章 iOS控件应用进阶 195

8.1 进度视图、开关和计步器控件 195

8.1.1 进度视图控件介绍 195

8.1.2 开关控件介绍 197

8.1.3 计步器控件介绍 198

8.1.4 创建展示项目 199

8.2 警告视图、动作表单、活动视图控制器 202

8.2.1 警告视图介绍 203

8.2.2 警告视图示例 204

8.2.3 动作表单介绍(邮件视图控制器) 208

8.2.4 动作表单示例 210

8.2.5 活动视图控制器介绍 215

8.2.6 活动视图控制器示例 216

8.3 日期选择器(工具栏控件) 218

8.3.1 日期选择器控件介绍 218

8.3.2 创建展示项目 219

8.4 自定义选择器 226

8.5 自定义选择器控件介绍 226

8.5.1 数据源协议——UIPicker-ViewDataSource 227

8.5.2 代理协议——UIPicker-ViewDelegate 228

8.5.3 创建plist文件数据源 229

8.5.4 读取plist文件的方法 233

8.5.5 单轮选择器示例 233

8.5.6 多轮选择器示例 237

8.6 小结 241

第9章 应用及视图生命周期 242

9.1 应用的生命周期 242

9.1.1 应用的不同状态 243

9.1.2 通过代码模拟观察应用生命周期 245

9.1.3 应用程序的加载 247

9.1.4 响应中断 248

9.1.5 进入后台运行 249

9.1.6 返回前台运行 250

9.1.7 关于main函数 251

9.2 视图生命周期 252

9.2.1 视图生命周期简介 252

9.2.2 视图生命周期中的主要方法 253

9.2.3 loadView方法 253

9.2.4 与应用生命周期的互动 254

9.3 小结 256

第10章 iOS绘图和自动旋转 257

10.1 iOS绘图 257

10.1.1 视图和坐标体系 258

10.1.2 图形颜色处理 260

10.1.3 在上下文中绘制图形 261

10.1.4 手工绘图应用示例 264

10.2 自动旋转 270

10.2.1 旋转屏幕 271

10.2.2 使用自动尺寸处理旋转 273

10.2.3 通过代码方式处理旋转 276

10.3 小结 280

第11章 iOS自动布局 281

11.1 通过约束处理屏幕旋转 282

11.1.1 约束应用示例 282

11.1.2 约束应用详解 285

11.1.3 不同的约束类型——Pin 286

11.1.4 不同的约束类型——Align 290

11.1.5 视图之间约束的互相作用 293

11.2 通过代码创建约束 293

11.2.1 NSLayoutConstraint类 293

11.2.2 通过代码创建约束:指定控件位置 295

11.2.3 为控件指定高度、宽度 297

11.2.4 处理多个控件 299

11.3 可视化格式语言 302

11.3.1 constraints With Visual-Format:方法 302

11.3.2 可视化格式语言的具体例子 303

11.3.3 可视化格式语言的深入 304

11.4 小结 306

第12章 手势识别技术 307

12.1 自定义手势识别 307

12.2 使用自动手势识别器 309

12.2.1 自动手势识别开发原理 309

12.2.2 离散性手势与连续性手势 313

12.2.3 如何在模拟器中测试手势 315

12.2.4 识别轻扫手势 316

12.2.5 识别轻击手势 319

12.2.6 识别捏合手势 320

12.2.7 创建自定义手势识别器 323

12.3 小结 323

第13章 iOS高级控件 324

13.1 滚动视图控件 324

13.1.1 使用滚动视图示例 325

13.1.2 在滚动视图中支持图片放大和缩小 328

13.1.3 滚动查看多个图片 330

13.1.4 关于滚动视图控件的更多知识 333

13.2 页面指示器控件 334

13.2.1 页面指示器控件示例 335

13.2.2 完善代码:允许用户点击页面指示器翻页 339

13.3 表格视图 340

13.3.1 表格样式 341

13.3.2 单元格样式 342

13.3.3 表格视图元素 344

13.3.4 数据源协议UITable-ViewDataSource 346

13.3.5 代理协议UITable-ViewDelegate 348

13.3.6 表格视图示例 348

13.3.7 创建自定义的表格单元格 355

13.3.8 分段示例 364

13.3.9 索引示例 368

13.3.10 实现搜索栏 369

13.4 小结 376

第14章 Passbook 377

14.1 Passbook初览 378

14.2 通过passsource.com创建凭证 379

14.3 凭证的工作原理 382

14.4 创建第1个凭证 383

14.4.1 找到开发者团队标识(teamIdentifier) 383

14.4.2 创建凭证类型标识(passType-Identifier) 383

14.4.3 创建Hello World凭证 388

14.5 凭证文件包的构成 395

14.6 pass.json文件 396

14.6.1 顶级键的说明 397

14.6.2 次级键的说明 398

14.7 打折券凭证详解 400

14.8 登机牌凭证详解 402

14.9 通过PassKit框架操作凭证 406

14.9.1 PassKit库介绍 406

14.9.2 PassKit示例 407

14.10 小结 410

第15章 集合视图 (UlCollection-View) 411

15.1 集合视图基础 412

15.1.1 数据源协议(UICollectionView-DataSource) 413

15.1.2 代理协议(UICollectionView-Delegate) 414

15.1.3 创建第1个集合视图应用 414

15.1.4 集合视图布局(UICollectionView-Layout) 422

15.1.5 认识补充视图(Supplementary View) 427

15.2 自定义集合视图单元格 429

15.3 小结 431

第16章 iOS多线程编程 432

16.1 什么是多线程 432

16.2 iOS的多线程知识 433

16.2.1 派遣队列 Dispatch Queue 434

16.2.2 程序块Block 440

16.2.3 在视图中通过GCD实现异步操作 444

16.3 异步执行代码的其他方法 447

16.3.1 通过performSelector来异步执行 447

16.3.2 通过NSTimer来异步执行 449

16.4 后台运行应用 449

16.5 小结 452

第17章 数据持久化 453

17.1 通过NSUserDefaults进行数据持久化 453

17.1.1 创建持久化联系人信息应用 454

17.1.2 保存用户输入的数据 456

17.1.3 读取用户保存的数据 458

17.2 应用程序沙盒 460

17.3 通过属性列表持久化数据 463

17.4 归档对象 465

17.4.1 实现NSCoding协议 466

17.4.2 归档对象或取消归档 467

17.5 使用SQLite数据库 469

17.5.1 操作数据库的SQLite 函数 469

17.5.2 使用SQLite 3的视图应用 473

17.6 使用Core Data 480

17.6.1 使用Core Data 480

17.6.2 通过代码访问数据模型 486

17.6.3 获得NSManaged-ObjectContext对象 489

17.6.4 如何插入、查询、更新以及删除数据 490

17.7 小结 493

第18章 Core Location定位和Map Kit 494

18.1 Core Location框架 494

18.1.1 位置管理器监控位置变化 496

18.1.2 位置管理器监控方向变化 497

18.1.3 使用位置管理器监控位置的例子 498

18.2 Map Kit 502

18.2.1 创建一个地图应用 502

18.2.2 自定义地图显示位置及范围 503

18.2.3 使用大头针标注地理位置 506

18.2.4 了解和使用 MKAnnotation View 509

18.3 小结 513

第19章 Core Motion动作管理器 514

19.1 动作管理器类 515

19.1.1 检测加速计数据 517

19.1.2 检测旋转数据 522

19.1.3 检测组合信息 523

19.2 捕获动作事件 524

19.3 小结 524

第20章 iCloud云服务 526

20.1 了解iCloud云服务 526

20.2 云存储键/值对 529

20.3 云存储文档 532

20.3.1 子类化UIDocument 532

20.3.2 如何定位 Ubiquity Container 534

20.3.3 如何通过 NSMetadataQuery查询数据 535

20.3.4 文档的生命周期 536

20.4 小结 537