iOS开发中文教程(教材):《iOS应用程序开发方法与实践》内容简介与目录

来源:互联网 发布:ibm数据分析 编辑:程序博客网 时间:2024/04/29 13:50

亲爱的读者朋友们,你们好。感谢您购买并阅读《iOS应用程序开发方法与实践》。



一、本书特色

本书是一本面向广大初学者的入门级教材,具有以下几个特点。

第一,循序渐进。现有的很多书籍往往忽视了读者学习的连贯性,例如很多书籍一开始就直接介绍使用Interface Builder界面设计器以及各种界面控件构建程序。这样做虽然构建程序的效率非常高(利用工具拖曳几下,程序就基本做好了),但读者无法了解隐藏在工具背后的原理,会感觉囫囵吞枣。本书遵循从零开始由浅入深的原则,每一章内容都经过了精心设计。本书首先介绍开发环境搭建和程序执行流程,然后介绍Objective-C编程语言和一些重要概念与类的使用方法,接着分别介绍程序的界面部分(各种视图、用户控件)、事件处理部分(多点触屏响应、控件事件响应)以及底层数据部分(文本文件、属性列表、归档解档)。之后,本书又挑选了几个重点内容单独进行介绍,例如开发工具的使用(Xcode、Interface Builder、iOS模拟器、调试器、Instruments)、多媒体(视频、音频的播放录制)、数据处理(XML、JSON)、网络(Socket连接、Web Service、iCloud)、Cocos2d游戏编程基础等。这些内容由易到难,既符合初学者的学习需求,又满足有一定基础的读者的需要。

第二,授人以渔。本书每一章都分为理论知识、实验案例、知识点总结与练习题四部分。理论知识部分主要介绍原理,让读者既了解其作用,又掌握其使用方法;实验案例部分将通过编写代码的方式讲解该知识点,通过具体的案例不仅能加深对理论知识的理解,而且还能通过实际操作提高解决问题的能力;本书每章都配有知识点总结,让读者能够对学习过程进行总结,做到查缺补漏;练习题部分可以帮助读者检验学习成果。通过学、做、练的方式,相信读者对iOS程序开发中的每个细节都能够做到知其然亦知其所以然。

第三,躬行实践。俗语道,眼看千遍不如手过一遍。有很多读者朋友特别喜欢读书,甚至能够做到滚瓜烂熟的地步,但一遇到实际问题往往不知如何是好。要知道计算机科学注重动手实践,而非纸上谈兵。本书附带了大量案例与代码,读者可以跟随案例边看书边动手,这样能够达到最好的学习效果。另外,代码中标注了大量注释,特别是关键代码部分会结合知识点进行详细解释,而不仅仅是例子的堆砌。

第四,与时俱进。本书同时介绍了iOS 4与最新的iOS 5上的程序开发过程,所有知识点和案例均针对这两个平台进行讨论。


二、读者评价与反馈

本书自出版以来,收到广大读者的一致好评,下图是当当网的评价。


在此向大家表示衷心感谢!


三、购书链接

本书的当当网购书链接:

iOS应用程序开发方法与实践

本书的亚马逊链接:

iOS应用程序开发方法与实践


四、本书目录

本书目录如下:

第1章 iOS平台初探·· 1
1.1 iOS框架介绍·· 1
1.1.1  iOS的现状与发展前景·· 2
1.1.2  iOS框架层次·· 3
1.1.3  iPhone、iPad与iPodtouch开发的联系与区别·· 4
1.2  其他主流移动操作系统简介·· 4
1.2.1  Android· 4
1.2.2  WindowsMobile与Windows Phone 5
1.3  安装并配置集成开发环境·· 5
1.3.1  申请加入iOS开发人员计划·· 6
1.3.2  安装Xcode与iOSSDK· 8
1.3.3  其他相关开发工具介绍·· 10
1.4  配置iOS设备以运行程序·· 11
1.4.1  生成并安装证书·· 11
1.4.2  注册设备·· 14
1.4.3  创建应用程序ID· 15
1.4.4  创建并安装描述文件·· 16
1.5  使用Xcode创建第一个iOS应用程序·· 17
1.5.1  在Xcode中创建项目·· 17
1.5.2  熟悉Xcode界面·· 19
1.5.3  了解项目文件的组织结构·· 21
1.5.4  编译并在模拟器中运行项目·· 22
1.5.5  使用Interface Builder丰富程序的界面·· 22
1.5.6  在iOS设备上运行程序·· 25
1.5.7  使用iOS模拟器·· 25
1.6  了解程序执行的具体过程·· 26
1.6.1  图形界面程序执行的基本流程·· 26
1.6.2  程序入口·· 27
1.6.3  应用程序类·· 29
1.6.4  委托模式·· 29
1.6.5  应用程序委托类·· 31
1.6.6  分析程序执行的流程·· 32
1.7  本章小结·· 36
1.8  练习题·· 36


第2章 iOS开发基础知识·· 38
2.1  Objective-C语言介绍·· 38
2.2  类·· 39
2.2.1  类的外部接口与内部实现·· 39
2.2.2  类的成员变量·· 41
2.2.3  类的实例方法·· 42
2.2.4  类的属性·· 46
2.2.5  类的静态变量与静态方法·· 52
2.2.6  类的继承与复合·· 54
2.2.7  类的实例化与初始化·· 56
2.3  协议·· 58
2.3.1  声明协议·· 58
2.3.2  实现协议·· 58
2.3.3  使用协议限制对象类型与行为·· 59
2.4  类别·· 63
2.4.1  声明类别并实现类别方法·· 63
2.4.2  扩展类的功能·· 64
2.4.3  拆分类的实现·· 64
2.5  内存管理·· 65
2.5.1  通过实际场景了解内存管理·· 65
2.5.2  NSObject类与保留计数·· 67
2.5.3  自动释放池·· 69
2.5.4  内存管理原则·· 71
2.5.5  属性的附加特性与内存管理·· 72
2.6  字符串操作·· 75
2.6.1  创建字符串·· 75
2.6.2  字符串的各种操作·· 76
2.7  错误接收与异常处理·· 80
2.7.1  错误接收·· 80
2.7.2  异常处理·· 82
2.8  键值编码·· 87
2.9  集合类·· 90
2.9.1  数组与可变数组·· 90
2.9.2  集合与可变集合·· 94
2.9.3  字典与可变字典·· 97
2.10  函数指针与块·· 101
2.10.1  使用函数指针·· 101
2.10.2  声明块类型·· 103
2.10.3  定义和使用块对象·· 104
2.11  本章小结·· 111
2.12  练习题·· 111


第3章 视图与触屏事件·· 114
3.1  视图·· 114
3.1.1  视图层次与视图树·· 114
3.1.2  UIKit坐标系·· 117
3.1.3  坐标点、尺寸与位置·· 118
3.1.4  创建视图·· 119
3.1.5  视图框架、边界与中心·· 119
3.1.6  视图的显示·· 122
3.2  事件·· 124
3.2.1  事件对象·· 124
3.2.2  触屏对象·· 126
3.2.3  响应对象·· 127
3.2.4  案例:验证响应对象链表与点击测试过程·· 129
3.2.5  多点触屏内部机制·· 135
3.2.6  案例:验证多点触屏机制·· 138
3.3  综合案例:图片浏览程序·· 138
3.4  本章小结·· 138
3.5  练习题·· 139


第4章 界面控件与内置视图·· 140
4.1  界面控件基础·· 140
4.1.1  控件基本属性·· 140
4.1.2  目标-行为机制·· 141
4.2  常用界面控件的使用·· 143
4.2.1  按钮·· 144
4.2.2  案例:按钮的使用方法·· 144
4.2.3  文本框与键盘交互·· 147
4.2.4  案例:文本框的使用方法·· 149
4.2.5  开关·· 155
4.2.6  案例:开关的使用方法·· 155
4.2.7  滑动调节器·· 157
4.2.8  案例:滑动调节器的使用方法·· 158
4.2.9  分页控件·· 160
4.2.10  案例:分页控件的使用方法·· 160
4.2.11  分段控件·· 160
4.3  常用内置视图的使用·· 161
4.3.1  滚动视图·· 161
4.3.2  案例:滚动视图的使用·· 162
4.3.3  进度条·· 165
4.3.4  任务指示视图·· 165
4.3.5  警告视图·· 166
4.3.6  案例:警告视图的使用方法·· 167
4.3.7  行为列表·· 167
4.3.8  滚轮选取视图·· 168
4.3.9  案例:滚轮选取视图的使用方法·· 169
4.3.10  表格视图·· 172
4.4  本章小结·· 173
4.5  练习题·· 173


第5章  视图控制器·· 174
5.1  MVC架构模式·· 174
5.2  视图控制器的作用与分类·· 175
5.3  基本视图控制器·· 175
5.3.1 UIViewController类·· 175
5.3.2  案例:使用视图控制器构建程序界面·· 178
5.3.3  设备旋转·· 181
5.3.4  案例:验证设备方位与界面方位·· 184
5.3.5  案例:设备旋转后的界面重新布局·· 189
5.4  容器视图控制器·· 200
5.4.1  标签栏控制器·· 200
5.4.2  案例:使用标签栏控制器实现视图切换·· 202
5.4.3  导航栏控制器·· 208
5.4.4  案例:使用导航栏控制器管理层次化界面·· 210
5.5  模式视图控制器·· 211
5.5.1 UIViewController类与模式视图·· 211
5.5.2  案例:模式视图的显示与关闭·· 212
5.6  本章小结·· 217
5.7  练习题·· 217
 
第6章  使用开发工具·· 218
6.1  InterfaceBuilder界面设计器·· 218
6.1.1  nib文件·· 218
6.1.2  InterfaceBuilder界面·· 219
6.1.3  案例:使用IB创建一个简单应用程序·· 222
6.1.4  案例:添加自定义对象·· 230
6.1.5  案例:使用Xcode 4简化操作·· 233
6.2  代码检查器与代码分析器·· 236
6.2.1  案例:使用代码检查器检查程序错误·· 236
6.2.2  案例:使用代码分析器检查程序错误·· 239
6.3  调试器·· 240
6.3.1  调试窗口界面·· 240
6.3.2  案例:使用控制台输出语句与调试器找出程序错误·· 240
6.4  Instruments采样分析器·· 246
6.4.1  案例:使用Instruments找出内存泄露的代码·· 246
6.5  本章小结·· 254
6.6  练习题·· 255


第7章 基本数据持久化技术·· 256
7.1  背景知识·· 256
7.1.1  数据持久化方法简介·· 256
7.1.2  案例:遍历应用程序的目录与文件·· 257
7.2  文本文件·· 260
7.2.1  案例:使用文本文件保存数据·· 260
7.3  属性列表·· 270
7.3.1  案例:使用属性列表序列化简单对象·· 270
7.4  对象图的归档与解档·· 283
7.4.1  NSCoding协议·· 283
7.4.2  NSCoder类与不同的归档方式·· 284
7.4.3  案例:使用键值归档·· 284
7.4.4  对象图·· 291
7.4.5  案例:使用条件归档限制对象图的范围·· 292
7.5  综合案例:商品清单程序·· 299
7.5.1  创建项目并了解项目结构·· 299
7.5.2  设置表格视图的数据源·· 302
7.5.3  单元格的重用与生成·· 304
7.5.4  保存与恢复程序状态·· 308
7.5.5  添加详细视图·· 312
7.5.6  设置表格视图的委托对象·· 315
7.6  本章小结·· 319
7.7  练习题·· 319


第8章 多媒体·· 321
8.1  音频与视频基础·· 321
8.1.1  容器与编码·· 321
8.1.2  音频编码格式介绍·· 321
8.1.3  采样率与比特率·· 322
8.1.4  音频工具afconvert与afinfo 323
8.2  音频·· 323
8.2.1  使用System Audio Services播放声音·· 324
8.2.2  案例:播放简短音效与实现震动·· 324
8.2.3  使用Audio Player播放与控制声音·· 327
8.2.4  案例:播放较长的声音·· 328
8.2.5  使用Audio Recorder录制声音·· 330
8.2.6  案例:实现带录音功能的音乐播放机·· 331
8.2.7  使用Music Player Controller播放媒体库音乐·· 333
8.2.8  案例:播放媒体库音乐·· 335
8.3  视频·· 342
8.3.1  使用Movie Player Controller播放视频·· 342
8.3.2  案例:实现视频的播放·· 344
8.3.3  使用Movie Player视图控制器播放视频·· 347
8.3.4  案例:使用MPMoviePlayerViewController播放视频·· 347
8.3.5  使用相机进行拍照与摄像·· 347
8.3.6  案例:将相机拍照与摄像后的内容保存到媒体库中·· 351
8.4  本章小结·· 357
8.5  练习题·· 358


第9章 网络与iCloud云服务·· 359
9.1  网络数据处理·· 359
9.1.1  XML数据处理·· 359
9.1.2  案例:使用NSXMLParser处理XML数据·· 360
9.1.3  JSON数据处理·· 365
9.1.4  案例:使用NSJSONSerialization处理JSON数据·· 366
9.2  创建HTTP连接·· 369
9.2.1  创建HTTP连接的基本代码结构·· 369
9.2.2  创建连接请求·· 369
9.2.3  创建异步与同步连接·· 370
9.2.4  案例:通过XML与WebService进行交互·· 373
9.3  创建Socket连接·· 388
9.3.1  创建Socket连接的过程·· 388
9.3.2  案例:使用Socket与服务器进行交互·· 390
9.4  获取网络连接状态·· 397
9.4.1  案例:获取网络连接状态·· 398
9.5  使用iCloud同步数据·· 402
9.5.1  iCloud简介·· 402
9.5.2  配置项目以支持iCloud· 403
9.5.3  检查是否启用iCloud服务·· 406
9.5.4  查询云端数据·· 407
9.5.5  使用UIDocument与云同步·· 409
9.5.6  案例:实现iCloud文件查询与数据同步·· 411
9.6  本章小结·· 422
9.7  练习题·· 423


第10章 Cocos2d游戏开发入门·· 424
10.1  Cocos2d简介·· 424
10.2  安装Cocos2d项目模板·· 424
10.3  创建第一个Cocos2d项目·· 425
10.4  坐标系·· 426
10.5  节点·· 427
10.5.1  节点初始化·· 427
10.5.2  节点层次·· 427
10.5.3  锚点·· 428
10.5.4  定期更新·· 430
10.6  场景·· 430
10.7  图层·· 431
10.8  精灵·· 432
10.9  场景树·· 434
10.10  导演与场景切换·· 436
10.10.1  场景切换·· 437
10.10.2  场景切换效果·· 437
10.11  事件处理·· 438
10.11.1  触屏事件处理·· 438
10.11.2  加速度事件处理·· 440
10.12  动作·· 443
10.12.1  有限时间动作·· 444
10.12.2  无限重复动作·· 446
10.12.3  变速动作·· 447
10.12.4  跟随动作·· 447
10.13  文本标签与字体·· 449
10.14  菜单与菜单项·· 450
10.15  实现简单的碰撞检测·· 453
10.16  添加音乐和音效·· 459
10.17  本章小结·· 460
10.18  练习题·· 461


参考文献·· 462


原创粉丝点击