《iOS5编程揭秘 iPhone与iPad应用开发入门》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:杨正洪,郑齐心,郭晨编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302287971
  • 页数:682 页
图书介绍:本书阐述iPhone和iPad应用开发的环境iOS5、Xcode工具、Objective-C语言,并且通过几十个实例来详细阐述应用开发的知识点。读者在阅读本书后,可以掌握Objective-C语言和面向对象的编程、XCode开发工具、Cocoa类和事件以及MVC结构的关系、各个框架(如:声音、视频、地图、传感器等)、多线程和网络编程等。本书以10月发布的iOS5为基础,详细阐述了iOS5的最新特征和使用方法。

第1章 初识iOS开发 1

1.1 iPhone/iPad手机应用 1

1.2 iOS5操作系统 2

1.3安装Xcode 2

1.4编写第一个iOS应用 6

1.4.1创建一个新Xcode项目 6

1.4.2在iPhone模拟器上运行第一个应用程序 9

1.5熟悉Xcode界面 10

1.5.1导航窗格 11

1.5.2工具窗格 12

1.5.3编辑窗格 13

1.5.4目标窗格 13

1.6 Xcode项目结构 14

1.7 nib编辑界面 16

1.7.1界面的组成 16

1.7.2设计用户界面 17

1.8应用启动过程 21

1.9 Xcode帮助文档 21

第2章Objective-C语言基础 24

2.1 Objective-C程序结构 24

2.1.1接口和实现文件 24

2.1.2编译器 28

2.2面向对象的编程 28

2.2.1类和实例 29

2.2.2消息和方法 30

2.2.3实例变量 33

2.2.4创建实例的三种方法 34

2.3数据类型 36

2.3.1常见数据类型 36

2.3.2字符串 36

2.3.3结构体 36

2.3.4 id类型 37

2.3.5 BOOL 40

2.3.6 SEL 41

2.3.7 Class 43

2.3.8 nil和Nil 44

2.3.9指针 46

2.3.10数组 47

2.4操作符和控制语句 48

2.5输入和输出数据 49

2.6 block 50

第3章Objective-C类 52

3.1类的通用格式 52

3.2声明对象和对象初始化 56

3.3变量 58

3.3.1局部变量、全局变量和实例变量 58

3.3.2理解static 60

3.3.3变量的存储类别 61

3.4 @property和@synthesize 63

3.5多输入参数的方法 65

3.6异常处理 67

3.7线程 70

3.7.1线程创建与启动 71

3.7.2线程同步 71

3.7.3线程间通信 72

3.8 Singleton 73

3.9基础框架类 74

3.9.1 NSString 74

3.9.2 NSDate 76

3.9.3 NSNumber 76

3.9.4 NSData 77

3.9.5 NSArray和NSMutableArray 78

3.9.6 NSSet 78

3.9.7 NSDictionary和NSMutableDictionary 78

3.9.8属性列表 80

3.9.9 NSObject探究 81

3.10存取器 81

第4章 继承和协议 83

4.1继承 83

4.2方法重写 86

4.3方法重载 87

4.4多态和super 89

4.5抽象类 93

4.6动态方法调用 94

4.7访问控制 96

4.8类别 99

4.9协议 101

4.10可选的方法 104

第5章 内存管理和ARC 106

5.1内存管理的基本原理 106

5.2 ARC 107

第6章iOS开发模式 110

6.1 MVC 110

6.1.1视图 111

6.1.2视图控制器 112

6.2目标-操作模式 113

6.2.1操作 113

6.2.2应答器链 114

6.2.3应用生命周期的事件 115

6.3通知 115

6.4委托 117

6.5数据源 117

6.6 Key-Value Observing 118

第7章 视图和绘图 120

7.1视图的基本概念 120

7.1.1窗口 123

7.1.2子视图和超视图 123

7.1.3框架 125

7.1.4边界和中心 126

7.2布局 129

7.3变换 131

7.4可见性和不透明度 134

7.5绘图和图像 135

7.5.1 UIImage和UIImageView 135

7.5.2 UIImage和图形上下文 137

7.5.3 CGImage 139

7.5.4 drawRect方法实现 141

7.5.5图形上下文的状态 143

7.5.6路径 143

7.5.7颜色和模型 146

7.5.8图形上下文变换 147

7.5.9阴影 149

7.6点和像素 149

7.7内容模式 150

第8章 视图控制器和模态视图 152

8.1应用界面结构 154

8.2创建一个视图控制器 155

8.2.1代码创建视图控制器和视图 156

8.2.2在nib中创建视图控制器 159

8.2.3在 nib中实例化视图控制器 159

8.3旋转视图 160

8.3.1初始化方位 161

8.3.2旋转事件 162

8.4创建视图控制器实例 163

8.4.1创建视图控制器 164

8.4.2视图控制器中的视图 164

8.4.3视图控制器生命周期 165

8.4.4支持旋转手机功能 165

8.5模态视图 167

8.5.1模态视图的配置 167

8.5.2模态视图的呈现 168

8.5.3模态视图的关闭 169

第9章 导航控制器和标签栏控制器 171

9.1导航控制器 172

9.1.1导航控制器的组成 172

9.1.2配置一个导航界面 173

9.1.3配置导航视图控制器 177

9.1.4视图控制器的事件 179

9.2创建导航控制器实例 179

9.2.1在两个页之间导航实例 179

9.2.2在两个页之间传递数据 187

9.2.3定制返回按钮 190

9.2.4在导航控制栏上添加系统按钮和左右按钮 191

9.3标签栏控制器 193

9.3.1标签栏条目的图像 194

9.3.2配置一个标签栏控制器 195

9.4标签栏控制器实例 196

9.4.1创建标签栏控制器 197

9.4.2 UITabBarItem 200

第10章 滚动视图和表视图 204

10.1滚动视图 204

10.1.1创建一个滚动视图 206

10.1.2滚动视图的属性 209

10.1.3分页显示 210

10.1.4放大和缩小 211

10.1.5滚动视图的委托 214

10.1.6滚动视图的触摸 215

10.2滚动视图实例 218

10.3表视图 224

10.3.1表视图类型 225

10.3.2 UITableViewDataSource 227

10.3.3表单元基础 230

10.3.4定制表单元 236

10.3.5选中某一行后的处理 242

10.3.6 UITableViewController 245

10.3.7表视图的滚动和搜索 246

10.3.8表视图的编辑功能 251

10.4表视图实例 257

第11章iPad应用和拆分视图 266

11.1拆分视图控制器 268

11.1.1拆分视图例子 268

11.1.2理解拆分视图代码 272

11.2团购应用实例 278

11.3从导航控制器迁移到拆分视图 286

11.3.1基于导航控制器的iPhone应用 287

11.3.2转化为iPad应用 292

11.4 popover 297

11.4.1显示一个popover 297

11.4.2关闭popover 299

11.4.3 popover和表视图实例 299

11.4.4基于样本数据和滑动条的popover实例 305

11.4.5手势和popover的结合编程 311

11.5拆分视图和popover 315

11.6模态视图和popover 315

第12章 视图上的控件 322

12.1文本控件 322

12.1.1 UILabel 323

12.1.2 UITextField 324

12.1.3 UITextView 326

12.2键盘操作 327

12.2.1定制快捷键 328

12.2.2在标准键盘上添加自己的键 330

12.2.3键盘通知 331

12.3核心文本 334

12.4网页视图 338

12.4.1 UIWebView 338

12.4.2网页视图实例 341

12.4.3 loadHTMLString方法 346

12.5其他控件和视图 347

12.5.1 UIActivityIndicatorView 347

12.5.2 UIProgressView 349

12.5.3 UIPickerView 350

12.5.4 UISearchBar 352

12.5.5 UIControl 353

12.5.6 UISwitch和UIPageControl 354

12.5.7 UIDatePicker 355

12.5.8 UISlider和UISegmentedControl 356

12.5.9 UIButton 358

12.5.10导航栏、工具栏和标签栏 359

12.6模态对话框 364

12.6.1警告视图 365

12.6.2操作单 366

12.6.3本地通知 367

第13章 音频和视频编程 370

13.1音频API 370

13.1.1系统声音API 370

13.1.2声音会话 372

13.1.3声音播放器 373

13.1.4录音 375

13.1.5访问资料库中的音乐 375

13.1.6其他API 382

13.2音频操作实例 382

13.3视频 387

13.4 UIVideoEditorController 391

13.5视频实例 392

13.6播放列表和多视频播放 395

13.7流播放 400

13.7.1两种网络播放模式 400

13.7.2 HLS原理 401

13.7.3流播放实例 402

13.8在视频上叠加自己的内容 404

第14章 照片和网络编程 410

14.1照片编程 410

14.1.1复制照片到iPhone模拟器 410

14.1.2从相册中读取照片 411

14.1.3保存照片到相册 419

14.1.4使用照相机 419

14.1.5 Assets Library框架 421

14.2网络编程 423

第15章GPS、地图、日历和通讯录编程 427

15.1位置类 428

15.1.1 CLLocation 428

15.1.2 CLLocationManager 428

15.1.3位置类例子 431

15.2地图 433

15.2.1 MapKit框架 433

15.2.2 MKMapView 433

15.2.3 MKPlacemark、 MKUserLocation和MKReverseGeocoder 436

15.2.4显示地图 436

15.2.5在地图上标记位置 442

15.2.6根据位置找到地址信息 443

15.2.7获取当前位置 444

15.2.8标注 445

15.2.9覆盖图 449

15.3日历 451

15.3.1日历数据库 451

15.3.2日历界面 455

15.4通讯录 457

15.4.1选择通讯录上的联系人 459

15.4.2 ABPeoplePickerNavigationController使用实例 463

15.4.3使用presentModalViewController弹出和关闭视图 466

15.4.4查询并更新通讯录上的联系人 466

15.4.5显示和编辑一个联系人信息 467

15.4.6添加新联系人 469

15.4.7查询和更新通讯录实例 471

第16章 图层 478

16.1视图和图层 479

16.2图层和子图层 479

16.2.1操纵图层层次结构 481

16.2.2定位子图层 481

16.2.3 CAScrollLayer 482

16.2.4子图层的布局 482

16.3在一个图层中绘制 482

16.3.1内容的重设大小和重定位 483

16.3.2自绘图的图层 485

16.4变换 486

16.4.1深度 488

16.4.2变换和键-值码 490

16.4.3阴影、边界以及更多信息 490

16.4.4图层和键-值码 491

第17章 动画 492

17.1动画概述 492

17.2 UIImageView动画 493

17.3视图动画 494

17.3.1动画块 494

17.3.2修改动画块 495

17.3.3过渡动画 497

17.3.4基于块的视图动画 499

17.4隐式动画 501

17.4.1动画事务 501

17.4.2媒体定时函数 502

17.5核心动画 503

17.5.1 CABasicAnimation和它的继承 503

17.5.2使用CABasicAnimation 504

17.5.3关键帧动画 506

17.5.4自定义属性的动画显示 507

17.5.5分组的动画 508

17.5.6过渡 511

17.5.7动画列表 512

17.6操作 513

17.6.1操作的含义 513

17.6.2操作搜索 513

17.6.3深入到操作搜索 514

17.6.4非属性操作 516

第18章 触摸和手势编程 518

18.1触摸 518

18.1.1触摸事件和视图 519

18.1.2接收触摸 519

18.1.3限制触摸 521

18.1.4解释触摸 521

18.2手势识别器 525

18.2.1手势识别器类 529

18.2.2多手势识别器 532

18.2.3给手势识别器添加子类 533

18.2.4手势识别器委托 534

18.3触摸的发送 535

18.3.1命中测试 536

18.3.2初始的触摸事件发送 538

18.3.3手势识别器和视图 539

18.3.4识别 539

18.3.5触摸和响应链 539

18.4手势识别器实例 540

18.4.1轻击手势编程 540

18.4.2多次触摸和响应者链 543

18.4.3轻扫手势编程 546

18.4.4离散和连续手势 549

18.4.5创建自定义手势 551

18.4.6添加声音 556

18.4.7手势识别的优先顺序 559

18.4.8长按手势 560

第19章 游戏和设备间通信 565

19.1转动或晃动手机 565

19.1.1晃动事件 566

19.1.2 UIAccelerometer 567

19.1.3 Core Motion 569

19.2设备之间通信 569

19.2.1 Bonjour 570

19.2.3 GameKit 572

19.2.4 GKSession 573

19.2.5 GKPeerPickerController和设备选择器 577

19.2.6 GameKit实例 578

第20章iOS数据的存储和读取 584

20.1文件操作 584

20.1.1保存和读取文件 585

20.1.2文件共享和文件类型 586

20.1.3传递一个文档 588

20.2用户默认 591

20.3 XML 591

20.4 SQLite 596

20.5核心数据 597

20.6图形文件 607

20.7互联网数据 609

20.7.1 XML和JSON 609

20.7.2调用云服务的手机应用的架构 618

第21章 高级内容 621

21.1电子邮件和短消息 621

21.2苹果推服务 622

21.3多线程 623

21.3.1 NSThread 625

21.3.2 NSOperation和NSOperationQueue 626

21.3.3 NSOperation实例 628

21.3.4 GCD 632

21.4本地化 635

21.5 Xcode调试器 636

21.6静态分析器 642

21.7版本控制 643

21.8 Instruments 644

21.9发布应用程序 647

21.10 iCloud编程 647

21.10.1让你的应用支持iCloud 648

21.10 2 iCloud API总览 652

21.10.3写UIDocument的子类 654

21.104打开一个iCloud文件 654

21.11 ARC应用实例 660

21.11.1使用Xcode自带的转换器 663

21.11.2 ARC手动转换 674

21.11.3委托和弱指针属性 680