《IOS编程 第3版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:JoeConway,AaronHillegass著;夏伟频译
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2013
  • ISBN:9787560986050
  • 页数:589 页
图书介绍:本书有两个特点:第一、涵盖iOS应用开发必备知识:从Objective-C基础知识到新语言特性,从AppKit库到常见的Cocoa设计模式,从Xcode技巧到Instruments,不一而足。第二、指导读者以正确的方法解决问题。

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

1.1创建Xcode项目 2

1.2创建界面 5

1.3模型-视图-控制器 9

1.4声明 11

1.5创建关联 13

1.6实现方法 17

1.7针对模拟器构建并运行应用 20

1.8安装应用 22

1.9应用图标 23

1.10启动图片 25

第2章Objective-C 29

2.1对象 29

2.2使用实例 30

2.3编写命令行工具RandomPossessions 33

2.4创建Objective-C类的子类 39

2.5异常与未知选择器 56

2.6快速枚举 58

2.7练习 58

2.8初级练习:查找问题 59

2.9中级练习:另一个初始化方法 59

2.10高级练习:另一个类 59

2.11关于深入学习部分 59

2.12深入学习:如何为类命名 60

第3章 通过ARC管理内存 61

3.1堆 61

3.2栈 62

3.3指针变量与对象所有权 63

3.4内存管理 64

3.5强引用与弱引用 67

3.6属性 72

3.7 copy特性 77

3.8用点号调用存取方法 78

3.9深入学习:Autorelease池与ARC历史 78

第4章 委托与Core Location 81

4.1项目、目标与框架 82

4.2 Core Location 83

4.3委托 87

4.4使用调试器 91

4.5初级练习:距离过滤 97

4.6中级练习:获取方位信息 98

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

第5章MapKit与文本输入 103

5.1对象图 103

5.2 MapKit框架 104

5.3界面属性 105

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

5.5初级练习:地图类型 120

5.6中级练习:修改地图类型 120

5.7高级练习:扩充标注 120

第6章UIView子类与UIScrollView 121

6.1视图与视图层次结构 122

6.2创建自定义视图 124

6.3 UIView的drawRect:方法 128

6.4 Core Graphics 131

6.5 UIKit中的绘图扩展 132

6.6重画视图 134

6.7运动事件 136

6.8使用UIScrollView 138

6.9隐藏状态条 142

6.10初级练习:颜色 143

6.11中级练习:图形 144

6.12高级练习:另一个视图与曲线 144

第7章 视图控制对象 145

7.1 UIViewController 145

7.2 UITabBarController 155

7.3视图控制对象的生命周期 159

7.4 UIViewController子类与模板 168

7.5初级练习:增加一个标签项 168

7.6中级练习:控制逻辑 168

7.7深入学习:main函数与UIApplication 169

7.8深入学习:Retina显示屏 169

第8章 通告机制与自动转屏 173

8.1通告中心 173

8.2 UIDevice通告 175

8.3自动转屏 176

8.4强制使用横排模式 184

8.5初级练习:设备近身通告 185

8.6中级练习:编写代码设置自动缩放掩码 185

8.7高级练习:覆盖自动转屏 185

8.8深入学习:覆盖自动转屏 185

第9章UITableView与UITableViewController 187

9.1编写Homepwner应用 187

9.2 UITableViewController 189

9.3 UITableView数据源 192

9.4 UITableViewCell对象 198

9.5代码片段库 203

9.6初级练习:表格段 205

9.7中级练习:固定行 205

9.8高级练习:修改UITableView对象的外观 206

第10章 编辑UITableView 207

10.1编辑模式 207

10.2增加行 213

10.3删除行 215

10.4移动行 216

10.5初级练习:更改“删除”按钮的标题 218

10.6中级练习:禁止移动某个表格行 218

10.7高级练习:彻底禁止移动某个表格行 218

第11章UINavigationController 219

11.1 UINavigationController对象 219

11.2额外的视图控制对象 223

11.3 UINavigationController的导航功能 228

11.4 UINavigationBar 233

11.5初级练习:显示数字键盘 238

11.6中级练习:关闭数字键盘 238

11.7高级练习:压入更多视图控制对象 238

第12章 相机 239

12.1通过UIImageView对象显示图片 239

12.2初级练习:编辑图片 257

12.3中级练习:删除图片 257

12.4高级练习:Camera Overlay 257

12.5深入学习:摄像 257

第13章UIPopoverController与模态视图控制对象 261

13.1将Homepwner改为通用应用 261

13.2 UIPopoverController 263

13.3更多的模态视图控制对象 266

13.4初级练习:将Whereami改为通用应用 274

13.5中级练习:使用不同的动画效果 275

13.6高级练习:UIPopoverController对象的外观 275

13.7深入学习:视图控制对象之间的关系 275

第14章 保存、读取与应用状态 279

14.1固化 279

14.2应用沙盒 281

14.3 NSKeyedArchiver与NSKeyedUnarchiver 283

14.4应用状态与状态切换 286

14.5通过NSData将数据写入文件 289

14.6再谈内存过低警告 291

14.7模型-视图-控制器-存储设计模式 292

14.8初级练习:PNG 293

14.9中级练习:为Whereami增加固化功能 293

14.10深入学习:应用的状态切换 293

14.11深入学习:文件系统的读取和写入 295

14.12深入学习:应用程序包 297

第15章 创建UITableViewCell子类 299

15.1创建HomepwnerltemCell 299

15.2处理图片 305

15.3由UITableViewCell对象转发动作消息 308

15.4初级练习:设置颜色 316

15.5中级练习:UITableViewCell子类的基类 316

15.6高级练习:缩放 316

第16章Core Data 317

16.1对象-关系映射 317

16.2用Core Data重写BNRItemStore的数据保存功能 318

16.3再谈SQL 336

16.4 Faults 337

16.5各种存取机制的优缺点 339

16.6初级练习:AssetTypePicker对象的iPad界面 339

16.7中级练习:增加BNRAssetType对象 339

16.8高级练习:显示某种类型的BNRItem实例 340

第17章 本地化 341

17.1通过NSLocale实施国际化 342

17.2资源的本地化 343

17.3 NSLocalizedString与字符串对照表 347

17.4初级练习:增加一套本地化资源 349

17.5深入学习:NSBundle在国际化过程中的作用 349

第18章NSUserDefaults 351

18.1更新Whereami 351

18.2使用NSUserDefaults 353

18.3中级练习:初始坐标 355

18.4高级练习:简化坐标的存储 356

18.5深入学习:“设置” 356

第19章 触摸事件与UIResponder 357

19.1触摸事件 357

19.2创建TouchTracker应用 359

19.3实现TouchDrawView,完成绘图功能 360

19.4处理触摸事件并创建线条对象 361

19.5响应对象链 364

19.6初级练习:保存与读取 365

19.7中级练习:颜色 365

19.8高级练习:圆圈 365

19.9深入学习:UIControl 365

第20章UIGestureRecognizer与UIMenuController 367

20.1 UIGestureRecognizer子类 367

20.2用UITapGestureRecognizer对象识别“按下”手势 368

20.3 UIMenuController 371

20.4 UILongPressGestureRecognizer 372

20.5 UIPanGestureRecognizer以及同时识别多个手势 374

20.6 深入学习:UIMenuController与UIResponderStandardEditActions 376

20.7深入学习:再谈UIGestureRecognizer 377

20.8初级练习:清空线条 378

20.9中级练习:修正错误 379

20.10高级练习:速度与宽度 379

20.11高级练习:颜色 379

第21章Instruments 380

21.1静态分析器 380

21.2 Instruments 382

21.3 Xcode方案 392

21.4创建新方案 394

21.5构建设置 396

第22章Core Animation Layer 399

22.1层与视图的关系 399

22.2创建CALayer对象 400

22.3层的显示内容 403

22.4隐式可动画属性 405

22.5初级练习:增加一个CALayer对象 407

22.6中级练习:圆角 407

22.7高级练习:阴影 407

22.8深入学习:通过代码生成显示内容 407

22.9深入学习:层、位图与上下文 408

第23章 通过CAAnimation控制动画 411

23.1动画对象 411

23.2通过CABasicAnimation实现旋转动画 414

23.3通过CAKeyframeAnimation实现弹跳动画 419

23.4初级练习:增加一个动画效果 420

23.5中级练习:再增加一个动画效果 420

23.6高级练习:串联动画 421

23.7深入学习:外观层和模型层 421

第24章UIStoryboard 423

24.1创建Storyboard文件 423

24.2 Storyboard文件中的UITable View Controller 427

24.3 Segue 430

24.4 Storyboards的优缺点 434

第25章Web服务与UIWebView 437

25.1 Web服务 438

25.2 UIWebView 456

25.3深入学习:NSXMLParser 458

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

25.5深入学习:认证信息 461

25.6初级练习:解析并显示更多数据 462

25.7中级练习:加强UIWebView 462

第26章 UISplitViewController与NSRegularExpression 463

26.1在Nerdfeed中使用UISplitViewController 464

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

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

26.4将Nerdfeed改为通用应用 477

26.5 NSRegularExpression 478

26.6初级练习:提取子论坛的名称 484

26.7中级练习:交换UIBarButtonItem对象 484

26.8中级练习:处理回帖 484

26.9高级练习:根据原帖分类显示 484

第27章Block对象 485

27.1 Block对象及其语法 485

27.2浅谈如何使用Block对象 490

27.3捕获变量 493

27.4 Block对象的常见用途 496

27.5深入学习:_block、简化语法与内存管理 497

27.6深入学习:多种回调机制的优缺点 500

第28章 模型-视图-控制器-存储 503

28.1为什么需要存储对象 503

28.2创建BNRFeedStore 506

28.3使用BNRFeedStore对象 508

28.4实现BNRFeedStore 511

28.5通过JSON格式传输数据 521

28.6再谈存储对象 526

28.7初级练习:用于设置曲目个数的界面 527

28.8高级练习:从另一个Web服务获取数据 527

28.9深入学习:JSON格式 527

第29章 再谈MVCS 529

29.1缓存RSS数据 529

29.2高级缓存 535

29.3己读RSSItem对象与未读RSSItem对象 545

29.4使用存储对象的其他益处 550

29.5初级练习:限制缓存大小 551

29.6中级练习:收藏 551

29.7高级练习:缓存JSON数据 551

29.8深入学习:设计存储对象 552

29.9深入学习:自动缓存与Cache…db 553

第30章iCloud 555

30.1使用iCloud前的准备工作 556

30.2 Ubiquity Container 556

30.3支持iCloud的provisioning profile 558

30.4 Core Data与iCloud 561

30.5深入学习:iCloud备份 567

第31章 后记 569

31.1接下来做什么 569

31.2结束语 570

索引 571