本书是iPhone软件开发的内容,将iPhone软件开发环境设置、代码编写和程序调试的实际案例相结合,帮助读者全面地掌握iPhone软件开发的详细流程,从而高效地开发出具有创意且高质量的iPhone程序。
本书分为3个部分来介绍iPhone开发的基础知识以及高级开发技巧。
第一部分详细介绍iPhone OS架构,包括系统核心框架、多媒体框架、应用程序框架和Cocoa Touch框架。详细讲解iPhone应用程序的运作流程和申请步骤,以及iPhone SDK开发环境部署方法。
第二部分详细讲解Objective-C 2.0的基础语法,和iPhone开发的常用约定。让读者掌握iPhone程序开发的基本能力,引导用户做出第一个iPhone程序。
第三部分详细讲解iPhone程序常用的各个技术特性,包括表格程序、地址簿程序、地图程序,重力感应程序,网络应用程序和高级图形程序等。并且提供相应的示例程序让读者深入理解。
本书读者人群广泛,适合所有iPhone爱好者、初学者、具有一定软件开发经验及想从事iPhone开发人员。
封面图
目录
- 前言
- 入门篇
- 第1章iPhone OS介绍 2
- 1.1 iPhone OS预览2
- 1.1.1iPhone OS的发展历史2
- 1.1.2iPhone OS的外观3
- 1.1.3多任务特性3
- 1.1.4不支持的技术4
- 1.1.5应用程序开发4
- 1.2iPhone OS体系结构7
- 1.2.1Core OS7
- 1.2.2Core Service 8
- 1.2.3Media10
- 1.2.4Cocoa Touch10
- 1.3iPhone OS应用程序11
- 1.3.1游戏类应用程序11
- 1.3.2实用工具类应用程序12
- 1.3.3电子书类应用程序13
- 1.4iPhone OS应用程序商店14
- 1.5本章小结15
- 1.6本章练习15
- 基础篇
- 第2章iPhone编程语言18
- 2.1面向对象的特性18
- 2.1.1面向过程编程18
- 2.1.2面向对象编程18
- 2.1.3编程语言如何运作19
- 2.1.4更高层次的抽象—面向对象语言20
- 2.2面向对象程序的组织结构与任务20
- 2.2.1面向对象的主要组织结构20
- 2.2.2面向对象的任务之一—处理对象构成的网络结构21
- 2.2.3面向对象的任务之二—设计类之间的关系22
- 2.3Objective-C 2.0编程语言23
- 2.3.1Objective-C简介23
- 2.3.2Objective-C的发展历史24
- 2.4混用C/C++编程24
- 2.5本章小结25
- 2.6本章练习25
- 第3章使用苹果公司提供的开发工具26
- 3.1安装Xcode开发工具26
- 3.1.1从操作系统光盘安装26
- 3.1.2从苹果公司官方开发网站下载安装28
- 3.2Xcode介绍29
- 3.2.1进入Xcode29
- 3.2.2Xcode组成元素31
- 3.3Interface Builder介绍37
- 3.3.1新文件对话框37
- 3.3.2文档窗口38
- 3.3.3资源库39
- 3.3.4检视窗口39
- 3.4其他开发相关工具40
- 3.4.1Instruments40
- 3.4.2Simulator40
- 3.5开发工具提供的例子程序41
- 3.5.1下载例子程序41
- 3.5.2查看例子程序42
- 3.6本章小结44
- 3.7本章练习44
- 第4章Objective-C语言的语法基础45
- 4.1Objective-C中的对象、类和方法45
- 4.1.1对象45
- 4.1.2类47
- 4.1.3接口和实现47
- 4.1.4方法48
- 4.2Objective-C语言的基本语法介绍48
- 4.2.1文件类型49
- 4.2.2类的声明49
- 4.2.3方法和消息50
- 4.2.4字符串51
- 4.2.5日志打印51
- 4.3Objective-C的数据类型和表达式52
- 4.3.1数据类型52
- 4.3.2运算表达式54
- 4.4Objective-C的循环语句55
- 4.4.1for循环55
- 4.4.2while循环56
- 4.4.3do循环57
- 4.5Objective-C的条件语句58
- 4.5.1if语句58
- 4.5.2switch语句59
- 4.5.3条件操作61
- 4.6Objective-C的内存管理61
- 4.6.1引用计数值61
- 4.6.2对象释放池63
- 4.7Objective-C的继承64
- 4.7.1继承的语法65
- 4.7.2继承的用法66
- 4.8Objective-C的多态性、动态类型和动态绑定67
- 4.8.1多态性67
- 4.8.2动态绑定和动态类型68
- 4.9Objective-C的类别和协议71
- 4.9.1类别71
- 4.9.2协议73
- 4.10Objective-C的属性77
- 4.11Objective-C的快速枚举80
- 4.12Objective-C++81
- 4.13使用Objective-C的高级类83
- 4.14本章小结89
- 4.15本章练习89
- 第5章iPhone编程的一般约定 90
- 5.1iPhone的命名法则90
- 5.1.1代码命名90
- 5.1.2方法命名规则92
- 5.1.3函数命名法则94
- 5.1.4实例变量和数据类型命名94
- 5.2iPhone程序的初始化95
- 5.2.1类的初始化95
- 5.2.2指定初始化函数96
- 5.2.3初始化过程中的错误检测96
- 5.3Objective-C语言与C++混用97
- 5.4本章小结98
- 5.5本章练习98
- 第6章iPhone程序的设计模式99
- 6.1MVC模式99
- 6.2对象共享模式101
- 6.3目标和动作模式104
- 6.4通告模式105
- 6.5归档模式107
- 6.6子视图模式108
- 6.7委托模式110
- 6.8执行命令模式112
- 6.9代理模式112
- 6.10本章小结113
- 6.11本章练习114
- 第7章应用程序基础框架115
- 7.1字符串处理115
- 7.2容器119
- 7.2.1NSArray119
- 7.2.2NSDictionary121
- 7.2.3NSSet123
- 7.2.4NSIndexSet124
- 7.3运行循环和定时器125
- 7.4通告128
- 7.5程序包131
- 7.6处理文件132
- 7.6.1NSFileManager133
- 7.6.2NSFileHandle136
- 7.7本章小结138
- 7.8本章练习138
- 第8章图形界面基础框架139
- 8.1UIApplication139
- 8.1.1UIApplication类方法140
- 8.1.2UIApplication属性方法140
- 8.1.3UIApplication实例方法142
- 8.2UIWindow143
- 8.2.1UIWindow属性方法144
- 8.2.2UIWindow实例方法145
- 8.3程序的启动和退出147
- 8.4UIView149
- 8.5常见的程序界面风格156
- 8.6hello world实例程序157
- 8.7 本章小结162
- 8.8本章练习162
- 第9章基本控件163
- 9.1UIView和控件163
- 9.2常用控件164
- 9.3自定义控件166
- 9.4警告窗口和用户响应171
- 9.5本章小结173
- 9.6本章练习173
- 提高篇
- 第10章iPhone的高级表格程序176
- 10.1表格程序预览176
- 10.1.1表格的样式177
- 10.1.2自定义单元格177
- 10.2表格程序的实现原理177
- 10.2.1表格视图的基础177
- 10.2.2实现一个简单的表178
- 10.2.3分组表和索引表181
- 10.2.4附属子视图183
- 10.3自定义单元格184
- 10.3.1编辑文本184
- 10.3.2编辑图片187
- 10.4实例程序188
- 10.5本章小结193
- 10.6本章练习193
- 第11章程序中访问地址簿194
- 11.1地址簿预览194
- 11.2访问地址簿195
- 11.2.1创建工程195
- 11.2.2视图布局196
- 11.2.3编写头文件196
- 11.2.4编写实现文件197
- 11.2.5连接控件199
- 11.2.6运行程序200
- 11.3使用地址簿界面201
- 11.3.1地址簿导航控制器(ABPeople PickerNavigationController)201
- 11.3.2个人视图控制器(ABPersonViewController)202
- 11.3.3新联系人信息控制器(ABNew PersonViewController)203
- 11.3.4添加新的联系人信息控制器(ABUnknowperson ViewController)204
- 11.4地址簿实例程序204
- 11.4.1创建工程204
- 11.4.2代码编写207
- 11.5本章小结214
- 11.6本章练习214
- 第12章地图相关程序215
- 12.1地图程序预览215
- 12.2位置服务216
- 12.3地图服务217
- 12.4地图实例程序221
- 12.4.1创建城市列表属性文件221
- 12.4.2界面设计222
- 12.4.3代码编写223
- 12.5 本章小结229
- 12.6本章练习230
- 第13章重力感应231
- 13.1重力感应预览231
- 13.2获取重力感应数据232
- 13.3重力感应实例程序232
- 13.3.1界面设计233
- 13.3.2代码编写233
- 13.4本章小结234
- 13.5本章练习234
- 第14章使用网络235
- 14.1网络框架预览235
- 14.2CFNetwork236
- 14.2.1CFNetwork基础概念236
- 14.2.2CFNetwork APIs238
- 14.3套接字238
- 14.3.1Socket的创建239
- 14.3.2Socket配置239
- 14.3.3Socket连接240
- 14.3.4Socket传输数据241
- 14.3.5Socket编程实例242
- 14.4接入网络服务245
- 14.5实例程序250
- 14.6本章小结261
- 14.7本章练习261
- 第15章自定义视图和图形绘制262
- 15.1Quartz262
- 15.1.1页面(Page)262
- 15.1.2图形上下文(Graphics Context)263
- 15.1.3不透明数据类型(Opaque Data Type)264
- 15.1.4图形状态(Graphics States)265
- 15.2坐标系统265
- 15.3绘制点和矩形266
- 15.4绘制位图269
- 15.5绘制文字271
- 15.6实例程序272
- 15.7本章小结275
- 15.8本章练习275
- 第16章高级触摸事件276
- 16.1Cocoa Touch预览276
- 16.2事件和触摸277
- 16.3多点触摸280
- 16.4实例程序285
- 16.5 本章小结290
- 16.6本章练习290
- 第17章剪切板291
- 17.1剪切板预览291
- 17.2剪切、复制和粘贴292
- 17.3实例程序297
- 17.4本章小结309
- 17.5本章练习309
- 第18章照片应用310
- 18.1照片应用预览310
- 18.2拍摄照片312
- 18.3访问照片库314
- 18.4实例程序315
- 18.5本章小结318
- 18.6本章练习318
- 第19章多媒体应用319
- 19.1多媒体应用预览319
- 19.2播放音频322
- 19.2.1System Sound Services322
- 19.2.2AVAudioPlayer323
- 19.3录制音频324
- 19.4播放视频326
- 19.5实例程序327
- 19.6本章小结329
- 19.7本章练习329