《iOS6编程揭秘 iPhone与iPad应用开发入门 第2版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:杨正洪,郑齐心,曹星编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302316909
  • 页数:589 页
图书介绍:iOS6是苹果最新推出的移动身背操作系统。本书面向iOS6应用开发的初学者,循序渐进地介绍了iOS应用开发的相关基础知识,提供了大量开发示例,供读者实践。每章都清晰讲解了iOS6应用主题相关的开发技术和技巧。通过全书的学习,读者可以完整的掌握iOS6开发的技术要点并具备应用和游戏开发的基本能力。

第1章iOS6概述 1

1.1 iOS6新功能 1

1.2 iOS应用 4

1.3 iPhone手机特征 5

1.4手机应用分类 6

1.5本书部分实例 11

第2章 配置iOS6开发环境 18

2.1准备开发环境 18

2.1.1注册为苹果开发员 18

2.1.2下载并安装Xcode4.5开发工具包 22

2.2编写第一个iPhone应用程序 24

2.2.1创建Xcode项目 25

2.2.2运行第一个应用程序 27

2.2.3 Xcode项目结构 28

2.3 XIB编辑界面 30

2.3.1界面的组成 30

2.3.2设计用户界面 31

2.4 Xcode帮助中心 34

第3章iOS设计模式 44

3.1 MVC模式 44

3.1.1 View(视图) 45

3.1.2视图控制器 46

3.2 Target-Action模式 46

3.3 Delegation模式 48

3.4 MVC实例 49

3.4.1在View Controller上添加对象 50

3.4.2在Xcode上编写控制器代码 52

3.4.3关联UI对象和控制器(设置Target-Action) 54

3.4.4运行第2个应用程序 56

3.5 Singleton模式 57

3.6应用生命周期 58

3.6.1 main和UIApplicationMain 59

3.6.2执行委托类上的回调方法 59

3.6.3装载主xib 59

3.6.4处理事件 60

3.6.5暂停或者结束应用程序 60

3.7 Info.plist文件 61

3.8基于设计模式的其他框架设计 63

3.9应用程序设计 64

第4章Objective-C编程语言 67

4.1 Objective-C程序结构 67

4.1.1接口和实现文件 68

4.1.2编译器 71

4.2数据类型 71

4.2.1声明方法的格式和数据类型 72

4.2.2常见数据类型 74

4.2.3字符串NSString 74

4.2.4结构体 75

4.2.5 id类型 76

4.2.6 BOOL 78

4.2.7选择器SEL 80

4.2.8 Class 80

4.2.9 nil和Nil 82

4.2.10指针 83

4.2.11数组 85

4.3类、实例、方法 85

4.3.1面向对象技术 85

4.3.2类和实例 86

4.3.3消息和方法 88

4.3.4实例变量 90

4.3.5创建实例的三种方法 91

4.3.6调用方法的格式 93

4.4操作符和控制语句 94

4.5输入和输出数据 95

4.6 block 96

4.7 Objective-C类 97

4.7.1 Class类(获取对象所属的类) 97

4.7.2 NSObject(所有类的基类) 98

4.7.3数组(NSArray)和集合(NSSet) 98

4.7.4字典类(NSDictionary) 99

4.7.5枚举访问 100

4.8 Objective-C上的内存管理 100

4.9协议、委托、通知 101

4.9.1协议(protocol)和委托(delegate)类 101

4.9.2通知(Notification) 102

4.10@property和@synthesize 103

4.11多事件处理实例 104

4.12框架 108

4.12.1 Foundation和UIKit框架 109

4.12.2 Core Data、 Core Graphics、 Core Animation和OpenGL ES框架 110

4.12.3了解iOS API和OS X API之间的异同 111

4.13异常处理 111

4.14线程 114

4.14.1线程创建与启动 115

4.14.2线程同步 115

4.14.3线程间通信 116

第5章iOS应用程序的调试 118

5.1调试模式和发布模式 118

5.2确认类的方法和属性 119

5.3日志 121

5.4调试iPhone程序 123

5.4.1程序中的错误 123

5.4.2断点调试 124

第6章 视图和绘图 129

6.1视图(View) 129

6.1.1 UIView 129

6.1.2 Frame和Bound 131

6.1.3添加视图实例 132

6.2 UIImage和UIImageView 135

6.2.1 UIImage和图形上下文 137

6.2.2 CGImage 139

6.2.3 drawRect方法 141

6.2.4图形上下文(Graphics Context)的状态 143

6.3路径(Paths) 144

6.3.1颜色(Colors)和模型(Patterns) 146

6.3.2图形上下文(Graphics Context)变换(transform) 147

6.3.3阴影(Shadows) 149

6.4点(Points)和像素(Pixels) 150

第7章 视图控制器、导航控制器和标签栏控制器 152

7.1应用界面结构 154

7.2 UIViewController 155

7.2.1定义视图控制器 156

7.2.2视图控制器中的视图 157

7.2.3视图控制器生命周期 157

7.2.4支持旋转手机功能 158

7.3导航控制器(UINavigationController) 159

7.3.1堆栈式管理 159

7.3.2在两个页之间导航实例 161

7.3.3在两个页之间传递数据 170

7.3.4 UINavigationItem和UIBarButtonItem 173

7.3.5定制返回按钮 174

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

7.4标签栏控制器(UITabBarController) 178

7.4.1标签控制器的创建和管理 178

7.4.2标签栏控制器实例 179

7.4.3 UITabBarItem 183

7.5用户界面设计 187

7.5.1从用户角度进行设计 187

7.5.2理解用户如何使用他们的设备 187

7.5.3学习基本的用户界面原则 188

7.5.4遵循iOS用户界面指南 188

7.5.5利用一些经过验证的设计策略 189

第8章iOS数据的输入、显示和保存 191

8.1 iOS上的数据存放 191

8.1.1属性列表(NSUserDefaults) 191

8.1.2 iOS文件系统 192

8.1.3核心数据(Core Data)库 193

8.1.4 CoreData实例 194

8.2表视图(UITableView) 203

8.2.1表视图类型 203

8.2.2 UITableViewDataSource 205

8.2.3 Table Cell(表单元) 206

8.2.4选中某一行后的处理 208

8.2.5 UITableViewController 209

8.3表视图实例 209

8.4数据录入和虚拟键盘 216

8.5电子邮件和短消息 218

第9章 视图上的控件 220

9.1文本控件 220

9.1.1 UILabel 221

9.1.2 UITextField 222

9.1.3 UITextView 224

9.2键盘操作 225

9.2.1定制快捷键 226

9.2.2在标准键盘上添加自己的键 228

9.2.3键盘通知 229

9.3核心文本 232

9.4网页视图 236

9.4.1 UIWebView 236

9.4.2网页视图实例 239

9.4.3 loadHTMLString方法 244

9.5其他控件和视图 244

9.5.1 UIActivityIndicatorView 245

9.5.2 UIProgressView 246

9.5.3 UIPickerView 247

9.5.4 UISearchBar 249

9.5.5 UIControl 250

9.5.6 UISwitch和UIPageControl 251

9.5.7 UIDatePicker 251

9.5.8 UISlider和UISegmentedControl 253

9.5.9 UlButton 254

9.5.10导航栏、工具栏和标签栏 256

9.6模态对话框 260

9.6.1警告视图 261

9.6.2操作单 262

9.6.3本地通知 263

第10章 GPS、地图和通讯录编程 266

10.1位置类 267

10.1.1 CLLocation 267

10.1.2 CLLocationManager 267

10.1.3位置类例子 268

10.2地图 270

10.2.1 MapKit框架 270

10.2.2 MKMapView 270

10.2.3 MKPlacemark.MKUserLocation和M KReverseGeocoder 271

10.3地图实例 272

10.3.1显示地图 272

10.3.2在地图上标记位置 279

10.3.3根据位置找到地址信息 280

10.3.4获取当前位置 281

10.4通讯录 282

10.4.1选取通讯录上的联系人 282

10.4.2 ABPeoplePickerNavigationController使用实例 285

10.4.3使用presentModal V iewController弹出和关闭视图 289

10.4.4查询并更新通讯录上的联系人 290

10.4.5显示和编辑一个联系人信息 291

10.4.6添加新联系人 292

10.4.7查询和更新通讯录实例 292

第11章 照片编程 299

11.1复制照片到iPhone模拟器 299

11.2从相册中读取照片 300

11.3保存照片到相册 307

11.4使用照相机 307

11.5通过Assets Library框架访问照片库 309

第12章 多线程与网络编程 311

12.1多线程编程和NSOperation 311

12.1.1多线程 311

12.1.2 NSThread 312

12.1.3 NSOperation和NSOperationQueue 313

12.1.4 NSOperation实例 316

12.1.5 GCD 319

12.2网络编程 322

12.3网络编程之同步、异步、请求队列 326

12.4网络编程基本步骤 327

124.1确认网络环境 328

12.4.2使用NSConnection下载数据 330

12.4.3使用NSXMLParser解析xml文件 331

第13章 音频和视频编程 333

13.1音频API 333

13.1.1系统声音API 333

13.1.2声音播放器(AVAudioPlayer) 334

13.1.3录音 334

13.1.4访问资料库中的音乐 335

13.1.5其他API 335

13.2音频操作实例 335

13.3视频 340

13.4视频实例 341

第14章 图层 345

14.1视图和图层 346

14.2图层和子图层 346

14.2.1操纵图层层次结构 348

14.2.2定位子图层 348

14.2.3 CAScrollLayer 349

14.2.4子图层的布局 349

14.3在一个图层中绘制 349

14.3.1内容的重设大小和重定位 350

14.3.2自绘图的图层 352

14.4变换 353

14.4.1深度 355

14.4.2变换和键-值码 357

14.4.3阴影、边界以及更多信息 357

14.4.4图层和键-值码 358

第15章 动画 359

15.1动画概述 359

15.2 UIImageView动画 360

15.3视图动画 361

15.3.1动画块 361

15.3.2修改动画块 362

15.3.3过渡动画 364

15.3.4基于块的视图动画 366

15.4隐式动画 368

15.4.1动画事务 368

15.4.2媒体定时函数 369

15.5核心动画 370

15.5.1 CABasicAnimation和它的继承 370

15.5.2使用CABasicAnimation 371

15.5.3关键帧动画 373

15.5.4自定义属性的动画显示 374

15.5.5分组的动画 375

15.5.6过渡 378

15.5.7动画列表 379

15.6操作 380

15.6.1操作的含义 380

15.6.2操作搜索 380

15.6.3深入到操作搜索 381

15.6.4非属性操作 383

第16章 触摸和手势编程 385

16.1触摸 385

16.1.1触摸事件和视图 386

16.1.2接收触摸 386

16.1.3限制触摸 388

16.1.4解释触摸 388

16.2手势识别器 393

16.2.1手势识别器类 396

16.2.2多手势识别器 399

16.2.3给手势识别器添加子类 400

16.2.4手势识别器委托 401

16.3触摸的发送 402

16.3.1命中测试 403

16.3.2初始的触摸事件发送 405

16.3.3手势识别器和视图 406

16.3.4识别 406

16.3.5触摸和响应链 406

16.4手势识别器实例 407

16.4.1轻击手势编程 407

16.4.2多次触摸和响应者链 410

16.4.3轻扫手势编程 413

16.4.4离散和连续手势 416

16.4.5创建自定义手势 418

16.4.6添加声音 423

16.4.7手势识别的优先顺序 426

16.4.8长按手势 427

第17章 游戏编程基础 432

17.1转动或晃动手机 432

17.1.1晃动事件 433

17.1.2 UIAccelerometer 434

17.1.3 Core Motion 436

17.2设备之间通讯 436

17.2.1 Bonjour 437

17.2.2 GameKit 439

17.3 Cocos2d和Unity3d游戏引擎 440

第18章 性能调试与应用测试 442

18.1性能调试 442

18.1.1内存泄露 442

18.1.2性能监控工具Instruments 443

18.2应用测试(OCUnit) 445

第19章 苹果推服务、应用设置、多语言 451

19.1苹果推服务(Apple Push Notification Service) 451

19.2应用设置 453

19.3多语言支持 457

19.4 iPhone/iPad企业应用 459

19.5开发人员常问的话题 461

第20章 发布应用程序 463

20.1加入iOS Developer Program 463

20.2为App Store创建项目并进行配置 464

20.3为开发预备好设备 465

20.4签名证书和更改运行位置 466

20.5在多个设备和多个iOS版本上测试应用程序 467

20.6在iTunes Connect中配置应用程序数据 469

20.7将应用程序分发到App Store 470

20.8维护应用程序 471

20.9有关应用发布的其他话题 471

第21章 应用安全 473

21.1 iOS是一种严格的Walled Garden 473

21.2每一个应用都是一个孤岛 473

21.3 iOS的沙箱不是Unix的应用隔离机制 474

21.4围栏花园是运营出来的 475

第22章 iPad应用和拆分视图 477

22.1 iPad应用开发 477

22.2拆分视图控制器 483

22.2.1拆分视图例子 483

22.2.2理解拆分视图代码 486

22.3团购应用实例 492

22.4从导航控制器迁移到拆分视图 500

22.4.1基于导航控制器的iPhone应用 501

22.4.2转化为iPad应用 506

22.5 popover 510

22.5.1显示一个popover 510

22.5.2关闭popover 512

22.5.3 popover和表视图实例 512

22.5.4基于样本数据和滑动条的popover实例 517

22.5.5手势和popover的结合编程 523

22.6拆分视图和popover 527

22.7模态视图和popover 527

第23章 自动引用计数(ARC) 533

23.1 ARC概述 533

23.2 ARC应用实例 535

23.2.1使用Xcode自带的转换器 538

23.2.2 ARC手动转换 547

23.2.3委托和弱指针属性 554

第24章iCloud编程 557

24.1让你的应用支持iCloud 557

24.2 iCloud API总览 561

24.3写UIDocument的子类 563

24.4打开一个iCloud文件 564

第25章iOS应用和云计算平台的集成 570

25.1操作XML数据 570

25.2 JSON 572

25.2.1 JSON数据的结构 572

25.2.2操作JSON数据 573

25.2.3 JSON实例 573

25.3调用云服务的手机应用的架构 580

25.4网页视图 582

25.4.1 UIWebView 582

25.4.2网页视图实例 583

25.4.3 loadHTMLString方法 588