《iOS编程 第2版》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)康威,(美)赫乐嘎斯著
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2012
  • ISBN:9787560976976
  • 页数:523 页
图书介绍:本书主要向读者传授了ios编程的一些基本概念,本书有两个特点:第一、涵盖iOS应用开发必备知识:从Objective-C基础知识到新语言特性,从AppKit库到常见的Cocoa设计模式,从Xcode技巧到Instruments,不一而足。第二、指导读者以正确的方法解决问题。

第1章 第一个简单的iOS应用 1

1.1创建Xcode项目 2

1.2创建界面 5

1.3模型-视图-控制器 10

1.4声明 13

声明实例变量 13

声明方法 14

1.5创建关联 15

设置指针 15

设置目标(target)和动作(action) 17

关联小结 19

1.6实现方法 20

1.7用模拟器构建并运行应用 21

1.8安装应用 23

1.9应用图标 24

1.10启动图片 27

第2章Objective-C 31

2.1对象 31

2.2使用实例 32

创建对象 32

发送消息 33

释放对象 34

2.3编写命令行工具RandomPossessions 35

NSString 38

NSArray与NSMutableArray 39

2.4子类化Objective-C类 40

实例变量 44

存取方法 45

实例方法 48

初始化方法 49

其他初始化方法与初始化方法链 52

类方法 53

测试子类 55

2.5异常与控制台窗口 56

2.6快速枚举 57

2.7练习 58

第3章 内存管理 59

3.1内存管理基础 59

C语言的内存管理 59

通过对象管理内存 61

3.2引用计数 61

使用retain计数 61

使用autorelease 64

存取方法和内存管理 67

实现dealloc 69

通过属性机制简化存取方法 70

copy和mutableCopy 72

Retain计数规则 73

3.3深入学习:再谈内存管理 74

第4章 委托机制与Core Location 77

4.1项目、目标和框架 77

4.2 Core Location 79

通过 CLLocationManager获取更新数据 81

4.3委托机制 82

协议 83

委托机制、控制器对象和内存管理 85

4.4使用调试器 86

4.5练习:方位 91

4.6深入学习:构建阶段、编译器错误和连接器错误 91

预处理(Preprocessing) 92

编译 93

连接 94

第5章MapKit与文本输入 97

5.1对象图 97

5.2 MapKit框架 99

5.3界面属性 99

5.4设置MapView对象的委托对象 102

使用文档 103

创建MKAnnotation子类 108

标记位置 112

完成Whereami 113

5.5练习:扩充标注 114

5.6练习:根据地理位置获取城市信息 114

第6章 创建UIView子类 115

6.1创建自定义视图 116

drawRect:方法 116

创建UIView实例 118

6.2绘制文字和阴影 120

6.3使用UIScrollView 121

6.4实现缩放功能 122

6.5隐藏状态条 123

6.6练习:颜色 125

6.7深入学习:Retain循环 125

6.8深入学习:重画视图 125

第7章 视图控制对象 127

7.1视图控制对象与XIB文件 127

7.2使用视图控制对象 129

创建UITabBarController对象 130

创建视图控制对象和标签项 131

为视图控制对象创建视图 135

7.3视图的显示和消失 142

7.4视图控制对象的生命周期与内存过低警告 142

7.5 UIViewController子类与模板 146

7.6练习:地图标签 147

第8章 方向感应器 149

8.1设置方向感应器 149

8.2获取方向感应器数据 151

8.3加速方向与加速数值 151

8.4使用加速感应器数据 151

8.5使加速感应器数据更“平滑” 152

8.6侦测摇动 153

8.7练习:改变颜色 155

8.8深入学习:滤波与频率 155

8.9深入学习:Retina显示屏 156

第9章 通告机制与设备转动 159

9.1通告中心 159

9.2 UIDevice通告 160

9.3自动转屏 161

用代码设置自动缩放掩码与按位运算符 167

9.4强制使用横排模式 169

9.5练习:设备近身通告 170

9.6深入学习:覆盖自动转屏 170

第10章UITabIeView与UITableViewController 171

10.1编写Homepwner应用 171

10.2 UITableViewController 172

创建UITableViewController子类 173

10.3 UITableView数据源 176

PossessionStore:单实例对象 177

实现数据源方法 180

10.4 UITableViewCell对象 182

创建并获取UITableViewCell对象 183

重用UITableViewCell对象 185

10.5代码片段库 186

10.6练习:表格段 189

第11章 编辑UITabIeView 191

11.1编辑模式 191

11.2增加行 197

11.3删除行 198

11.4移动行 199

第12章UINavigationController 203

12.1 UINavigationController 204

UINavigationBar 207

12.2加入额外的UIViewController 211

12.3 UINavigationController的导航功能 217

将视图控制对象压入栈 217

视图控制对象之间的数据传递 219

视图的显示和消失 221

12.4练习:数字键盘(Number Pad) 221

第 13章 相机 223

13.1通过UIImageView显示图片 223

通过UIImagePickerController拍摄照片 226

ImageStore 231

创建并使用键 234

隐藏键盘 237

13.2练习:删除图片 238

13.3深入学习:摄像 238

第14章UIPopoverController与模态视图控制对象 241

14.1将Homepwner改写为通用应用 242

14.2 UIPopoverController 244

14.3模态视图控制对象 246

关闭模态视图控制对象 249

模态视图控制对象的样式 250

编写视图控制对象的委托协议 252

模态视图控制对象的过渡动画 254

第15章 保存、读取与多任务处理 257

15.1应用沙盒 257

获取文件路径 258

15.2固化 260

对象的固化 260

对象的解固 262

15.3应用状态、状态切换与多任务处理 265

15.4通过NSData保存数据 269

15.5再谈内存过低警告 271

15.6模型-视图-控制器-存储设计模式 272

15.7练习:为Whereami增加固化功能 272

15.8深入学习:应用状态的切换 272

15.9深入学习:文件系统的读取和写入 273

15.10深入学习:程序包 276

第16章 创建UITableViewCell子类 279

16.1创建HomepwnerItemCell 280

创建子视图 281

子视图的布局 282

使用UITableViewCell子类对象 283

16.2处理图片 284

16.3练习:辅助指示视图 289

16.4练习:缩小原图 289

第17章Core Data 291

17.1对象-关系映射 291

17.2用Core Data重写PossessionStore的数据保存功能 291

模型文件 292

NSManagedObject与NSManagedObject子类 297

更新PossessionStore 301

为Homepwner增加AssetType功能 307

17.3再谈SQL 311

17.4各种保存机制的优缺点 314

17.5练习:增加AssetType对象 315

17.6练习:AssetType对象的iPad界面 315

第18章 本地化 317

18.1通过NSLocale实现国际化 318

18.2资源的本地化 319

18.3 NSLocalizedString与字符串对照表 322

18.4练习:增加一套本地化资源 325

18.5深入学习:NSBundle在国际化中的作用 325

第19章 设置 327

19.1更新Whereami 327

19.2 NSUserDefaults 329

19.3深入学习:设置应用 331

第20章 触摸事件与UIResponder 333

20.1触摸事件 334

20.2创建TouchTracker应用 335

20.3处理触摸事件并创建线条对象 337

20.4响应对象链 340

20.5练习:保存和读取 341

20.6练习:圆圈 341

20.7深入学习:UIControl 341

第21章Instruments 343

21.1静态分析器 343

21.2 Instruments 345

Allocations组件 345

Time Profiler组件 353

21.3 Xcode方案 355

创建新方案 357

21.4构建设置 359

第22章Core Animation Layer 363

22.1层与视图的关系 363

22.2创建CALayer对象 364

22.3层的显示内容 367

22.4隐式可动画属性 369

22.5深入学习:通过代码生成显示内容 371

22.6深入学习:层、位图与上下文 372

22.7练习:动态生成层的显示内容 374

第23章 通过CAAnimation控制动画 375

23.1动画对象 375

23.2通过CABasicAnimation实现旋转动画 378

速度控制函数 381

动画结束后的处理 382

23.3通过CAKeyframeAnimation实现弹跳动画 383

23.4练习:更多动画效果 384

23.5深入学习:外观层和模型层 384

第24章Block对象与范畴 387

24.1为TouchDraw View上色 387

24.2 Block对象 389

Block对象与变量 389

捕获变量 393

通过其他内建的方法使用Block对象 396

通过Block对象保持代码的短小精练 396

24.3范畴 397

24.4深入学习:内存管理与Block对象 400

24.5深入学习:比较多种回调机制实现途径的优缺点 403

第25章Web服务与UIWebView 405

25.1 Web服务 406

编写Nerdfeed 407

从指定的URL获取数据 408

使用NSURLConnection 410

解析XML数据 412

日志输出技巧 423

25.2 UIWebView 424

25.3深入学习:NSXMLParser 426

25.4深入学习:HTTP请求主体 427

25.5深入学习:认证信息 429

25.6练习:解析并显示更多数据 430

25.7练习:加强UIWebView 430

第26章UISplitViewController 431

26.1在Nerdfeed中使用UISplitViewController 432

26.2主、从视图控制对象间的通信 436

26.3在竖排模式下显示主视图控制对象 442

26.4将Nerdfeed改写为通用应用 445

第27章 多媒体播放与后台运行 449

27.1创建MediaPlayer应用 449

27.2系统声音 452

注册系统声音 452

播放系统声音 453

27.3播放压缩格式的音频文件 454

27.4播放视频文件 455

MPMoviePlayerViewController 457

视频文件的预读 458

27.5后台运行 458

后台运行规则 459

其他形式的后台运行 460

27.6底层API 462

27.7练习:录音 462

第28章Bonjour与Web服务端 463

28.1 Bonjour 463

创建CocoaServer 464

发布Bonj our服务 467

通过Bonjour查找服务 469

28.2 HTTP通信 473

用Objective-C编写Web服务端 473

获取服务端的网络地址信息 474

字节序 475

创建服务请求 475

接收Web请求 477

28.3深入学习:TXTRecords 479

第29章 推送通知与网络编程 481

29.1设置客户端,为接收推送通知做准备 482

注册客户端 482

创建并设置针对推送通知的provisioning profile 483

29.2投递推送通知 486

向provider发送设备token 486

29.3发送推送通知 488

通过NSStream和Apple服务器创建网络连接 488

29.4几种额外的客户端通知处理机制 498

声音和图标标记 499

通过推送通知传送自定义数据 500

29.5正式的通知服务器以及其他发布事宜 502

29.6深入学习:反馈服务 502

第30章 后记 503

30.1接下来做什么 503

30.2结束语 503

索引 505