首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 图书频道 > 教育科技 > 电子与通信 >

iOS编程(第2版)(针对Xcode 4)(Joe Conway著)

2012-10-30 来源:读书人网 
  《iOS编程(第2版)(针对Xcode 4)》涵盖了开发iOS应用的方方面面。从Objective-C基础知识到新增加的语言特性从AppKit库到常见的Cocoa设计模式从Xcode技巧到Instrumentst等。如果读者刚接触iOS编程,阅读前两章可以快速入门。
商家名称 信用等级 购买信息 订购本书
iOS编程(第2版)(针对Xcode 4)(Joe Conway著) 去商家看看
iOS编程(第2版)(针对Xcode 4)(Joe Conway著) 去商家看看

iOS编程(第2版)(针对Xcode 4) [平装]

编辑推荐

《iOS编程(第2版)(针对Xcode 4)》的特点有:第一、涵盖iOS应用开发必备知识:从Objective-C基础知识到新语言特性,从AppKit库到常见的Cocoa设计模式,从Xcode技巧到Instruments,不一而足。第二、指导读者以正确的方法解决问题:Objective-C的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法。《iOS编程(第2版)(针对Xcode 4)》使用最新的iOS SDK,包括4.1版本的Xcode。虽然iOS SDK一直在升级,但《iOS编程(第2版)(针对Xcode 4)》翻译完成之际,与SDK有关的内容仍然有效。

名人推荐

阅读此书,转身成为iPhone程序员。
  ——Dietrich Kappe Pathfinder Development公司CTO

作者简介

作者:(美国)Joe Conway (美国)Aaron Hillegass 译者:夏伟频

Joe Conway是Big Nerd Ranch的资深教师,自iOS平台发布以来一直从事相关的咨询服务。Joe毕业于美国威斯康辛大学,在Mac OS X早期即开始编写Objective-C和Cocoa代码。他编写了Big Nerd Ranch的“iOS新手培训课程”教材。该教材广受好评,是的原型。
Aaron Hillegass曾就职于NeXT公司和苹果公司,目前在Big Nerd Ranch教授iOS编程课程。Aaron在NeXT时编写了第一本OpenStep教材(OpenStep是Cocoa的前身)。以Big Nerd Ranch的教学课程为基础,涵盖了近20年OpenStep和Cocoa的开发成果。

目录

简介 i
本书适合哪些读者 i
第二版有哪些更新? i
教学理念 ii
如何使用本书 iii
本书是如何组织的 iii
代码风格 v
版式说明 vi
开发所需的硬件与软件 vi

第1章 第一个简单的iOS应用 1
1.1 创建Xcode项目 2
1.2 创建界面 5
1.3 模型-视图-控制器 10
1.4 声明 13
声明实例变量 13
声明方法 14
1.5 创建关联 15
设置指针 15
设置目标(target)和动作(action) 17
关联小结 19
1.6 实现方法 20
1.7 针对模拟器构建并运行应用 21
1.8 安装应用 23
1.9 应用图标 24
1.10 启动图片 27

第2章 Objective-C 31
2.1 对象 31
2.2 使用实例 32
创建对象 32
发送消息 33
释放对象 34
2.3 编写命令行工具RandomPossessions 35
NSString 38
NSArray与NSMutableArray 39
2.4 子类化Objective-C类 40
实例变量 44
存取方法 45
实例方法 48
初始化方法 49
其他初始化方法与初始化方法链 52
类方法 53
测试子类 55
2.5 异常与控制台窗口 56
2.6 快速枚举 57
2.7 练习 58

第3章 内存管理 59
3.1 内存管理基础 59
C语言的内存管理 59
通过对象管理内存 61
3.2 引用计数 61
使用retain计数 61
使用autorelease 64
存取方法和内存管理 67
实现dealloc 69
通过属性机制简化存取方法 70
copy和mutableCopy 72
Retain计数规则 73
3.3 深入学习:再谈内存管理 74

第4章 委托机制与Core Location 77
4.1 项目、目标和框架 77
4.2 Core Location 79
通过CLLocationManager获取更新数据 81
4.3 委托机制 82
协议 83
协议方法 84
委托机制、控制器对象和内存管理 85
4.4 使用调试器 86
4.5 练习:方位 91
4.6 深入学习:构建阶段、编译器错误和连接器错误 91
预处理(Preprocessing) 92
编译 93
连接 94

第5章 MapKit与文本输入 97
5.1 对象图 97
5.2 MapKit框架 99
5.3 界面属性 99
5.4 设置MapView对象的委托对象 102
使用文档 103
创建MKAnnotation子类 108
标记位置 112
完成Whereami 113
5.5 练习:扩充标注 114
5.6 练习:根据地理位置获取城市信息 114

第6章 创建UIView子类 115
6.1 创建自定义视图 116
drawRect:方法 116
创建UIView实例 118
6.2 绘制文字和阴影 120
6.3 使用UIScrollView 121
6.4 实现缩放功能 122
6.5 隐藏状态条 123
6.6 练习:颜色 125
6.7 深入学习:Retain循环 125
6.8 深入学习:重画视图 125

第7章 视图控制对象 127
7.1 视图控制对象与XIB文件 127
7.2 使用视图控制对象 129
创建UITabBarController对象 130
创建视图控制对象和标签项 131
为视图控制对象创建视图 135
深入浅出XIB:介绍文件所有者 137
7.3 视图的显示和消失 142
7.4 视图控制对象的生命周期与内存过低警告 142
7.5 UIViewController子类与模板 146
7.6 练习:地图标签 147

第8章 方向感应器 149
8.1 设置方向感应器 149
8.2 获取方向感应器数据 151
8.3 加速方向与加速数值 151
8.4 使用加速感应器数据 151
8.5 使加速感应器数据更“平滑” 152
8.6 侦测摇动 153
8.7 练习:改变颜色 155
8.8 深入学习:滤波与频率 155
8.9 深入学习:Retina显示屏 156

第9章 通告机制与设备转动 159
9.1 通告中心 159
9.2 UIDevice通告 160
9.3 自动转屏 161
用代码设置自动缩放掩码与按位运算符 167
9.4 强制使用横排模式 169
9.5 练习:设备近身通告 170
深入学习:覆盖自动转屏 170

第10章 UITableView与UITableViewController 171
10.1 编写Homepwner应用 171
10.2 UITableViewController 172
创建UITableViewController子类 173
10.3 UITableView数据源 176
PossessionStore:单实例对象 177
实现数据源方法 180
10.4 UITableViewCell对象 182
创建并获取UITableViewCell对象 183
重用UITableViewCell对象 185
10.5 代码片段库 186
10.6 练习:表格段 189

第11章 编辑UITableView 191
11.1 编辑模式 191
11.2 增加行 197
11.3 删除行 198
11.4 移动行 199

第12章 UINavigationController 203
12.1 UINavigationController 204
UINavigationBar 207
12.2 加入额外的UIViewController 211
12.3 UINavigationController的导航功能 217
将视图控制对象压入栈 217
视图控制对象之间的数据传递 219
视图的显示和消失 221
12.4 练习:数字键盘(Number Pad) 221

第13章 相机 223
13.1 通过UIImageView显示图片 223
通过UIImagePickerController拍摄照片 226
ImageStore 231
NSDictionary 232
创建并使用键 234
隐藏键盘 237
13.2 练习:删除图片 238
13.2 深入:摄像 238

第14章 UIPopoverController与模态视图控制对象 241
14.1 将Homepwner改写为通用应用 242
14.2 UIPopoverController 244
14.3 模态视图控制对象 246
关闭模态视图控制对象 249
模式视图控制对象的样式 250
编写视图控制对象的委托协议 252
模态视图控制对象的过渡动画 254

第15章 保存、读取与多任务处理 257
15.1 应用沙盒 257
获取文件路径 258
15.2 固化 260
对象的固化 260
对象的解固 262
15.3 应用状态、状态切换与多任务处理 265
15.4 通过NSData保存数据 269
15.5 再谈内存过低警告 271
15.6 “模型-视图-控制器-存储”设计模式 272
15.7 练习:为Whereami增加固化功能 272
15.8 深入:应用状态的切换 272
15.9 深入:文件系统的读取和写入 273
15.10 深入:程序包 276

第16章 创建UITableViewCell子类 279
16.1 创建HomepwnerItemCell 280
创建子视图 281
子视图的布局 282
使用UITableViewCell子类对象 283
16.2 处理图片 284
16.3 练习:辅助指示视图 289
16.4 练习:缩小原图 289

第17章 Core Data 291
17.1 对象-关系映射 291
17.2 用Core Data重写PossessionStore的数据保存功能 291
模型文件 292
NSManagedObject与NSManagedObject子类 297
更新PossessionStore 301
为Homepwner增加AssetType功能 307
17.3 再谈SQL 311
17.4 各种保存机制的优缺点 314
17.5 练习:增加AssetType对象 315
17.6 练习:AssetType对象的iPad界面 315

第18章 本地化 317
18.1 通过NSLocale实现国际化 318
18.2 资源的本地化 319
18.3 NSLocalizedString与字符串对照表 322
18.4 练习:增加一套本地化资源 325
18.5 深入:NSBundle在国际化中的作用 325

第19章 设置 327
19.1 更新Whereami 327
19.2 NSUserDefaults 329
19.3 深入:“设置”应用 331

第20章 触摸事件与UIResponder 333
20.1 触摸事件 334
20.2 创建TouchTracker应用 335
20.3 处理触摸事件并创建线条对象 337
20.4 响应对象链 340
20.5 练习:保存和读取 341
20.6 练习:圆圈 341
20.7 深入学习:UIControl 341

第21章 Instruments 343
21.1 静态分析器 343
21.2 Instruments 345
21.3 Allocations组件 345
Allocations组件的设置选项 350
内存堆快照分析 352
Time Profiler组件 353
21.3 Xcode方案 355
创建新方案 357
21.4 构建设置 359

第22章 Core Animation Layer 363
22.1 层与视图的关系 363
22.2 创建CALayer对象 364
22.3 层的显示内容 367
22.4 隐式可动画属性 369
22.5 深入:通过代码生成显示内容 371
22.6 深入:层、位图与上下文 372
22.7 练习:动态生成层的显示内容 374

第23章 通过CAAnimation控制动画 375
23.1 动画对象 375
23.2 通过CABasicAnimation实现旋转动画 378
速度控制函数 381
动画结束后的处理 382
23.3 通过CAKeyframeAnimation实现弹跳动画 383
23.4 练习:更多动画效果 384
23.5 深入:外观层和模型层 384

第24章 Block对象与范畴 387
24.1 为TouchDrawView上色 387
24.2 Block对象 389
Block对象与变量 389
捕获变量 393
通过其他内建的方法使用Block对象 396
通过Block对象保持代码的短小精练 396
24.3 范畴 397
24.4 深入学习:内存管理与Block对象 400
24.5 深入学习:比较多种回调机制实现途径的优缺点 403

第25章 Web服务与UIWebView 405
25.1 Web服务 406
编写Nerdfeed 407
从指定的URL获取数据 408
使用NSURLConnection 410
解析XML数据 412
日志输出技巧 423
25.2 UIWebView 424
25.3 深入学习:NSXMLParser 426
25.4 深入学习:HTTP请求主体 427
25.5 深入学习:认证信息 429
25.6 练习:解析并显示更多数据 430
25.7 练习:加强UIWebView 430

第26章 UISplitViewController 431
26.1 在Nerdfeed中使用UISplitViewController 432
26.2 主、从视图控制对象间的通信 436
26.3 在竖排模式下显示主视图控制对象 442
26.4 将Nerdfeed改写为通用应用 445

第27章 多媒体播放与后台运行 449
27.1 创建MediaPlayer应用 449
27.2 系统声音 452
注册系统声音 452
播放系统声音 453
27.3 播放压缩格式的音频文件 454
27.4 播放视频文件 455
MPMoviePlayerViewController 457
视频文件的预读 458
27.5 后台运行 458
后台运行规则 459
其他形式的后台运行 460
27.6 底层API 462
27.7 练习:录音 462

第28章 Bonjour与Web服务端 463
28.1 Bonjour 463
创建CocoaServer 464
发布Bonjour服务 467
通过Bonjour查找服务 469
28.2 HTTP通信 473
用Objective-C编写Web服务端 473
获取服务端的网络地址信息 474
字节序 475
创建服务请求 475
接收Web请求 477
28.3 深入学习:TXTRecords 479

第29章 推送通知与网络编程 481
29.1 设置客户端,为接收推送通知做准备 482
注册客户端 482
创建并设置针对推送通知的provisioning profile 483
29.2 投递推送通知 486
向provider发送设备token 486
29.3 发送推送通知 488
通过NSStream和Apple服务器创建网络连接 488
通过NSStream建立网络连接 489
为Apple服务器提供数据 493
处理投递错误 497
再谈针对流连接的数据读取 498
29.4 几种额外的客户端通知处理机制 498
声音和图标标记 499
通过推送通知传送自定义数据 500
29.5 正式的通知服务器以及其他发布事宜 502
29.6 深入学习:反馈服务 502

第30章 后记 503
30.1 接下来做什么 503
30.2 结束语 503
索引 505

序言

要成为一名优秀的iOS程序员,需要攻克以下三项难题。
必须学会Objective-C语言。Objective-C是C语言的小巧且简单的扩展。就能基本掌握的前4章,读者会对Objective-C的相关知识。
必须掌握Cocoa的常用技术。其中包括内存管理、委托机制(delegation)、固化机制(archiving),以及UIViewController的正确使用。理解这些技术需要花些时间。本书前半部分会覆盖这些内容。
必须掌握框架(framework)。这里的终极目标是学会iOS的所有框架,以及全部的类和方法。但这几乎是不可能完成的任务:iOS有3000多个方法,200多个类。而且iOS升级的时候会加入新的类和方法。本书会全面介绍iOS SDK,但是不会太过深入。作者的目标是带领读者入门,使读者能够自行阅读并理解Apple的参考文档。
Big Nerd Ranch采用本书作为“iOS新人培训课程”的教材。这些课程经过了长期检验,帮助很多人成为了iOS程序员。真心希望这本书也能给你带来帮助。

文摘

版权页:



插图:







相关阅读:

我在梦里见过你(韩国超人气网络小说)

寒鸦劫(武侠第一中篇)

女人要为理想而奋斗:宝洁营销总裁17年的职

好想假装不爱你(中国画报出版社出版) 

更多图书资讯可访问读书人图书频道:http://www.reAder8.cn/book/


(作者:Joe Conway 编辑:kind887)
热点排行