《iPhone开发入门经典 第2版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)雷著,袁国忠,郝记生译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115259257
  • 页数:516 页
图书介绍:本书内容包括iPhone开发准备、了解开发环境、掌握Objective-C和MVC范例、实现多视窗效果、使用widget和webview、创建用户界面、生成图形、多媒体演示、使用地图、联网、使用触摸界面、调试、优化、通过App Store发布软件等。

第1章 为开发准备好系统和iPhone 1

1.1 欢迎进入iOS平台 1

1.1.1 显示屏和图形 1

1.1.2 应用程序资源约束 3

1.1.3 连接性 3

1.1.4 输入和反馈 3

1.2 成为iOS开发人员 4

1.2.1 加入Apple开发人员计划 4

1.2.2 安装iPhone开发工具 7

1.3 创建开发供应配置文件 8

1.3.1 什么是开发供应配置文件 8

1.3.2 生成并安装开发供应配置文件 8

1.3.3 使用iPhone应用程序测试配置文件 15

1.4 开发技术概述 17

1.4.1 Apple开发套件 17

1.4.2 Objective-C 17

1.4.3 CoCoaTouch 18

1.4.4 模型-视图-控制器 18

1.5 总结 18

1.6 问与答 18

1.7 作业 19

1.7.1 测验 19

1.7.2 答案 19

1.7.3 练习 19

第2章 Xcode和iPhone模拟器简介 20

2.1 使用Xcode 20

2.1.1 创建和管理项目 21

2.1.2 删除文件和资源 24

2.1.3 编辑和导航代码 25

2.1.4 生成应用程序 29

2.1.5 项目属性 32

2.2 使用iPhone模拟器 34

2.2.1 在模拟器中启动应用程序 34

2.2.2 模拟多点触摸事件 35

2.2.3 旋转iPhone 36

2.2.4 模拟其他情况 37

2.3 进一步探索 37

2.4 总结 38

2.5 问与答 38

2.6 作业 38

2.6.1 测验 38

2.6.2 答案 39

2.6.3 练习 39

第3章 探索Apple平台语言Objective-C 40

3.1 面向对象编程和Objective-C 40

3.1.1 什么是面向对象编程? 41

3.1.2 面向对象编程术语 42

3.1.3 什么是Objective-C? 43

3.2 探索Objective-C文件结构 43

3.2.1 头文件/接口文件 44

3.2.2 实现文件 47

3.2.3 自动生成的结构 49

3.3 Objective-C编程基础 49

3.3.1 声明变量 49

3.3.2 分配、初始化和释放对象 50

3.3.3 使用方法及发送消息 51

3.3.4 表达式和决策 53

3.4 内存管理 57

3.4.1 释放对象 57

3.4.2 使用autorelease方法 57

3.4.3 保留对象 58

3.4.4 在dealloc中释放实例变量 58

3.4.5 释放规则 58

3.5 进一步探索 59

3.6 总结 59

3.7 问与答 59

3.8 作业 60

3.8.1 测验 60

3.8.2 答案 60

3.8.3 练习 60

第4章 Cocoa Touch内幕 61

4.1 Cocoa Touch是什么? 61

4.1.1 冷静面对大量的功能 62

4.1.2 年轻而成熟 62

4.2 探索iPhone技术层 63

4.2.1 CocoaTouch层 63

4.2.2 多媒体层 64

4.2.3 核心服务层 65

4.2.4 核心OS层 66

4.3 跟踪iPhone应用程序的生命周期 66

4.4 Cocoa基础 68

4.4.1 核心应用程序类 68

4.4.2 数据类型类 69

4.4.3 界面类 72

4.5 使用Xcode探索iOS框架 73

4.5.1 Xcode文档 74

4.5.2 快速帮助 75

4.6 总结 76

4.7 问与答 77

4.8 作业 77

4.8.1 测验 77

4.8.2 答案 77

4.8.3 练习 77

第5章 探索Interface Builder 78

5.1 了解Interface Builder 78

5.1.1 Interface Builder采用的方法 79

5.1.2 剖析Interface Builder XIB文件 79

5.2 创建用户界面 82

5.2.1 对象库 82

5.2.2 布局工具 83

5.3 定制界面外观 86

5.3.1 使用属性检查器 86

5.3.2 设置辅助功能属性 87

5.3.3 测试界面 88

5.4 连接到代码 89

5.4.1 在Xcode中启动Interface Builder 89

5.4.2 实现概述 90

5.4.3 输出口和操作 90

5.4.4 对象身份 93

5.5 进一步探索 94

5.6 总结 94

5.7 问与答 95

5.8 作业 95

5.8.1 测验 95

5.8.2 答案 95

5.8.3 练习 96

第6章 模型-视图-控制器应用程序设计 97

6.1 了解设计模式模型-视图-控制器 97

6.1.1 制作意大利面条 98

6.1.2 使用MVC将应用程序设计结构化 98

6.2 Xcode和Interface Builder如何实现MVC 99

6.2.1 视图 99

6.2.2 视图控制器 99

6.2.3 数据模型 100

6.3 使用模板View-Based Application 101

6.3.1 实现概述 101

6.3.2 创建项目 102

6.3.3 在视图控制器中创建输出口和操作 105

6.3.4 创建视图 106

6.3.5 实现视图控制器逻辑 110

6.3.6 释放内存 111

6.3.7 生成应用程序 111

6.4 进一步探索 112

6.5 总结 112

6.6 问与答 113

6.7 作业 113

6.7.1 测验 113

6.7.2 答案 113

6.7.3 练习 113

第7章 使用文本、键盘和按钮 114

7.1 基本用户输入和输出 114

7.1.1 按钮 114

7.1.2 文本框和文本视图 115

7.1.3 标签 115

7.2 使用文本字段、文本视图和按钮 116

7.2.1 实现概述 116

7.2.2 创建项目 116

7.2.3 创建输出口和操作 117

7.2.4 添加文本框 118

7.2.5 添加文本视图 122

7.2.6 创建风格独特的按钮 125

7.2.7 隐藏键盘 130

7.2.8 实现视图控制器逻辑 132

7.2.9 释放对象 133

7.2.10 生成应用程序 133

7.3 进一步探索 134

7.4 总结 134

7.5 问与答 135

7.6 作业 135

7.6.1 测验 135

7.6.2 答案 135

7.6.3 练习 135

第8章 处理图像、动画和滑块 136

8.1 用户输入和输出 136

8.1.1 滑块 136

8.1.2 图像视图 137

8.2 创建并管理图像动画和滑块 137

8.2.1 实现概述 137

8.2.2 创建项目 138

8.2.3 添加动画资源 138

8.2.4 准备输出口和操作 138

8.2.5 添加图像视图 140

8.2.6 添加滑块 143

8.2.7 完成界面的创建 145

8.2.8 实现视图控制器逻辑 146

8.2.9 释放对象 148

8.2.10 生成应用程序 149

8.3 进一步探索 149

8.4 总结 150

8.5 问与答 150

8.6 作业 150

8.6.1 测验 150

8.6.2 答案 150

8.6.3 练习 151

第9章 使用高级界面对象和视图 152

9.1 再谈用户输入和输出 152

9.1.1 开关 152

9.1.2 分段控件 153

9.1.3 Web视图 154

9.1.4 可滚动的视图 155

9.2 使用开关、分段控件和Web视图 155

9.2.1 实现概述 156

9.2.2 创建项目 156

9.2.3 创建输出口和操作 156

9.2.4 添加分段控件 157

9.2.5 添加开关 160

9.2.6 添加Web视图 162

9.2.7 完成界面 164

9.2.8 实现视图控制器逻辑 165

9.2.9 释放对象 168

9.2.10 生成应用程序 168

9.3 使用可滚动视图 168

9.3.1 实现概述 169

9.3.2 创建项目 169

9.3.3 创建输出口 169

9.3.4 添加可滚动视图 170

9.3.5 实现滚动行为 172

9.3.6 释放对象 172

9.3.7 生成应用程序 172

9.4 进一步探索 173

9.5 总结 173

9.6 问与答 173

9.7 作业 174

9.7.1 测验 174

9.7.2 答案 174

9.7.3 练习 174

第10章 引起用户注意 175

10.1 探索提醒用户的方法 175

10.1.1 准备通知项目文件 176

10.1.2 创建通知项目的界面 177

10.1.3 连接到输出口和操作 178

10.2 生成提醒 179

10.2.1 显示简单提醒 179

10.2.2 创建多选项提醒 181

10.2.3 在提醒对话框中添加文本框 184

10.3 使用操作表 187

10.3.1 显示操作表 187

10.3.2 修改操作表的外观 189

10.3.3 对用户按下操作表按钮做出响应 189

10.4 使用提醒声音和震动 190

10.4.1 系统声音服务 190

10.4.2 插放声音和提醒 191

10.4.3 震动iPhone 193

10.5 进一步探索 193

10.6 总结 193

10.7 问与答 194

10.8 作业 194

10.8.1 测验 194

10.8.2 答案 194

10.8.3 练习 195

第11章 使用选择器选择多种值 196

11.1 了解选择器 196

11.1.1 日期选择器 197

11.1.2 选择器视图 197

11.2 使用日期选择器 199

11.2.1 实现概述 199

11.2.2 创建项目 199

11.2.3 添加日期选择器 201

11.2.4 完成界面 202

11.2.5 实现视图控制器逻辑 203

11.3 实现自定义选择器视图 206

11.3.1 实现概述 206

11.3.2 创建项目 207

11.3.3 添加选择器视图 208

11.3.4 完成界面 209

11.3.5 向选择器提供数据 210

11.3.6 对用户在选择器中选择值做出反应 214

11.3.7 微调选择器UI 217

11.4 进一步探索 221

11.5 总结 221

11.6 问与答 221

11.7 作业 222

11.7.1 测验 222

11.7.2 答案 222

11.7.3 练习 222

第12章 使用工具栏和选项卡栏实现多个视图 223

12.1 探索单视图应用程序和多视图应用程序 223

12.1.1 多视图的好处 224

12.1.2 静态界面元素 224

12.2 创建多视图工具栏应用程序 225

12.2.1 实现概述 225

12.2.2 创建项目 225

12.2.3 实例化视图控制器 227

12.2.4 添加工具栏控件 229

12.3 创建多视图选项卡栏应用程序 234

12.3.1 实现概述 234

12.3.2 创建项目 235

12.3.3 添加选项卡栏控制器 237

12.3.4 配置视图控制器类 239

12.3.5 实现AreaView视图 239

12.3.6 实现VolumeView视图 244

12.3.7 实现SummaryView视图 248

12.4 进一步探索 250

12.5 总结 251

12.6 问与答 251

12.7 作业 251

12.7.1 测验 251

12.7.2 答案 252

12.7.3 练习 252

第13章 使用表视图显示和导航数据 253

13.1 了解表视图和导航控制器 253

13.1.1 表视图 253

13.1.2 导航控制器 255

13.2 创建简单的表视图应用程序 255

13.2.1 实现概述 256

13.2.2 准备视图控制器 256

13.2.3 给表视图提供数据 259

13.2.4 响应行触摸事件 264

13.3 创建基于导航的应用程序 265

13.3.1 实现概述 266

13.3.2 创建项目 266

13.3.3 给应用程序提供数据 267

13.3.4 创建详细视图 271

13.3.5 实现根表视图控制器 273

13.3.6 处理导航事件 275

13.3.7 微调表视图 276

13.4 进一步探索 277

13.5 总结 278

13.6 问与答 278

13.7 作业 279

13.7.1 测验 279

13.7.2 答案 279

13.7.3 练习 279

第14章 读写应用程序数据 280

14.1 设计方面的考虑 280

14.2 读写用户默认设置 282

14.2.1 隐式首选项 282

14.2.2 实现系统设置 287

14.3 理解iPhone文件系统沙箱 295

14.3.1 应用程序数据的存储位置 295

14.3.2 文件路径 296

14.4 实现文件系统存储 297

14.4.1 创建项目 297

14.4.2 创建界面 300

14.4.3 添加另一个视图控制器 303

14.4.4 实现应用程序的逻辑 305

14.4.5 实现对象归档 310

14.4.6 在FlashCards应用程序中归档 312

14.5 进一步探索 314

14.6 总结 314

14.7 问与答 315

14.8 作业 315

14.8.1 测验 315

14.8.2 答案 315

14.8.3 练习 315

第15章 创建可旋转及调整大小的用户界面 316

15.1 可旋转和调整大小的界面 316

15.1.1 启用界面旋转 316

15.1.2 设计可旋转和调整大小的界面 318

15.2 使用Interface Builder创建可旋转和调整大小的界面 319

15.2.1 创建项目 319

15.2.2 创建灵活的界面 320

15.3 旋转时调整控件的框架 323

15.3.1 创建项目 323

15.3.2 创建界面 324

15.3.3 实现调整框架的逻辑 327

15.4 旋转时切换视图 328

15.4.1 创建项目 329

15.4.2 创建界面 330

15.4.3 实现视图切换逻辑 332

15.5 进一步探索 333

15.6 总结 334

15.7 问与答 334

15.8 作业 334

15.8.1 测验 334

15.8.2 答案 334

15.8.3 练习 335

第16章 使用复杂的触摸和手势 336

16.1 多点触摸手势识别 336

16.2 使用手势识别器 337

16.2.1 实现概述 337

16.2.2 创建项目 338

16.2.3 创建界面 340

16.2.4 实现轻按手势识别器 342

16.2.5 实现轻扫手势识别器 343

16.2.6 实现张合手势识别器 344

16.2.7 实现旋转手势识别器 346

16.2.8 实现摇动识别器 348

16.3 进一步探索 349

16.4 总结 349

16.5 问与答 350

16.6 作业 350

16.6.1 测验 350

16.6.2 答案 350

16.6.3 练习 350

第17章 检测朝向和移动 351

17.1 理解iPhone运动硬件 351

17.1.1 加速计 352

17.1.2 陀螺仪 352

17.2 访问朝向和运动数据 354

17.2.1 通过UIDevice请求朝向通知 354

17.2.2 使用Core Motion读取加速计和陀螺仪数据 354

17.3 检测朝向 356

17.3.1 创建项目 356

17.3.2 创建界面 357

17.3.3 响应朝向变化 358

17.3.4 判断朝向 358

17.4 检测倾斜和旋转 360

17.4.1 创建项目 360

17.4.2 实现移动事件 363

17.5 进一步探索 367

17.6 总结 368

17.7 作业 368

17.7.1 测验 368

17.7.2 答案 368

17.7.3 练习 368

第18章 使用多媒体 370

18.1 探索多媒体 370

18.1.1 Media Player框架 371

18.1.2 AV Foundation框架 371

18.1.3 图像选择器 372

18.2 创建用于练习使用多媒体的应用程序 372

18.2.1 实现概述 372

18.2.2 编辑项目文件 372

18.2.3 创建应用程序界面 374

18.2.4 连接到输出口和操作 375

18.3 使用电影播放器 375

18.3.1 添加Media Player框架 376

18.3.2 添加多媒体文件 376

18.3.3 实现电影播放 377

18.3.4 执行清理工作 378

18.4 录制和播放音频 379

18.4.1 添加AV Foundation框架 380

18.4.2 实现录音功能 380

18.4.3 控制录音 381

18.4.4 控制音频播放 382

18.4.5 执行清理工作 383

18.5 使用照片库和相机 384

18.6 访问并播放iPod库 387

18.6.1 实现多媒体选择器 387

18.6.2 实现音乐播放器 390

18.7 进一步探索 391

18.8 总结 392

18.9 问与答 392

18.10 作业 393

18.10.1 测验 393

18.10.2 答案 393

18.10.3 练习 393

第19章 与其他应用程序交互 394

19.1 应用程序集成 394

19.1.1 地址簿 394

19.1.2 电子邮件 395

19.1.3 地图功能 396

19.2 使用地址簿、电子邮件和地图 397

19.2.1 实现概述 397

19.2.2 创建项目 398

19.2.3 创建应用程序UI 399

19.2.4 连接到输出口和操作 400

19.2.5 访问地址簿 400

19.2.6 使用地图 405

19.2.7 使用Message UI 409

19.3 进一步探索 411

19.4 总结 411

19.5 问与答 412

19.6 作业 412

19.6.1 测验 412

19.6.2 答案 412

19.6.3 练习 412

第20章 实现定位服务 413

20.1 理解Core Location 413

20.2 创建支持定位的应用程序 417

20.2.1 创建项目 417

20.2.2 创建用户界面 418

20.2.3 实现位置管理器委托 420

20.3 理解磁性指南针 422

20.3.1 位置管理器航向 423

20.3.2 实现指南针航向 423

20.3.3 设置项目 424

20.3.4 修改用户界面 425

20.3.5 请求并使用航向更新 426

20.4 进一步探索 429

20.5 总结 430

20.6 问与答 430

20.7 作业 430

20.7.1 测验 430

20.7.2 答案 431

20.7.3 练习 431

第21章 创建支持后台处理的应用程序 432

21.1 理解iOS 4后台处理 432

21.1.1 后台处理类型 433

21.1.2 支持后台处理的应用程序的生命周期 434

21.2 禁用后台处理 436

21.3 处理后台挂起 436

21.4 实现本地通知 437

21.4.1 常用的通知属性 438

21.4.2 创建和调度通知 438

21.5 使用任务特定的后台处理 440

21.5.1 修改应用程序Cupertion以支持在后台播放音频 440

21.5.2 使用声音指示前往库珀蒂诺的方向 442

21.5.3 添加后台模式键 445

21.6 完成长时间运行的后台任务 446

21.6.1 创建项目 446

21.6.2 创建用户界面 447

21.6.3 实现计数器逻辑 448

21.6.4 启用后台任务处理 449

21.7 进一步探索 451

21.8 总结 451

21.9 问与答 451

21.10 作业 452

21.10.1 测验 452

21.10.2 答案 452

21.10.3 练习 452

第22章 创建通用应用程序 453

22.1 开发通用应用程序 453

22.2 理解模板Window-based Application 454

22.2.1 通用应用程序的plist文件 455

22.2.2 创建通用应用程序:方法1 456

22.2.3 创建通用应用程序:方法2 462

22.2.4 小结 467

22.3 其他通用应用程序工具 467

22.3.1 升级iPhone目标文件 467

22.3.2 转换界面 468

22.4 进一步探索 468

22.5 总结 469

22.6 问与答 469

22.7 作业 469

22.7.1 测验 469

22.7.2 答案 470

22.7.3 练习 470

第23章 应用程序调试和优化 471

23.1 在Xcode中调试 471

23.1.1 使用NSLog进行调试 471

23.1.2 创建用于调试的项目 473

23.1.3 设置断点及单步执行代码 474

23.2 使用Instruments监视 481

23.2.1 跟踪应用程序 481

23.2.2 可用的工具 485

23.3 使用Shark分析性能 486

23.3.1 连接到应用程序 486

23.3.2 理解性能分析结果 489

23.4 进一步探索 491

23.5 总结 491

23.6 问与答 492

23.7 作业 492

23.7.1 测验 492

23.7.2 答案 492

23.7.3 练习 492

第24章 通过App Store发布应用程序 493

24.1 开发通用应用程序 493

24.1.1 创建图标 494

24.1.2 定义设备功能需求 496

24.1.3 创建iPhone发布证书 497

24.1.4 设置App ID(束标识符) 499

24.1.5 创建发布供应配置文件 499

24.1.6 配置项目以便发布 500

24.2 提交应用程序以便批准 503

24.2.1 准备应用程序配置文件 503

24.2.2 上传应用程序二进制文件 507

24.3 推销应用程序 508

24.3.1 使用iTunes Connect监视和管理销售情况 509

24.3.2 利用网站和社交网络 510

24.3.3 更新应用程序 511

24.3.4 调整价格 512

24.3.5 使用iAds 512

24.4 其他发布方法 513

24.4.1 ad hoc部署 513

24.4.2 企业部署 514

24.5 总结 515

24.6 问与答 515

24.7 作业 515

24.7.1 测验 515

24.7.2 答案 515

24.7.3 练习 516