疯狂iOS讲义:iPhone/iPad高级应用与手游开发.pdf

疯狂iOS讲义:iPhone/iPad高级应用与手游开发.pdf
 

书籍描述

编辑推荐
《疯狂iOS讲义(下):iPhone/iPad高级应用与手游开发(含CD光盘1张)》基于iOS 7平台,全部案例均通过iPhone 5s真机测试。
商业级手游代码无保留全盘呈现。
国家级行业大奖得主、电子工业出版社优秀作者、IT名家李刚老师出品,一如既往的质量保障。
iOS开发零基础入门请阅读《疯狂iOS讲义(下):iPhone/iPad高级应用与手游开发(含CD光盘1张)》
Android应用开发请阅读15次印刷旗舰作品《疯狂Android讲义(第2版)》

作者简介
李刚,从事10多年的软件行业从业经历,现任疯狂软件教育中心教学总监。
51cto专家门诊特邀嘉宾。
曾任广州电信、广东龙泉科技等公司的技术培训导师,广东技术师范学院计算机科学系的兼职副教授。
培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。
国内著名高端IT技术作家,已出版疯狂体系图书均已得到广泛的市场认同,多次重印成为超级畅销书,并被多所“985”“211”院校选作教材。部分图书已被翻译成繁体中文版、授权到台湾地区。

目录
第1章 多点触摸与手势检测 1
1.1 响应者链 2
1.2 响应触碰方法 3
1.3 使用手势处理器(UIGESTURERECOGNIZER) 3
1.3.1 使用UITAPGESTURERECOGNIZER处理点击手势 4
1.3.2 使用UIPINCHGESTURERECOGNIZER处理捏合手势 6
实例:通过捏合手势缩放图片 7
1.3.3 使用UIROTATIONGESTURERECOGNIZER处理旋转手势 9
实例:通过旋转手势旋转图片 9
1.3.4 使用UISWIPEGESTURERECOGNIZER处理轻扫手势 10
实例:贪食蛇 12
1.3.5 使用UIPANGESTURERECOGNIZER处理拖动手势 18
1.3.6 使用UILONGPRESSGESTURERECOGNIZER处理长按手势 19
实例:长按添加按钮 20
1.4 创建和使用自定义手势处理器 21
1.4.1 开发自定义手势处理器 21
1.4.2 使用自定义手势处理器 23
1.5 本章小结 24
第2章 国际化 25
2.1 IOS应用国际化的基础 26
2.1.1 IOS应用的国际化思路 26
2.1.2 OBJECTIVE-C国际化支持的语言和国家 28
2.2 国际化界面设计文件 29
2.3 国际化应用程序的显示名称 32
2.4 国际化图片 34
2.5 国际化文本 35
2.6 本章小结 38
第3章 IOS的数据存储与IO 39
3.1 应用程序沙盒 40
3.1.1 获取DOCUMENTS目录 41
3.1.2 获取TMP目录 41
3.1.3 文件保存策略思考 41
3.2 应用程序参数与用户默认设置 42
3.2.1 使用SETTINGS BUNDLE 42
3.2.2 使用NSUSERDEFAULTS读取、保存应用程序参数 50
3.3 属性列表 54
实例:备忘录 55
3.4 对象归档和原生I/O API 58
3.5 使用SQLITE 3数据库 58
3.5.1 IOS的SQLITE编程 58
3.5.2 创建数据库和表 63
3.5.3 使用SQL语句执行查询 63
实例:英文生词本 64
3.5.4 使用SQLITE3工具 67
3.5.5 使用SQLITE MANAGER管理数据库 69
3.6 使用CORE DATA框架 71
3.6.1 CORE DATA简介 71
3.6.2 初始化CORE DATA项目 73
3.6.3 设计实体模型 76
3.6.4 使用CORE DATA实现数据的增、删、改、查 78
3.6.5 管理实体的关联关系 84
实例:图书管理系统 84
3.7 本章小结 95
第4章 多媒体应用开发 96
4.1 音频和视频的播放 97
4.1.1 使用SYSTEM SOUND SERVICES播放音效 97
4.1.2 使用AVAUDIOPLAYER播放音乐 98
4.1.3 使用MPMEDIAPICKERCONTROLLER选择系统音乐 102
实例:简单音乐播放器 103
4.1.4 使用MPMOVIEPLAYERCONTROLLER播放视频 106
4.2 使用AVAUDIORECORDER录制音频 108
4.3 拍照和录制视频 112
4.3.1 使用UIIMAGEPICKERCONTROLLER拍照和录制视频 112
4.3.2 使用AVFOUNDATION拍照和录制视频 116
实例:完全自定义的相机 118
4.4 使用AVFOUNDATION生成视频缩略图 135
4.5 本章小结 137
第5章 管理手机 138
5.1 使用ADDRESSBOOK管理联系人 139
5.1.1 删除联系人 142
5.1.2 添加联系人 144
5.1.3 修改联系人 147
5.2 使用ADDRESSBOOKUI管理联系人 151
5.2.1 使用ABNEWPERSONVIEWCONTROLLER添加联系人 153
5.2.2 使用ABUNKNOWNPERSONVIEWCONTROLLER显示未知联系人 154
5.2.3 使用ABPEOPLEPICKERNAVIGATIONCONTROLLER选择联系人 156
5.2.4 使用ABPERSONVIEWCONTROLLER显示指定联系人 157
5.3 使用UIAPPLICATION打电话、发短信 159
5.4 使用MFMESSAGECOMPOSEVIEWCONTROLLER发短信 160
5.5 使用MFMAILCOMPOSEVIEWCONTROLLER发送邮件 162
5.6 本章小结 165
第6章 加速计与陀螺仪 166
6.1 IOS支持的加速计和陀螺仪 167
6.1.1 IOS加速计和陀螺仪的理论基础 167
6.1.2 基于代码块方式获取加速度数据、陀螺仪数据、磁场数据 168
6.1.3 主动请求获取加速度数据、陀螺仪数据、磁场数据 172
实例:怪物足球 173
6.2 感知设备移动 178
实例:水平仪 181
6.3 IOS 7新增的计步器 184
6.4 IOS 7新增的CMMOTIONACTIVITYMANAGER 186
6.5 本章小结 188
第7章 多线程 189
7.1 线程概述 190
7.1.1 线程和进程 190
7.1.2 多线程的优势 191
7.2 使用NSTHREAD实现多线程 192
7.2.1 创建和启动线程 192
7.2.2 线程的状态 194
7.2.3 终止子线程 194
7.2.4 线程睡眠 195
实例:使用线程下载网络图片 196
7.2.5 改变线程优先级 197
7.3 线程同步与线程通信 199
7.3.1 线程安全问题 199
7.3.2 使用@SYNCHRONIZED实现同步 201
7.3.3 释放对同步监视器的锁定 203
7.3.4 同步锁(NSLOCK) 203
7.3.5 使用NSCONDITION控制线程通信 205
实例:生产者-消费者 205
7.4 使用GCD实现多线程 208
7.4.1 创建队列 209
7.4.2 异步提交任务 210
实例:使用GCD下载图片 212
7.4.3 同步提交任务 213
7.4.4 多次执行的任务 214
7.4.5 只执行一次的任务 215
7.5 后台运行 216
7.5.1 进入后台时释放内存 216
实例:疯狂飞机大战 216
7.5.2 进入后台时保存状态 223
7.5.3 请求更多的后台时间 223
7.6 使用NSOPERATION与NSOPERATIONQUEUE实现多线程 225
7.6.1 使用NSINVOCATIONOPERATION和NSBLOCKOPERATION 226
实例:使用NSBLOCKOPERATION下载图片 226
7.6.2 定义NSOPERATION子类 227
7.7 本章小结 229
第8章 IOS网络应用编程 230
8.1 检测网络状态 231
8.1.1 检查网络状态 231
8.1.2 监听网络状态改变 234
8.2 使用CFNETWORK实现TCP协议的通信 235
8.2.1 IP地址与端口号 236
8.2.2 TCP协议基础 236
8.2.3 使用CFSOCKET实现TCP服务器端 237
8.2.4 使用CFSOCKET实现TCP客户端 241
实例:网络聊天程序 244
8.2.5 使用COCOAASYNCSOCKET实现TCP客户端 247
8.3 使用NSURLCONNECTION 250
8.3.1 使用NSURLCONNECTION从网络获取数据 250
8.3.2 使用NSMUTABLEURLREQUEST向服务器发送数据 253
8.4 XML解析 255
8.4.1 DOM与SAX 255
8.4.2 使用NSXMLPARSER解析XML文档 257
8.4.3 使用LIBXML2解析XML文档 262
8.4.4 使用GDATAXML解析XML文档 266
8.4.5 使用GDATAXML生成、修改XML文档 268
8.5 JSON解析 271
8.5.1 JSON的基本知识 271
8.5.2 使用NSJSONSERIALIZATION处理JSON数据 274
8.5.3 使用SBJSON解析JSON数据 274
8.5.4 使用JSONKIT解析JSON数据 275
8.6 使用AFNETWORKING实现网络通信 280
8.6.1 提交GET请求与提交POST请求 280
实例:访问被保护资源 281
8.6.2 处理JSON或PLIST响应 284
8.6.3 处理XML响应 288
8.6.4 上传文件 290
8.7 使用ASIHTTPREQUEST框架实现网络编程 293
8.7.1 发送同步或异步的GET请求 293
8.7.2 使用代码块 296
8.7.3 使用NSOPERATIONQUEUE管理请求 297
8.7.4 发送请求参数和文件上传 299
实例:天气预报 300
8.8 本章小结 311
第9章 使用CORELOCATION定位 312
9.1 IOS的定位支持 313
9.1.1 GPS卫星定位 313
9.1.2 基站定位 314
9.1.3 WIFI定位 314
9.2 获取定位信息 314
9.2.1 获取位置信息 315
9.2.2 使用IOS模拟器模拟位置 318
9.2.3 监控行车速度和行车距离 318
9.3 方向监测 320
实例:指南针 322
9.4 区域监测 323
9.5 本章小结 325
第10章 使用MAPKIT开发地图服务 326
10.1 使用MAPKIT框架 327
10.1.1 使用MKMAPVIEW控件 328
10.1.2 指定地图显示中心和显示区域 329
10.1.3 使用IOS 7新增的MKMAPCAMERA 332
10.2 根据地址定位 333
10.2.1 地址解析与反向地址解析 333
10.2.2 根据地址定位 337
10.3 在地图上添加锚点 340
10.3.1 添加简单的锚点 340
10.3.2 添加自定义锚点 343
10.4 在地图上添加覆盖层 345
10.4.1 添加几何覆盖层 346
10.4.2 使用IOS 7新增的MKTILEOVERLAY覆盖层 348
10.5 使用IOS 7新增的MKDIRECTIONS获取导航路线 350
实例:行车导航仪 351
10.6 本章小结 354
第11章 推送机制 355
11.1 使用NSNOTIFICATIONCENTER通信 356
11.1.1 使用NSNOTIFICATIONCENTER监听系统组件的通知 358
11.1.2 使用NSNOTIFICATIONCENTER监听自定义通知 359
11.2 IOS本地通知 361
11.3 IOS远程推送通知 364
11.3.1 开发PUSH客户端应用 366
11.3.2 开发PUSH服务端程序 377
11.4 本章小结 381
第12章 ICLOUD服务与应用 382
12.1 ICLOUD入门 383
12.1.1 为应用开启ICLOUD服务 384
12.1.2 使用NSMETADATAQUERY查询文档 389
12.1.3 添加文档 393
12.1.4 编辑文档 395
12.1.5 删除文档 397
12.2 使用ICLOUD保存云端首选项 398
12.3 本章小结 401
第13章 使用COCOS2D开发2D游戏 402
13.1 COCOS2D简介 403
13.1.1 COCOS2D的特点 403
13.1.2 COCOS2D的主要功能 403
13.2 COCOS2D的下载与安装 404
13.2.1 下载COCOS2D 404
13.2.2 安装COCOS2D 405
13.2.3 使用COCOS2D-IPHONE的帮助文档 405
13.2.4 COCOS2D中内置的项 406
13.3 创建COCOS2D项目 407
13.3.1 HELLOWORLD COCOS2D项目 407
13.3.2 COCOS2D项目如何支持ARC 408
13.3.3 COCOS2D项目结构和代码分析 413
13.4 CCNODE节点类 419
13.4.1 CCNODE类的属性 419
13.4.2 CCNode类的方法 420
13.5 CCScene场景类 423
13.5.1 CCTransitionScene 场景切换 423
13.5.2 cocos2d支持的场景过渡效果 424
13.6 CCLayer类 424
13.6.1 CCLayer类的属性 425
13.6.2 CCLayer类的常用方法 425
13.6.3 CCLayer类的作用 425
13.6.4 CCLayerColor类的属性和方法 425
13.6.5 CCLayerGradient渐变色层类 426
13.6.6 CCMenu菜单类 426
13.7 CCDirector导演类 429
13.7.1 CCDirector导演类的属性 430
13.7.2 CCDirector导演类的方法 430
13.8 CCTexture纹理类 431
13.8.1 纹理的相关概念 431
13.8.2 纹理相关的类 431
13.9 CCSprite精灵类 432
13.9.1 CCSprite精灵类的属性 432
13.9.2 CCSprite精灵类的方法 432
13.9.3 CCSpriteFrame精灵帧 435
13.9.4 CCSpriteFrameCache精灵帧缓存 436
13.9.5 CCSpriteBatchNode精灵表单 436
13.9.6 制作精灵表单 438
13.9.7 精灵表单示例 440
13.10 cocos2d中的动作 442
13.10.1 cocos2d中的动作类 443
13.10.2 基本动作 444
13.10.3 组合动作 453
13.10.4 Ease动作 454
13.10.5 延迟动作 456
13.10.6 方法回调动作 456
13.10.7 代码块调用动作 460
13.11 cocos2d中的动画 462
13.11.1 cocos2d中动画相关的类 462
13.11.2 简单动画效果 463
13.11.3 使用精灵表单实现动画效果 464
13.12 cocos2d中的文本 466
13.12.1 CCLabelTTF类 466
13.12.2 CCLabelBMFont类 467
13.13 cocos2d中的声音 470
13.13.1 SimpleAudioEngine 470
13.13.2 游戏中的声音设置选项功能实现 474
13.14 疯狂打飞机游戏 477
13.14.1 开始前的准备工作 477
13.14.2 添加游戏菜单项功能 478
13.14.3 预加载游戏资源 480
13.14.4 玩家飞机飞行效果 485
13.14.5 玩家飞机Touch实现 487
13.14.6 背景滚动效果 488
13.14.7 添加敌机 491
13.14.8 玩家飞机添加子弹并射击 494
13.14.9 添加背景音乐 498
13.14.10 添加游戏积分统计 498
13.14.11 添加游戏大Boss 500
13.15 本章小结 504
第14章 粒子效果、瓦片地图和物理引擎 505
14.1 粒子系统相关的类 506
14.1.1 CCParticleSystem类 506
14.1.2 CCParticleSystemQuad类 511
14.1.3 CCParticleBatchNode类 512
14.2 cocos2d中内置的粒子系统 512
14.2.1 使用cocos2d内置的粒子系统 513
14.2.2 手动创建粒子系统类 514
14.3 使用Particle Designer生成粒子效果 517
14.3.1 Particle Designer粒子工具的使用 518
14.3.2 使用plist文件创建粒子系统 520
14.4 瓦片地图 520
14.4.1 下载和安装Tiled地图编辑器 521
14.4.2 使用Tiled绘制地图 522
14.5 Tiled地图相关的类 527
14.5.1 CCTMXTiledMap类 527
14.5.2 CCTMXLayer类 529
14.5.3 CCTMXObjectGroup类 530
14.6 在项目中使用Tiled地图 530
14.7 真实手游:萌仙 535
14.7.1 设计地图场景 535
14.7.2 载入地图 535
14.7.3 地图的移动 537
14.7.4 物体遮挡效果 539
14.7.5 设置障碍物 542
14.7.6 寻路算法 544
14.7.7 随机出现怪物 549
14.7.8 玩家和怪物进行战斗 552
14.8 Box2D物理引擎 559
14.8.1 物理引擎概述 559
14.8.2 Box2D的核心概念 559
14.8.3 Box2D常用的属性和方法 562
14.8.4 Box2D模板项目HelloBox2D 563
14.8.5 HelloBox2D模板项目代码分析 565
14.8.6 cocos2d和Box2D 573
14.8.7 Box2D开发步骤 575
14.9 开发Box2D项目 575
14.10 愤怒的小鸟 581
14.10.1 开始前的准备工作 581
14.10.2 制作游戏启动画面 581
14.10.3 进度条制作 582
14.10.4 游戏中的粒子效果 585
14.10.5 游戏选关操作 590
14.10.6 设计关卡数据 594
14.10.7 设计精灵类 596
14.10.8 游戏主界面 601
14.10.9 弹弓发射小鸟 604
14.10.10 整合Box2D物理引擎 609
14.10.11 游戏过关设计 613
14.11 本章小结 616

序言
《疯狂iOS讲义》下册来了——作为上册的延续,本书的内容更加深入,更加“有趣”,如果你已经挺过了上册中Objective-C语法的介绍、iOS界面开发中繁多的UI控件,恭喜你可以顺利进入下册学习了。本书内容包括《萌仙》模块、《打飞机》、《贪食蛇》、《天气预报》、《愤怒的小鸟》等大量精彩的iOS应用和游戏,本书不仅会细致地介绍开发这些应用和游戏所需的基础知识,而且会真正带领读者从零开始,逐步完成这些应用和游戏。如果读者认真学完本书,并掌握书中内容,将可以完全胜任iOS应用和游戏开发。
虽然本书的知识点足够深入、实用,但对于已经掌握《疯狂iOS讲义》上册内容的读者来说,本书的知识依然很容易看懂、理解,并很容易动手做出来。只要读者真正对书中应用、游戏感兴趣,并愿意扎扎实实地动手实践,完全可以很好地学会、掌握书中这些知识点。
有些读者可能会被市面上某些薄薄的图书吸引:他们以为阅读一本薄薄的图书更容易掌握这门技术。但实际上,无论你学还是不学,技术就在那里;无论作者写还是不写,技术就在那里。如果一本技术图书太过单薄,则可能有以下三种情况:
技术本身就简单,只要简单的介绍即可。
技术并不简单,但图书只介绍了该技术的皮毛,读者学起来很轻松,但实际开发时就感觉“书到用时方恨少”。
技术并不简单,该图书高度概括、提纲挈领地归纳该技术的要点。
iOS开发绝不是三言两语就可以说清的一门技术,而《疯狂iOS讲义》并不打算只归纳该技术的要点,而是力求全面、细致地介绍iOS开发的相关内容,《疯狂iOS讲义》包括了两大块知识:Objective-C语言和iOS平台的应用开发,因此不得不将《疯狂iOS讲义》分为上、下册(最初打算用一本书介绍完,但后来发现这个想法做不到)。
写一本全面、系统的图书比写一本薄薄的书辛苦多了!如果只是写一本薄薄的书,则可以随便介绍点常见的知识,加点例子就行了。但如果打算全面、系统地讲清楚一门技术,就需要高屋建瓴地把握整个技术的大纲,并理清各知识点之间的关联,然后还需要逐个介绍每个知识点的细节。
有一点小小的遗憾:出于篇幅限制,《疯狂iOS讲义》下册中没有包括SpriteKit(iOS 7新增的游戏引擎)相关内容,除此之外,本书基本全面介绍了iOS 7新增的API,这是考虑到目前iOS游戏开发者普遍依然采用cocos2d,因此本书暂时没有涉及SpriteKit相关内容。
本书创作感言
多年过去以后,疯狂系列图书用事实证明:国内图书的质量,其实也可以很好,关键在于作者是否愿意付出全部心血去创作一本图书。《疯狂Android讲义》、《疯狂Java讲义》、《轻量级Java EE企业应用实战》这些图书在亚马逊等网店的销量排行榜的事实证明了国内图书更适合中国开发者。
但总有些人说:还是国外的书更好——这里无意贬低国外引进的优秀图书。无论国外还是国内都可以产生优秀的图书,根据区域划分图书质量本身就是简单、粗暴的。国外作者固然创作了大量优秀的技术图书,但国内同样有一些作者在努力坚持。
“还是国外的书好”这句话之所以有人说,无非有两个原因:
从整体质量来看,国内原创的、优秀的图书数量确实比国外的优秀的图书数量少——因此,从统计学的角度来看,“还是国外的书好”这句话有一定的道理。
从心理学分析,说这句话的人往往是嫉妒:这些人觉得自己很行,但要么不能创作图书,要么创作的图书市场反映很差。这些人为了找回心理的平衡,不断地告诉自己:国内图书都很差,这样就可以把失败的原因归咎于所处的环境,同时又可打压周围的优秀者,从而获得心理安慰。
无论上面哪种原因,其实都应该成为国内程序员奋斗的动力。正因为国内原创的、优秀的图书数量较少,所以我们更应该努力,因为我们也是“国内程序员”的成员,提高国内软件行业的水平,提高国内原创、优秀图书的数量,每个国内软件从业人员责无旁贷。
心怀嫉妒的人,身边总是无处不在:在这些人口中,张三做的某某事很容易,李四做的某某事很容易,但这些人自己啥也不做。对于技术图书的作者而言,既不需要政府背景,也没有资金准入门槛,唯一的要求是掌握这门技术,并愿意努力介绍它——积极的人,应该通过努力把事情做好来证明自己,而不是通过语言否定别人来证明自己。
当然,如果你坚持认为:国外图书具有更好的“思想”,那么你胜了——因为“思想”这东西,太难以把握了,而本书只是一本介绍编程的工具书,并不是一本“形而上”的哲学书。如果读者想学习Objective-C编程,想在iPhone、iPad上开发应用,则可以选择本书;如果读者想通过编程进而悟道,领悟人生思想,那么应该放弃选择本书。
本书有什么特点
本书以《疯狂iOS讲义》上册为基础,本书中不包含Objective-C语法、iOS界面编程、图形图像处理等基础知识。
本书包含多点触摸与手势检测、应用国际化、数据存储、SQLite数据库与Core Data、iOS多媒体开发、加速计和陀螺仪、多线程、网络编程、定位、地图、推送机制、iCloud服务等内容,本书还通过疯狂打飞机、萌仙、愤怒的小鸟等实例介绍了cocos2d框架的功能和用法。
本书大部分章节由李刚执笔,本书最后两章由疯狂软件教育中心的肖文吉老师执笔,最后由李刚统稿。
本书保持了“疯狂体系”的一贯风格:操作步骤详细,编程思路清晰,语言平实。认真看完本书,把书中所有示例都练习一遍,本书带给你的只是9个字:“看得懂、学得会、做得出”。本书不会让你认识一堆新名词,只会让你学会实际的iOS应用开发。只要读者认真阅读本书,并掌握书中知识,那么就完全可以胜任企业中iOS应用开发、iOS手机游戏开发的要求。
读者在阅读本书时如果遇到知识上的问题,则可以登录疯狂Java联盟与广大学习者交流,笔者也会通过该平台与大家一起交流、学习。
本书还具有如下几个特点:
1.知识全面,覆盖面广
不得不说,本书是市面上所有iOS图书中内容最全面、体系最庞大的。本书上、下册全方位地涵盖了Objective-C语法、iOS开发基础知识,iOS开发高级知识、cocos2d游戏开发框架等内容。这些知识将带领读者从零开始,逐步掌握iOS开发的基础,直至步入iOS开发殿堂。
2.内容实际,实用性强
本书并不局限于枯燥的理论介绍,而是采用了“项目驱动”的方式来讲授知识点。全书有近百个实例,几乎每个知识点都可以找到对应的参考实例。书中还提供了天气预报、疯狂打飞机、萌仙、愤怒的小鸟等真实的应用和手游,具有极高的参考价值。
3.讲解详细,上手容易
本书保持了“疯狂系列”的一贯风格:操作步骤详细,编程思路清晰,语言平实。只要读者有学习的决心和毅力,认真掌握本书上、下册的知识,即可完全胜任实际企业中 iOS开发的要求。
本书写给谁看
如果你已经具备一定的iOS应用开发基础,或者已经学完了《疯狂iOS讲义》上册,那么你将非常适合阅读此书;如果你对Objective-C的掌握还不熟练,比如对Xcode安装、Objective-C基本语法都不熟练,则建议遵从学习规律,循序渐进,暂时不要购买、阅读此书。
2014-1-8

内容简介
《疯狂iOS讲义(下):iPhone/iPad高级应用与手游开发(含CD光盘1张)》以iOS 7.0、Xcode 5.0为平台,全面介绍了iOS应用开发的高级知识。本书最后两章还通过3个实际的手游介绍了cocos2d框架的用法,也包括了手游开发中用到的瓦片地图、粒子效果和物理引擎等实用技术。《疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发》是《疯狂iOS讲义》下册,书中不包含Objective-C编程的基本语法、iOS应用开发的基础知识等内容。《疯狂iOS讲义(下):iPhone/iPad高级应用与手游开发(含CD光盘1张)》内容包含多点触摸与手势检测、应用国际化、数据存储、SQLite数据库与Core Data、iOS多媒体开发、加速计和陀螺仪、多线程、网络编程、定位、地图、推送机制、iCloud服务等内容,《疯狂iOS讲义(下):iPhone/iPad高级应用与手游开发(含CD光盘1张)》最后还通过疯狂打飞机、萌仙、愤怒的小鸟等实例介绍了cocos2d框架的功能和用法。读者在阅读本书之前,建议先掌握《疯狂iOS讲义》上册中的知识。
《疯狂iOS讲义(下):iPhone/iPad高级应用与手游开发(含CD光盘1张)》并不局限于介绍iOS编程的各种理论知识,而是从“项目驱动”的角度来讲解理论。全书一共包括近百个实例,这些示范性的实例既可帮读者更好地理解各知识点在实际开发中的应用,也可供读者在实际开发时作为参考,拿来就用。如果读者在阅读本书时遇到了技术问题,可以登录疯狂Java联盟发帖,笔者将会及时予以解答。
《疯狂iOS讲义(下):iPhone/iPad高级应用与手游开发(含CD光盘1张)》为所有打算深入掌握iOS编程的读者而编写,适合各种层次的iOS学习者和开发者阅读,也适合作为大学教育、培训机构的iOS教材。但如果只是想简单涉猎iOS应用开发,则本书过于庞大,不适合阅读。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多