当前位置:在线查询网 > 在线百科全书查询 > iPhone程序开发基础教程

iPhone程序开发基础教程_在线百科全书查询


请输入要查询的词条内容:

iPhone程序开发基础教程




图书信息


iPhone程序开发基础教程(含DVD光盘1张)刘铭,朱舸,王佳编著

ISBN 978-7-121-13816-4

2011年7月出版

定价:69.00元(含DVD光盘1张)

16开

260页

宣传语


要想在移动互联网时代“钱”途无量,请从着本书开始……

内 容 简 介


本书主要介绍了通过Xcode开发工具,在Mac OS X系统中进行iPhone应用程序的开发,意在使读者能够快速并且专业地开发出富有创意并且受广大用户喜爱的iPhone应用程序。本书内容丰富全面,通俗易懂,实战性强,涵盖了大部分iOS开发的基本内容。

本书每章内容的安排都遵循由易到难的学习顺序,非常适合刚刚接触iPhone应用程序开发的读者阅读并亲自动手实践,同时也可以作为iOS程序员的一本参考手册。

推荐序


很荣幸比各位读者早一步拜读了本书,作为一个iOS技术爱好者,本书对我的帮助甚大,而且从中看出了作者在设计本书的大纲时确实下了不少工夫,能让初学者非常容易地进入到iPhone开发的世界里,从操作系统到开发工具,从SDK到Objective-C,每个章节都循序渐进地将我们引导到一个新的高度。所以,这是一本非常适合广大iPhone开发人员学习及参考的好书!

最初的章节,为了让大家能总体了解iPhone开发环境,作者从Mac OS X系统开始介绍,而且通过Mac系统架构与iPhone操作系统架构的对比,让读者在开始iPhone开发前清晰地了解到底层的东西,给我们打好了理论基础。

接着,作者以一个简单的Hello Apple程序并结合Xcode开发工具让读者轻松进入开发的世界。这样的好处在于,使读者更有兴趣了解更多的技术知识,避免了一开始就来讲解生硬的语法而带来的枯燥。

随着读者对Mac系统的使用,逐步掌握了Xcode开发工具的特性并了解了iPhone开发的基础知识,作者从iPhone开发的语法及语言特性入手,结合之前几章的内容,让读者理解及练习起来更方便。

当掌握好基础知识后,正如一座大楼打好地基一样,我们开始为我们的iPhone开发技术添砖加瓦了。作者通过介绍基础SDK中的内容及开始时常用到的技巧,让我们逐步掌握iPhone开发的精髓,最后将全书知识融会贯通,使读者真正掌握iPhone程序开发。

通过本书,我们完全可以学习到iPhone开发的基础知识,打好未来成为iOS程序员的根基。在此我郑重推荐给有志于从事iOS程序开发的朋友们选读本书。

iOS开发者社区 站长 吴慧锋

2011-6-1

前 言


我可以成为一名iPhone开发者吗?

如果你善于学习,肯花费很多的时间和精力放在iOS应用程序的探索和实践上面,不怕遇到困难,借助各种渠道(Xcode帮助、书籍、论坛、博客、朋友)找到解决问题的答案,再加上一台可以运行Snow Leopard系统的Mac台式机或者笔记本,那么成为一名优秀的iPhone开发人员就是时间的问题了。

掌握任何一门技能都不是一蹴而就的,不管你信不信,有些东西是只可意会不可言传。如果我们努力地去实践,从写自己的第一个项目开始,不断地去熟悉Xcode开发工具,学习Objective-C,掌握Cocoa Touch中的各种框架,抓住一个适合自己的时机,相信你一定会开发出令自己满意让大家惊喜的应用程序

我编写的程序真的可以放到App Store上吗?

答案是肯定的。因为把应用程序放到App Store上,不管是以免费的形式,还是以收费的形式,或者是以内置广告的形式,亦或是以内置消费API的形式,所有这些都是为了一个目标——获得利益。

当然,像愤怒的小鸟、植物大战僵尸、梦幻水族箱这样的神话不是任何个人或者团队随意就可以复制的。创意和想法是你在编写程序之前首先需要考虑的问题,只有在你经过深思熟虑之后,清楚了自己或者这个团队为什么要去做这个应用、面向的人群是谁、谁有可能会付费购买这个应用等问题以后,再去考虑技术方面的事情,才会使你的开发事半功倍。

除了编写好应用程序以外,把程序放到真实的iOS设备上进行测试也是必需的,而测试的前提就是要我们付给苹果99美金的开发者年费。如果你对自己的应用有足够的细心、耐心和信心的话,我想这点付出还是值得的。

这本书适合我吗?

这本书所面向的对象是那些希望成为iOS开发人员的初学者,有简单的Mac OS X平台使用经历,有一定的面向对象编程经验的话会更好。对于Objective-C、Cocoa和Apple开发工具的使用经历并不是必需的,随着对本书的学习,我们可以慢慢地理解和掌握。

当然,在学习iOS开发的过程中,仅仅依靠一两本书的学习还是很不够的。Objective-C和Cocoa提供了大量的类、函数和常量,它的语法也有些奇怪。这就需要我们在阅读本书的同时,还要从苹果开发帮助文档中搜索和学习相关的内容,这样可以使我们的技能提高得更快。

『本书内容』

本书内容共16章。内容安排按照“从零起步,循序渐进,由浅入深”的学习顺序,在每个章节中都精心安排了各种实战操作,真正做到理论与实践相结合。

『本书特色』

语音视频讲座

为了方便读者学习本书内容,本书附赠光盘中提供了382分钟视频讲座。讲解细腻、层次清楚、互动性强,不但可以加深对书中内容的理解,还可以引导学习者掌握iOS开发时的一些技巧。所讲视频不仅对书中的内容进行了详细介绍,还对相关技术进行了有效扩展,对开发中易犯的各种错误做出了视频解决方案。

注重实用性

本书各个章节所讲述的知识点均为开发中经常用到的内容,比如对各种应用程序模板的介绍、各种组件(TextField、Button、ImageView)的介绍、对TableView的介绍、对手势识别的介绍等。提供的实例代码均可以复制到实际的项目开发中去,简单易懂。

『超值DVD光盘』

为了帮助读者学习和使用书中的实例,本书附赠DVD光盘1张,里面不仅包含书中所有实例项目的源代码、素材,还提供了382分钟实例教学视频录像。

『本书适用人群』

本书是一部零基础编程图书,非常适合以下人员阅读:

 初中级iOS程序开发人员  编程爱好者

 想学习iOS开发的各企事业在职人员  大中专院校的教师和学生

 相关培训机构的教师和学员

『本书作者』

本书由刘铭、朱舸、王佳编写,编写的过程中特别感谢刘颖、乐乐、张燕、秦琼、李贺等人的帮助。由于作者水平有限,疏漏和不足之处在所难免,欢迎广大读者提出宝贵意见。

吾日三省吾身,为人谋而不忠乎,与朋友交而不信乎,传不习乎。

祝大家读书快乐!

刘铭

2011年5月

目 录


第1章 iPhone开发前的准备 1

1.1 iOS概述及其系统架构 2

1.1.1 iOS的系统架构 2

1.1.2 Framework——应用程序框架 3

1.2 获取iPhone SDK 4

1.3 安装iPhone SDK 5

1.3.1 安装前需要了解的事情 5

1.3.2 安装iPhone SDK 6

1.4 iPhone SDK中的各种工具 6

1.4.1 Xcode 7

1.4.2 iPhone模拟器 9

1.4.3 Interface Builder 10

1.4.4 Instruments 11

1.5 iOS的其他相关内容 11

1.5.1 各种iOS设备和所支持的iOS软件版本 11

1.5.2 iOS设备的分辨率 12

1.5.3 iOS设备的硬件配置 13

第2章 第一个应用程序:Hello Apple 14

2.1 从Xcode开始 14

2.1.1 Xcode的欢迎界面 14

2.1.2 项目模板选择 15

2.1.3 Xcode编辑器 16

2.2 使用Interface Builder创建用户界面 17

2.2.1 XIB文件 17

2.2.2 Interface Builder 18

2.2.3 为用户界面添加组件 19

2.2.4 在Xcode中修改程序代码 23

2.3 为程序增加新的功能 24

2.4 自定义应用程序的图标 27

2.4.1 为应用程序设置单独的图标 27

2.4.2 为应用程序设置一组图标 28

2.5 自定义应用程序的启动画面 29

第3章 C和Objective-C基础 31

3.1 回顾C语言 31

3.1.1 C语言的命令行程序 31

3.1.2 C语言的注释 34

3.1.3 理解headers、import和include 34

3.1.4 define定义常量 37

3.1.5 数据类型和操作符 37

3.1.6 条件、分支和循环语句 38

3.1.7 数组和构造体 39

3.1.8 函数 40

3.1.9 printf方法 40

3.1.10 指针 41

3.1.11 指针的关联 42

3.2 Objective-C概述 42

3.2.1 Objective-C的类 42

3.2.2 Interface与Implementation 43

3.2.3 方法的声明与定义 45

3.2.4 分析Interface 46

3.2.5 公有、私有和受保护实例变量 46

3.2.6 理解消息 47

3.2.7 为自己发送消息 48

3.2.8 嵌套 48

3.2.9 类方法和实例方法 48

3.3 Objective-C中的内存管理 50

3.3.1 alloc方法和init方法 50

3.3.2 使用Retain和Release管理内存 51

3.3.3 使用autorelease管理内存 54

3.4 成员对象的属性(Properties) 56

3.4.1 retain 57

3.4.2 assign 58

3.4.3 nonatomic 58

3.5 Objective-C的数据类型类(Data Type Classes) 58

3.5.1 字符串(NSString/

NSMutableString) 59

3.5.2 数组(NSArray/NSMutable-Array) 59

3.5.3 字典(NSDictionary/NSMutable-Dictionary) 59

3.5.4 数字(NSNumber/NSDecimal-Number) 60

第4章 UIApplication和UIView 61

4.1 UIApplication和UIApplication-Delegate 61

4.1.1 创建Window-based应用程序 62

4.1.2 UIApplication 68

4.1.3 协议(Protocol) 69

4.1.4 UIApplicationDelegate 69

4.1.5 应用程序的终止 70

4.2 UIView 71

4.3 UIViewController 72

4.4 View-based 应用程序模板 72

4.5 UIViewController和UIView的生存期事件 76

第5章 常用的UIView 79

5.1 Image View和Text Field 79

5.1.1 创建我们的应用程序 79

5.1.2 搭建用户界面 79

5.1.3 声明IBOutlet 81

5.1.4 关联IBAction 81

5.1.5 ImageView介绍 82

5.1.6 Text Field介绍 83

5.1.7 关联IBOutlet 85

5.1.8 对键盘的进一步处理 85

5.1.9 单击View让虚拟键盘消失 87

5.2 滑块(Slider) 88

5.3 开关、按钮和分段控制 91

5.4 Action sheet和Alert view 94

5.5 组件的状态 99

第6章 屏幕旋转 100

6.1 屏幕旋转的第一种方式——调整组件 101

6.1.1 屏幕旋转实例 101

6.1.2 解读 103

6.2 在旋转时修改组件属性 105

6.3 View之间的切换 109

第7章 Tab Bar、UINavigationController和

第7章 pageController 115

7.1 Tab Bar Application 115

7.1.1 创建Tab Bar应用程序 115

7.1.2 增加Tab Bar子项目 119

7.2 Navigation-based Application 122

7.2.1 创建Navigation-based应用程序 122

7.2.2 在Navigation中添加其他View 126

7.3 Page Control 130

第8章 Table View 135

8.1 创建Table View 135

8.1.1 简单的Table View程序 135

8.1.2 添加表格标题和脚标信息 140

8.1.3 单元格添加图片 140

8.1.4 选择表格中的项目 141

8.1.5 表格中的缩进 142

8.2 表格中分组显示项目 143

8.2.1 分组显示项目 143

8.2.2 增加索引功能 148

8.3 Disclosures and Check Marks 149

第9章 文件处理 152

9.1 iOS设备的文件结构 152

9.2 在Documents、tmp和Library中存储文件 153

9.2.1 读取和写入文件 153

9.2.2 将文件存储到tmp文件夹 157

9.3 通过Property List文件存取文件 158

9.4 复制绑定的资源 161

第10章 SQLite 3 163

10.1 创建一个SQLite数据库 164

10.2 使用SQLite3操作数据库 166

10.2.1 创建可使用SQLite3的项目 166

10.2.2 打开SQLite3数据库 167

10.2.3 增加记录 169

10.2.4 数据查询 171

10.2.5 变量的绑定 173

第11章 应用程序偏好设置 175

11.1 Settings Bundle 176

11.1.1 为应用程序添加偏好设置 176

11.1.2 各种设置类型 177

11.1.3 特殊的设置类型——PSChildPaneSpecifier 181

11.2 在程序中获取偏好设置 183

11.3 在应用程序中保存偏好设置 187

第12章 动画效果 189

12.1 使用NSTimer实现动画 189

12.2 视觉效果动画 193

12.3 视图变形 194

12.3.1 位移动画 195

12.3.2 旋转动画 196

12.3.3 缩放动画 197

第13章 播放和录制声音 199

13.1 使用AV Foundation框架 199

13.1.1 使用AVAudioPlayer播放音频 199

13.1.2 AVAudioPlayerDelegate协议 202

13.2 使用AVAudioRecorder录制音频文件 202

第14章 视频播放 210

14.1 使用MediaPlayer播放本地视频文件 210

14.2 通过HTTP播放视频文件 213

第15章 手势识别 214

15.1 使用手势识别 214

15.1.1 UITapGestureRecognizer 215

15.1.2 UIPinchGestureRecognizer 218

15.1.3 UIRotationGestureRecognizer 220

15.1.4 UIPanGestureRecognizer 221

15.1.5 UISwipeGestureRecognizer 223

15.1.6 UILongPressGesture-Recognizer 227

15.2 多点触摸识别 229

15.2.1 检测单点触摸 229

15.2.2 检测多点触摸 232

第16章 使用Map API 237

16.1 Map Kit介绍 237

16.2 锁定自己的位置 238

16.3 地图上的路径 241

16.4 添加标记 242

实战目录

第1章 iPhone开发前的准备 1

第2章 第一个应用程序:Hello Apple 14

第3章 C和Objective-C基础 31

实战:创建一个简单的C程序 32

实战:创建一个头文件 35

实战:在项目中定义常量 37

实战:指针的使用 41

实战:创建Objective-C类的Interface和Implementation 43

实战:增加sayHi方法到First类里面。 45

实战:增加一个类方法sayILoveApple。 49

实战:alloc、retain、release和dealloc的重写 53

第4章 UIApplication和UIView 61

实战:处理应用程序的终止 70

实战:使用View-based应用程序模板 72

实战:体验view生存期中的方法 77

第5章 常用的UIView 79

实战:虚拟键盘消失 86

实战:通过单击View使虚拟键盘消失 87

实战:添加Slider组件 88

实战:在项目中添加开关、按钮和分段控制组件 91

实战:在项目中添加Action sheet 95

第6章 屏幕旋转 100

实战:屏幕旋转的处理 101

实战:组件自动调整大小 106

实战:屏幕旋转时进行view的切换 109

第7章 Tab Bar、UINavigationController和pageController 115

实战:创建Tab Bar应用程序 115

实战:增加Tab Bar子项目 119

实战:创建含有导航的应用程序 122

实战:当单击某个联系人时显示一个新的View 126

实战:添加Page Control控件 131

第8章 Table View 135

实战:创建Table View应用程序 135

实战:为表格添加标题和脚标 140

实战:为表格中的项目添加图片 140

实战:对表格中的数据进行分组显示 143

第9章 文件处理 152

第10章 SQLite 3 163

实战:使用Firefox SQLite Manager创建一个数据库 164

实战:通过程序代码向数据表添加数据 169

实战:在数据表中查询记录 171

第11章 应用程序偏好设置 175

实战:为应用程序添加偏好设置 176

实战:修改应用程序的偏好设置 179

实战:增加PSChildPaneSpecifier设置 182

实战:保存应用程序的偏好设置 187

第12章 动画效果 189

实战:通过NSTimer实现view的动画效果。 189

实战:实现位移动画。 195

实战:实现旋转动画。 196

实战:实现缩放效果。 198

第13章 播放和录制声音 199

实战:播放mp3音频文件。 199

实战:使用AVAudioRecorder录制音频 202

第14章 视频播放 210

实战:使用MediaPlayer Framework播放视频影片 210

第15章 手势识别 214

实战:为Image添加单击操作的交互 215

实战:为Image添加两个手指的缩放操作 218

实战:为Image添加旋转操作 220

实战:为Image添加拖曳操作的交互 222

实战:添加轻划操作的交互 223

实战:为ImageView添加长按操作 227

实战:单点触摸的操作 229

实战:多点触摸的操作 232

实战:通过多点触摸实现图片的缩放功能 233

第16章 使用Map API 237

实战:创建含有Google地图的应用程序。 237

实战:在iOS设备中锁定自己的位置 238

实战:在卫星地图上标记线路 241

实战:在地图中标记位置 243