《20天搞定iPhone软件开发 双色版》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王志刚,朱蕾,王中元编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121184871
  • 页数:387 页
图书介绍:本书是为有一定其他语言编程经验的程序员转向iOS软件开发而撰写的速成教材。全书一共20讲,一天完成1讲的学习。本着循序渐进的原则,前面的10讲偏重于Cocoa面向对象编程的基本概念以及Objective-C 2.0语言的语法基础。从第10讲以后开始进入iOS软件开发的实战阶段,每1讲的内容都比较充实,其中包含了各种实例代码,读者可以在Xcode等开发环境中边实践边学习。读者完成全书20讲的学习后可以达到初级iOS程序员的水准。

第1讲 配置开发环境 1

1.1 Mac应用程序开发环境 1

1.2 iPhone应用程序开发环境 2

1.3查看安装目录内容 4

1.3.1启动Xcode 5

1.3.2启动Interface Builder 6

1.4 Mac中的基本操作 6

1.4.1弹出菜单的显示方法 6

1.4.2工具条的定制 8

第2讲 应用程序与框架 10

2.1关于应用程序 10

2.1.1应用程序的种类 11

2.1.2关于iPhone应用程序 12

2.2框架 13

2.2.1简单的【Hello World】程序 13

2.2.2框架的出现 13

2.2.3编程语言与框架的关系 14

2.3 Mac OS X以及iPhone SDK中的框架 14

2.3.1框架的安装目录 14

2.3.2 Cocoa与Carbon 15

2.3.3应用程序中使用的框架 16

2.4 Cocoa与Carbon的发展轨迹 18

第3讲 Cocoa与Objective-C 20

3.1框架的使用 20

3.1.1关于API 20

3.1.2 API与编程语言的关系 21

3.2 Objective-C的发展史 22

3.3用于其他语言中的Cocoa API 23

3.3.1通过桥调用Cocoa 23

3.3.2是否应提倡在Objective-C以外的语言中调用Cocoa API的开发方式 24

3.4解答与Objective-C相关的几个疑问 25

第4讲 开发工具 27

4.1 Xcode 27

4.1.1综合开发环境Xcode的功能 27

4.1.2工程窗口 28

4.1.3文本编辑器的功能 32

4.1.4开发者手册 35

4.2 Interface Builder 36

4.3 Dashcode 37

4.4 iPhone模拟器 38

4.5其他工具 38

4.5.1 FileMerge 38

4.5.2 Icon Composer 39

4.5.3 Property List Editor 39

4.6 Mac或iPhone应用程序开发的流程 39

4.6.1准备应用程序用的材料 39

4.6.2建立步骤 41

4.6.3 gcc 42

第5讲 Cocoa环境下的面向对象编程 43

5.1面向对象的基本概念术语 43

5.1.1类 44

5.1.2实例 44

5.1.3实例变量 44

5.1.4方法 45

5.1.5继承 45

5.1.6相互关系 46

5.1.7对象 46

5.2在Cocoa实例中理解基本术语 47

5.2.1通过按钮配置理解基本术语 47

5.2.2文本输入框的继承关系 48

第6讲 Hello World应用程序 49

6.1 Hello World程序 49

6.2启动Xcode创建工程 49

6.3编辑代码 51

6.4启动Interface Builder设计用户界面 52

6.4.1 xib文件 52

6.4.2 Interface Builder窗口 53

6.4.3设计Hello World的用户界面 55

6.5连接插座与动作 55

6.6完成Hello World App Delegate的代码编写 58

6.7建立与运行 59

6.8开发步骤再回顾 61

第7讲MVC构架 62

7.1 Hello World位用程序开发流程中包含的信息 62

7.2什么是MVC构架 62

7.2.1视图层 63

7.2.2模型层 63

7.2.3控制层 64

7.3使用MVC构架的实例 64

7.3.1 iTunes的模型 64

7.3.2 iTunes的视图 65

7.3.3 iTunes的控制 66

7.4使用MVC构架的Cocoa应用程序开发特点 66

7.4.1视图组件由Cocoa提供 66

7.4.2保持视图与模型间的相互独立 67

7.4.3应用程序特有的功能由控制提供 67

7.4.4只用创建模型以及控制的类 67

第8讲 插座与动作 68

8.1视图与控制间信息交换 68

8.2插座与动作 69

8.2.1什么是插座 69

8.2.2什么是动作 69

8.3插座与动作的连接 70

8.3.1插座与动作的追加 70

8.3.2插座的连接 71

8.3.3动作的连接 72

8.3.4连接确认 73

第9讲Objective-C的语法 75

9.1 Objective-C的编程概论 75

9.1.1 Objective-C与C语言 75

9.1.2 Objective-C程序 75

9.1.3类的声明与实体 76

9.1.4创建Objective-C的测试工程 76

9.2类的声明 81

9.2.1导入声明文件 81

9.2.2类的声明 82

9.2.3实例变量的声明 82

9.2.4实例方法的声明 83

9.3编写类的实体 87

9.3.1编写类的实体 87

9.3.2编写方法代码 87

9.3.3关于方法的声明 88

9.4对象专用变量类型 88

9.4.1实例对象专用的变量类型 88

9.4.2 id类型 89

9.4.3 nil类型 89

9.4.4在条件表达式中使用对象变量 89

9.5方法调用 90

9.5.1实例方法的调用 90

9.5.2类方法的调用 91

9.5.3对象为nil的情况 92

9.6命名规则 92

9.6.1类的命名规则 92

9.6.2实例变量的命名规则 93

9.6.3方法的命名规则 93

9.7重新解析Cocoa的Hello World程序 94

9.7.1 HelloWorldAppDelegate.h 94

9.7.2 HelloWorldAppDelegate.m 95

第10讲 内存管理 98

10.1内存分配与释放 98

10.2与内存相关的问题 99

10.2.1内存释放的时机 99

10.2.2内存泄漏 100

10.3使用垃圾收集进行内存管理 100

10.3.1垃圾回收 100

10.3.2 Objective-C与垃圾回收 102

10.3.3垃圾回收功能有效化 103

10.3.4垃圾回收编程的规则 103

10.4由参照统计实现的内存管理 104

10.4.1参照统计的基本概念 104

10.4.2 retain、release方法 104

10.4.3对象保持到释放的流程 105

10.5类的实例化 106

10.5.1类的实例化与初期化 107

10.5.2自动释放 108

10.5.3创建实例的方法 108

10.5.4实例的释放 109

10.6内存管理的规则 110

10.6.1临时对象 110

10.6.2内存管理经验总结 111

第11讲 字符串 113

11.1字符串专用类 113

11.2 NSString与NSMutableString 113

11.3字符编码 114

11.3.1什么是字符编码 114

11.3.2 NSString的字符代码为Unicode 115

11.3.3 NSStringEncoding 115

11.4字符串的生成 116

11.4.1使用【@“”】的形式创建新字符串 116

11.4.2创建中文字符串 116

11.4.3使用格式创建字符串 118

11.5 NSRange 119

11.6字符串处理 120

11.6.1计算字符串的长度 120

11.6.2字符串连接、插入、删除 121

11.6.3字符串的比较 124

11.6.4字符串的检索 125

11.6.5抽取部分字符串 126

11.7读写文本文件 127

11.7.1读取文本文件 127

11.7.2文本文件输出 128

第12讲 集合 130

12.1数组 130

12.1.1 NSArray与NSMutableArray 130

12.1.2数组的创建 131

12.1.3数组的长度 132

12.1.4通过索引取得对象 132

12.1.5使用NSEnumerator取得对象 133

12.1.6使用高速枚举取得对象 136

12.1.7对象的追加与删除 136

12.2字典 138

12.2.1什么是字典类型 138

12.2.2 NSDictionary与NSMutableDictionary 139

12.2.3 NSDictionary的创建 139

12.2.4键与值的取得 141

12.2.5键与值的追加 142

12.3包装类 143

12.3.1什么是包装类 143

12.3.2 NSNumber 144

12.4对象的等价与同值 146

12.4.1拥有相同值的对象 146

12.4.2等价与同值的判定 146

12.4.3在集合类中的应用 147

12.5集合类与参照统计 148

12.5.1 NSArray与参照统计 148

12.5.2 NSDictionary与参照统计 149

第13讲XML应用 150

13.1 XML概要 150

13.1.1什么是XML 150

13.1.2一种常用的XML实例——RSS 150

13.2 XML的解析 151

13.2.1解析及解析器 151

13.2.2 XML解析器的种类 152

13.2.3树结构 153

13.3 Cocoa的XML解析器 154

13.3.1 NSXMLDocument、NSXMLNode、NSXMLElement 154

13.3.2 XML文档的解析器 155

13.3.3 Xpath 157

13.3.4节点信息 158

13.3.5节点的父子关系 159

13.3.6属性值的取得 161

13.4 iPhone应用软件中的XML解析实例 162

13.4.1第三方API及实例概要 162

13.4.2创建并完成RSS文件解析程序 163

第14讲UIKit框架简介及iPhone应用程序基础类 168

14.1 UIKit要 168

14.1.1 UIKit类列表 168

14.1.2 iPhone Hello World程序 171

14.1.3不使用Interface Builder的Hello World程序 175

14.1.4在Xcode 4中创建Hello World程序 180

14.2画面构成基础——UIView 184

14.2.1 UIView概要 184

14.2.2 UIView嵌套 187

14.3 UIViewController与画面控制 195

14.3.1使用UIViewController实现简单的画面切换 195

14.3.2使用UITabBarController实现并列画面跳转 200

14.3.3使用UINavigationController实现多层画面跳转 204

14.3.4跳转到任意画面 210

14.3.5模态(modal)画面的显示方法 212

第15讲iPhone应用程序中的事件响应 215

15.1事件响应 215

15.1.1按钮的触摸 215

15.1.2响应方法的定义 217

15.1.3滑块的滑动 218

15.2 UIResponder 221

15.2.1画面触摸的检测 221

15.2.2标签触摸的检测 222

15.2.3响应链 224

15.2.4触摸系列最终处理及取消 228

15.3二次触碰 229

15.4手势 232

15.4.1拖动检测 232

15.4.2滑动检测 236

15.4.3快速滑动检测 240

15.5多点触摸 243

15.5.1检测多点触摸 243

15.5.2检测双指滑动 244

15.5.3检测扩大/缩小 246

15.6振动 249

15.6.1检测振动 249

第16讲 常用UI控件 252

16.1标签(UILabel) 252

16.1.1文本与对齐方式的设置 252

16.1.2标签颜色与文本颜色的修改 253

16.1.3改变字体 254

16.1.4字体尺寸的自动调整 254

16.1.5多行字符串 255

16.1.6换行与省略 256

16.1.7高亮时的文本颜色 256

16.1.8阴影显示 256

16.1.9绘制方法的定制 258

16.2按钮(UIButton) 259

16.2.1按钮的配置与触摸检测 259

16.2.2按钮的种类 259

16.2.3按钮的状态及标题变化 260

16.2.4按钮触摸时的阴影反转 261

16.2.5按钮触摸时的背景闪烁 261

16.2.6在按钮中追加图片 262

16.2.7设置按钮背景图片 263

16.2.8调整按钮的边间距 264

16.2.9设置标题的换行/省略 265

16.3文本输入框(UITextField) 266

16.3.1文本输入框的显示 266

16.3.2键盘的显示/隐藏 266

16.3.3键盘的各种设置 267

16.3.4文本输入框的边框线 267

16.3.5文本的横向与纵向的调整 267

16.3.6文本输入框的字体及颜色 268

16.3.7提示信息的设置 269

16.3.8清空按钮的显示 269

16.3.9背景图片的设置 270

16.3.10 UIView的追加 270

16.3.11文本输入框的状态监视 272

16.4开关(UISwitch) 272

16.5选择控件(UISegmentedController) 274

16.5.1选择控件的使用方法 274

16.5.2选择控件的种类 276

16.5.3不显示选择状态 276

16.5.4选择控件的颜色变更 276

16.5.5使用图标的选择控件 277

16.5.6修改选项内容的显示位置 278

16.5.7设置选项的非活性 278

16.5.8选项的插入与删除 278

16.6滑块(UISlider) 280

16.6.1滑块的使用方法 280

16.6.2滑块值的通知时机 281

16.6.3向滑块中追加图标 281

16.6.4滑块的定制 282

16.7日期时刻选择框(UIDatePicker) 284

16.7.1日期时刻选择框的使用 284

16.7.2以动画形式改变日期 285

16.7.3设置间隔及最小/最大值 285

16.7.4日期选择框的种类 286

16.7.5定制日期选择框 287

第17讲 表格视图(UITableView) 290

17.1表格显示 290

17.1.1最简单的表格显示 290

17.1.2单元选择时的动作 293

17.1.3表格的分段显示 294

17.1.4表格的分组显示 297

17.1.5段脚的显示 299

17.1.6索引的活用 299

17.2单元的定制 301

17.2.1单元尺寸及颜色的修改 301

17.2.2单元分隔线的修改 302

17.2.3追加图片 303

17.2.4追加细节标签 305

17.2.5追加附件 306

17.2.6追加自定义附件 308

17.2.7追加仅编辑模式时显示的附件 309

17.2.8追加控件 311

17.2.9定制单元背景 315

第18讲 使用SQLite数据库 317

18.1 SQLite数据库及使用SQLite数据库的前期准备 317

18.1.1 SQLite数据库概要 317

18.1.2使用SQLite数据库的前期准备 318

18.2创建数据库及表格 319

18.3连接数据库 321

18.4数据检索 324

18.5数据的追加与删除 328

18.6数据库更新 332

18.7使用Core Data进行数据的追加、删除 335

18.7.1 Core Data的优点 335

18.7.2创建使用Core Data的应用程序 336

18.7.3改造Core Data的数据模型 337

18.7.4修改数据登录与保持代码 341

18.7.5数据删除代码 342

18.8追加编辑数据画面 342

18.9添加排序项目 345

第19讲 调试方法 349

19.1缺陷与调试 349

19.1.1什么是缺陷与调试 349

19.1.2描述缺陷 350

19.1.3缺陷的重现 350

19.2 NSLog 351

19.2.1使用NSlog输出调试信息 351

19.2.2 NSLog的格式 353

19.3调试工具 354

19.3.1什么是调试工具 355

19.3.2调试构建配置 355

19.3.3断点与调试模式的启动 356

19.3.4调试界面 356

19.3.5调试的分步执行 358

19.4例外 359

19.4.1什么是例外 359

19.4.2捕捉例外 360

19.4.3发生例外时停止运行 362

19.4.4避免使用太多的例外 362

第20讲 使用iPhone终端进行测试 364

20.1 iPhone Developer Program 364

20.1.1 【iPhone Developer Program】的会员种类 364

20.1.2 【iPhone Developer Program】的注册手续 365

20.1.3关于【Apple ID】 365

20.1.4 【iPhone Developer Program】的付款及认证手续 366

20.2在实际iPhone手机上的调试 366

索引 379