《iOS编程 第3版》PDF下载

  • 购买积分:26 如何计算积分?
  • 作  者:MATTNEUBURG著;夏宏,贾静平,琚赟,闫江毓,徐欢译
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2014
  • ISBN:9787512355590
  • 页数:1020 页
图书介绍:本书全面细致地讲解Cocoa Touch的基础知识,深入解读并剖析在开发iPhone及iPad应用时可能遇到的各种问题,并揭示如何高效地使用Objective-C和Xcode顺利完成iPhone及iPad应用开发之旅。主要内容有:学习Objective-C语言的细节以及面向对象程序设计理念。理解Xcode工程的结构和生命周期的各个阶段。了解Cocoa的关键概念,例如,类之间的联系、接收事件以及模型-视图-控制器架构。学会管理、绘制、组合视图和层,并创建动画。熟悉视图控制器以及它们之间的联系,管理nib和串联图。深入剖析所有的基本界面对象,例如,滚动视图、表格视图和控件。探索Cocoa框架中的声音、视频、传感器和地图等功能。使用线程和网络等高级功能。

前言 1

第一部分 语言 13

第1章 C语言的必备知识 13

编译、语句和注释 14

选择编译器 15

变量声明、初始化和数据类型 16

现代的枚举语法 17

结构体 19

指针 20

数组 23

运算符 24

程序流控制和条件语句 26

函数 29

指针参数和地址运算符 32

文件 34

现代Objective-C语言的函数声明 36

标准库 37

更多的预处理指令 37

数据类型限定符 38

第2章 面向对象的编程 41

对象 41

消息和方法 42

类和实例 43

类的方法 45

实例变量 46

面向对象的基本原理 47

第3章 Objective-C语言对象与消息 51

实例引用即为指针 51

实例的引用、初始化以及nil 53

实例引用和赋值 55

实例引用和内存管理 57

消息和方法 57

发送消息 58

方法声明 59

嵌套方法调用 60

不重载 60

参数列表 61

无法识别的选择器 62

类型转换和id类型 63

消息的数据类型 67

C语言函数 67

CFTypeRefs 68

块对象 70

第4章 Objective-C类 74

类和父类 74

接口和实现 75

头文件和实现文件 77

Cocoa自己的头文件 79

类方法 80

悄然产生的类对象 80

第5章 Objective-C实例 82

实例的创建 82

现成的实例化 82

从零开始实例化 83

基于nib的实例化 86

多态 87

self关键字 88

super关键字 92

实例变量和存取器 93

键-值编码 95

属性 96

如何写初始化器 98

第二部分 集成开发环境 103

第6章 Xcode工程的解析 103

新建项目 104

项目窗口 106

导航面板 106

工具面板 111

编辑器 112

项目文件和它所依赖的环境 115

目标 117

构建编译阶段 118

创建设置 119

配置 120

方案和目标设备 121

从项目到程序 123

创建设置 125

属性列表设置 125

nib文件和storyboard文件 126

其他资源 127

代码 128

框架和SDK 130

重命名事项 131

第7章 nib管理 134

Nib编辑界面体验之旅 135

Dock 136

画布 137

监视器和库 139

nib加载和文件的所有者 141

制作和加载一个nib 142

出口连接 143

创建出口的更多方法 148

更多关于出口 150

连接代码是一种错觉 151

nib之间的连接 151

动作连接 151

其他基于nib实例的初始化 154

第8章 文档 157

文档窗口 157

类文档页 159

示例代码 162

其他资源 163

快速帮助 163

符号 164

头文件 164

互联网资源 165

第9章 项目的生命周期 167

设备架构及条件代码 167

其他模拟器的SDK 168

本地化 171

编辑代码 175

自动完成 176

代码片段 178

Fix-it功能和实时语法检查 178

你的代码导航 179

调试 181

原始调试 182

Xcode调试 184

调试器选取 186

单元测试 189

静态分析器 190

清理 190

在模拟器中运行 191

在设备上运行 192

配置文件与设备管理 196

版本控制 196

Instruments 198

发布 202

Ad Hoc发布 204

应用程序的最后准备 205

应用程序中的图标 205

其他图标 206

启动图像 207

截图 209

属性列表设置 209

提交到App Store 211

如果许可证过期怎么办? 214

第三部分 Cocoa 217

第10章 Cocoa类 217

子类 217

类别 220

分割一个类 221

类扩展 222

协议 223

非正式协议 227

可选方法 227

一些Foundation类 229

有用的结构体和常量 229

NSString及其相关类 229

NSDate及其相关类 231

NSNumber 232

NSValue 233

NSData 233

相等性和比较 234

NSIndexSet 234

NSArray和NSMutableArray 235

NSSet及其相关类 237

NSDictionary和NSMutableDictionary 238

NSNull 240

不可变和可变 240

属性列表 241

NSObject探秘 241

第11章 Cocoa事件 244

收到事件的原因 245

子类化 245

通知 246

接收一个内置的通知 247

注销 249

NSTimer 251

委托 251

数据源 254

动作 255

响应者链 257

推迟响应 258

Nil-targeted动作 258

术语“First Responder” 259

被事件淹没 259

延迟执行 262

应用程序生存期事件 264

第12章 访问器和内存管理 269

键值编码 270

键值编码和Outlet 272

键路径和访问器数组 273

内存管理 274

Cocoa内存管理的原则 275

调试内存管理错误 276

内存管理的金科玉律 276

ARC的功能及用途 278

Cocoa对象如何管理内存 280

自动释放 283

实例变量的内存管理(非ARC) 285

实例变量的内存管理(ARC) 289

保留环和弱引用 290

非常规内存管理情况 292

nib加载和内存管理 296

全局变量的内存管理 297

指向void上下文信息指针的内存管理 298

CFTypeRefs的内存管理 300

属性 302

属性内存管理策略 303

属性声明语法 304

属性访问器合成 306

动态访问器 308

第13章 数据通信 311

模型-视图-控制器 311

实例的可见性 313

通过实例化获得可见性 314

通过关系获得可见性 315

全局可见性 315

通知 316

键-值观察 317

第四部分 视图 325

第14章 视图 325

窗口 325

子视图和超视图 328

可见性与不透明度 331

框架 332

边框和中心 332

窗口坐标和屏幕坐标 335

变换 336

布局 340

自动缩放 341

自动布局 343

Nib中的约束 352

布局事件的发生顺序 356

自动布局和视图变换 357

第15章 绘图 360

UIImage和UIImageView 360

绘图上下文 366

UIImage绘图 369

CGImage绘图 370

为何发生翻转 373

CIFilter和CIImage 374

绘制UIView 377

设置绘图上下文 379

路径和绘图 380

裁剪 384

我的上下文有多大? 385

渐变 385

色彩和图案 386

绘图上下文变换 388

阴影 390

点和像素 391

内容模式 392

第16章 图层 394

视图和图层 395

图层和子层 396

操纵图层层次结构 398

定位子层 399

CAScrollLayer 400

子层的布局 400

在图层中绘图 401

自动重新显示视图的基础图层 404

调整内容尺寸及定位 404

图层的自我绘制 406

变换 407

深度 410

阴影、边框和其他 413

图层效率 415

图层和键值编码 416

第17章 动画 418

绘图、动画和线程 419

表示图层 421

UIImageView和UIImag动画 421

视图动画 423

动画块 423

修改动画块 424

过渡动画 428

基于Block的视图动画 429

隐含层动画 434

动画事务 435

事务的真相 436

媒体定时函数 437

Core Animation 438

CABasicAnimation类及其继承 438

使用CABasicAnimation 440

关键帧动画 443

使属性可动画处理 444

编组动画 445

过渡 449

动画列表 451

动画和自动布局 453

动作 455

动作的定义 456

动作搜索 456

挂钩到动作搜索 457

非属性动作 460

发射器图层 461

CIFilter过渡 467

第18章 触摸 469

触摸事件和视图 470

接收触摸 471

限制触摸 473

解释触摸 474

手势识别器 478

手势识别器类 479

多个手势识别器 483

手势识别器委托 486

Nib中的手势识别器 489

触摸传递 489

触碰测试 490

初始化触摸事件传递 495

手势识别器和视图 496

限制触摸 497

重新识别 497

触摸和响应者链 498

第五部分 界面 503

第19章 视图控制器 503

视图控制器层次结构 506

视图控制器和视图创建 510

手动视图 512

普通自动化视图 515

在单独的Nib中的视图 516

视图什么时候被加载? 519

Nib实例化的视图控制器 519

storyboard初始化的视图控制器 521

旋转 524

什么旋转了? 527

旋转和布局事件 527

初始朝向 531

被展示的视图控制器 533

什么是模态? 538

被展示的视图动画 538

展示风格 539

被展示的视图的旋转 541

作为对旋转的响应展示一个视图 542

标签栏控制器 543

标签栏条目 544

配置一个标签栏控制器 545

导航控制器 547

栏上按钮条目 550

导航条目 551

工具栏条目 554

配置一个导航控制器 554

分页视图控制器 557

容器视图控制器 561

Storyboard 564

Segue 565

回溯Segue 567

storyboard和定制的容器视图控制器 571

视图控制器生命周期事件 572

视图控制器内存管理 576

状态恢复 578

参与到状态恢复中 580

恢复ID和恢复类 582

恢复视图控制器状态 589

第20章 滚动视图 594

创建一个滚动视图 594

滚动 600

分页 602

区块 604

缩放 605

以编程方式缩放 607

细节的缩放 608

滚动视图代理 610

滚动视图的触摸 612

滚动视图性能 617

第21章 表格视图和集合视图 619

表格视图单元格 622

内置的单元格样式 622

注册一个单元格类 628

定制单元格 631

表格视图数据 637

三个大问题 638

表格视图节 641

刷新表格视图数据 647

可变的行高 650

表格视图选择 652

表格视图滚动和布局 657

表格视图状态恢复 658

表格视图搜索 659

表格视图编辑 665

删除表格项 668

表格项中可编辑的内容 669

插入表格项 670

重新排列表格项 672

动态表格内容 673

表格视图菜单 674

集合视图 676

第22章 弹出框和分割视图 685

配置和显示一个弹出框 686

管理一个弹出框 691

关闭一个弹出框 692

弹出框和被展示视图 695

弹出框Segue 695

自动弹出框 697

分隔视图 699

第23章 文本 703

带属性的字符串 704

UILabel 712

UITextField 715

弹出和关闭键盘 718

键盘覆盖文本域 719

配置键盘 722

文本域代理和控制事件消息 724

文本字段菜单 726

UITextView 728

核心文本 731

UITextInput 737

第24章 Web视图 738

加载Web视图内容 739

Web视图状态恢复 745

和一个Web视图通信 746

第25章 控件和其他视图 749

UIActivityIndicatorView 749

UIProgressView 751

UIPickerView 753

UISearchBar 755

UIControl 759

在内部触摸和在外部触摸 760

UISwitch 762

UIStepper 764

UIPageControl 765

UIDatePicker 766

UISlider 768

UISegmentedControl 771

UIButton 774

自定义控件 779

栏 782

UINavigationBar 783

风景iPhone栏计量 784

UIToolbar 788

UITabBar 788

外观代理 792

第26章 模态对话框 796

警告视图 797

动作表单 800

对话框的替代选择 804

本地通知 805

活动视图 808

第六部分 框架 815

第27章 音频 815

系统声音 815

音频会话 816

中断 819

切换音频通道 820

音频播放器 821

声音的遥控 823

声音的后台播放 825

更多有关声音的主题 827

第28章 视频 829

MPMoviePlayerController 830

MPMoviePlayerViewController 835

UIVideoEditorController 837

AV Foundation视频介绍 839

第29章 音乐库 844

浏览音乐库 844

音乐播放器 849

音乐选择器 854

第30章 图片库和拍摄图像 858

UIImagePickerController 858

从图片库中选取 859

使用照相机 863

使用AV Foundation拍摄图像 867

Assets Library框架 869

第31章 地址簿 874

地址簿数据库 874

地址簿的界面 878

ABPeoplePickerNavigationController 879

ABPersonViewController 880

ABNewPersonViewController 881

ABUnknownPersonViewController 882

第32章 日历 885

日历数据库 885

日历界面 895

第33章 邮件和消息 901

邮件消息 902

文本消息 903

Twitter帖子 904

第34章 地图 905

显示一张地图 905

注释 908

覆盖图 914

地图工具包和当前位置 920

地理编码 922

与Maps应用程序的通信 923

第35章 传感器 926

位置 926

朝向 931

加速度和姿态 932

摇动事件 933

单纯的加速度 934

陀螺仪 938

第七部分 其他主题 945

第36章 持久性存储 945

沙箱 945

以可视方式检查沙箱 947

基本的文件操作 947

文件的存取 948

用户默认值 950

文件的共享 951

文档类型 952

分发文档 954

文档架构 957

iCloud 961

XML 963

SQLite 969

Core Data框架 970

图像文件格式 976

第37章 网络基础 979

HTTP请求 979

Bonjour 987

推送通知 989

其他网络话题 990

第38章 线程 991

主线程 991

并发到底是什么? 992

为什么线程很难 994

三种实现线程的方法 995

手动线程 996

NSOperation 998

Grand Central Dispatch 1003

线程和应用程序的后台处理 1007

第39章 撤销 1010

撤销管理器 1010

撤销的界面 1014

撤销的架构 1017

第40章 结束语 1019