iOS编程

书名:iOS编程ForXcode4
作者:JoeConway/AaronHillegass
译者:夏伟频/李骏
ISBN:9787560976976
出版社:华中科技大学出版社
出版时间:2012-3-20
格式:epub/mobi/azw3/pdf
页数:544
豆瓣评分: 8.8

书籍简介:

本书针对Xcode 4编写,涵盖了开发iOS应用所需知道的方方面面。从Objective-C基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instruments,等等。如果读者刚接触iOS编程,那么阅读本书的第一章和第二章能快让你速入门。如果读者已经 有大量的iOS编程经验,那么通读本书可以拾遗补缺。无论读者是开发新的应用,还是为应用增加新功能,十之八九能在书中找到答案或是解决思路。 除了内容全,本书的另一个特点是教读者以正确的方法解决问题。Objective-C的习惯约定有哪些(例如命名约定,内存管理约定)?创建子类时如何处理初始化方法?Cocoa的常见设计模式有哪些?如何选择数据保存方法?等等。所有这些问题,如果读者自己摸索,自己查阅散落于各处文档的知识点,难免费时费力。本书已经将这些知识整理、归纳并清楚地呈现在读者面前。 目前,iOS开发针对的设备有iPhone、iPod touch和iPad。因为使用的是同一个体系,所以本书介绍的绝大部分内容均可通用。对于有差异的部分(例如iPad界面),本书也做了一定的介绍。 此外,作者在编写本书时使用的是当时最新的iOS SDK,其中包括4.1版本的Xcode。虽然iOS SDK一直在升级,但在本书译者翻译完全书之际,绝大部分和SDK有关的内容都是有效的。

作者简介:

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的开发成果。

书友短评:

@ 秃鹰 了解下~ @ 鲤鱼飞 适合初学者,讲解很详细,排版也很好看。看完就可以将基本的ios编程内容掌握了,但是深度不够。 @ 学而时习 好好学习,天天向上 @ SUN 良好的入门教材,浅显易懂,入门之选 @ Mr.Y ios入門的一本書,從這個角度上來看,給4星 @ 廿文 当年的iOS编程入门书籍。Big Nerd Ranch出的教程对小白还是很友好的,非常适合入门。 @ 学而时习 好好学习,天天向上 @ Yaker 还行吧 @ 鲤鱼飞 适合初学者,讲解很详细,排版也很好看。看完就可以将基本的ios编程内容掌握了,但是深度不够。 @ 林步蜓 一个月,基本看完。很好。

简介 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
第15章 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
第15章 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编程
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

添加微信公众号:“好书天下”获取书籍

添加微信公众号:“好书天下”获取书籍添加微信公众号:“好书天下”获取书籍