精通iOS开发

书名:精通iOS开发
作者:马克(DavidMark)/JackNutting/JeffLaMarche/FredrikOlsson
译者:邓强/武海峰
ISBN:9787115327611
出版社:人民邮电出版社
出版时间:2013-9-1
格式:epub/mobi/azw3/pdf
页数:589
豆瓣评分: 8.5

书籍简介:

还在iPhone和iPad应用开发的大门前徘徊?还是已经投身iOS应用开发阵营,但希望迅速提升自己的功力?选择本书绝对能令你惊喜连连。四位作者均是资深移动开发专家,具有丰富的Mac、iOS、Cocoa及Objective-C开发经验。作者将多年的实战经验与智慧感悟汇集成本书,旨在帮助没有经验的读者顺利叩开iOS应用开发的大门,帮助有经验的读者迅速提升功力,从而在iOS开发的道路上所向披靡。 本书自问世以来就受到读者的交口赞誉,被奉为学习iOS平台开发的不二之选。中文版累计销量已超过5万册。新版针对iOS 6和新的SDK做了大幅修订,力求使新老读者都能有最大收获。作者重写了所有项目代码,使之兼容新旧SDK,还专门新增一章介绍iOS 6的新特性集合视图,并对原有的各章内容进行更新,从而反映出技术的最新发展动态。 还等什么?立即展卷阅读,加入iOS开发的行列吧!

作者简介:

作者简介:

David Mark

经验丰富的Mac技术开发专家,技术图书作者。他撰写过许多Mac平台和iOS开发方面的畅销书,比如《iPad开发基础教程》(中文版已由人民邮电出版社出版)。David还是iOS/Android开发公司MartianCraft的联合创始人。

Jack Nutting

资深苹果移动开发技术专家、技术图书作者。Objective-C和Cocoa框架的坚定拥护者。《iPad开发基础教程》合著者。个人博客www.nuthole.com。

Jeff LaMarche

资深Mac与iOS开发人员,拥有20多年开发经验。他是MacTech Magazine和苹果公司开发人员网站的专栏作家。Jeff关于iOS开发的博文广受欢迎,其博客地址为www.iphonedevelopment.blogspot.com。

Fredrik Olsson

具有丰富的Cocoa和iPhone开发经验,从业经历丰富,从实时汇编到企业版Java开发。他是Objective-C和Cocoa框架的坚定拥护者。

译者简介:

邓强

iOS工程师,常年关注互联网行业,对互联网产品和技术兴趣浓厚,Apple粉、Google粉、Amazon粉。职业生涯的前几年一直从事金融行业软件系统开发,后来不顾一切投身互联网。目前在一个新成立的互联网创业小团队任职。Email:dengqiang@outlook.com。

武海峰

Linux系统工程师,主要关注GNU/Linux和移动互联应用,热衷于开源软件。曾在商业Linux厂商和移动互联网创业公司任职,从事Android系统集成、商业Linux发行版集成及移动互联网产品开发。Email:dinny.wu@gmail.com。

书友短评:

@ nostalgia 有点老了,很多东西xcode得自己摸索,推荐看cs193p @ 齐德龙_Dong强 写完两个应用看的这本书,算不上精通 iOS 开发,充其量就是iOS 开发入门。都是一些基础控件的熟悉,iOS 内容太多,没几年经验不太可能达到精通,写完两个应用之后感觉 iOS 开发中设计模式比较重要。 @ 水无生 买后就后悔了,内容写得很繁琐,是建议先看一些入门视频,再看斯坦福公开课iOS @ 香蒲 英文版第八版 @ KotBot 感觉还不错讲的很详细,虽然是Obj-C的,当成Swift看了.. @ nostalgia 有点老了,很多东西xcode得自己摸索,推荐看cs193p @ 香蒲 英文版第八版 @ 逸 例子很不错,但到第九章已经很复杂了。以后有机会实践再看一下。 @ 上将马忠 比那些什么swift开发指南权威指南更值得读 @ 赵小淘 基础,很详细

目 录

第1章 欢迎来到iOS世界  1
1.1  关于本书  1
1.2  必要条件  1
1.2.1  开发者选项  3
1.2.2  必备知识  3
1.3  编写iOS应用程序有何不同  4
1.3.1  只能激活一个应用  4
1.3.2  只有一个窗口  5
1.3.3  有限的访问权限  5
1.3.4  有限的响应时间  5
1.3.5  有限的屏幕大小  5
1.3.6  有限的系统资源  6
1.3.7  不支持垃圾回收  6
1.3.8  新功能  6
1.3.9  与众不同的交互方法  7
1.4  本书内容  7
1.5  这一版的新内容  8
1.6  准备开始吧  9
第2章 创建项目  10
2.1  在Xcode中创建项目  10
2.1.1  Xcode工作区窗口  14
2.1.2  深入研究项目  21
2.2  Interface Builder简介  23
2.2.1  nib文件的构成  24
2.2.2  库  25
2.2.3  在视图中添加标签  26
2.2.4  属性修改  29
2.3  画龙点睛——美化iPhone应用  30
2.4  小结  34
第3章 实现基本交互  35
3.1  MVC方法  36
3.2  创建项目  36
3.3  视图控制器  37
3.3.1  输出口和动作  38
3.3.2  清理视图控制器  41
3.3.3  设计用户界面  41
3.3.4  运行应用  50
3.3.5  样式文本  50
3.4  应用程序委托  52
3.5  小结  55
第4章 更丰富的用户界面  56
4.1  满是控件的屏幕  56
4.2  活动控件、静态控件和被动控件  58
4.3  创建应用程序  59
4.4  实现图像视图和文本字段  59
4.4.1  添加图像视图  59
4.4.2  调整图像视图的大小  62
4.4.3  设置视图属性  63
4.4.4  添加文本字段  65
4.4.5  创建和关联输出口  70
4.5  关闭键盘  72
4.5.1  输入完成后关闭键盘  73
4.5.2  通过触摸背景关闭键盘  74
4.5.3  添加滑块和标签  76
4.5.4  添加顶部约束  78
4.5.5  创建并关联动作方法和输出口  78
4.5.6  实现动作方法  79
4.6  实现开关、按钮和分段控件  80
4.7  实现分段控件的动作方法  84
4.8  实现操作表单和警告视图  85
4.8.1  遵从操作表单委托方法  85
4.8.2  显示操作表单  85
4.9  美化按钮  88
4.9.1  viewDidLoad方法  89
4.9.2  控件状态  90
4.9.3  可拉伸图像  90
4.10  小结  91
第5章 自动旋转和自动调整大小  92
5.1  自动旋转机制  93
5.1.1  点、像素和Retina显示屏  93
5.1.2  自动旋转的实现方式  94
5.2  选择视图支持的方向  95
5.2.1  应用级支持的方向  95
5.2.2  单个控制器的旋转支持  96
5.3  使用约束设计界面  98
5.3.1  覆盖默认的约束  100
5.3.2  与屏幕等宽的按钮  101
5.4  旋转时重构视图  103
5.4.1  创建并关联输出口  104
5.4.2  旋转时移动按钮  105
5.5  切换视图  106
5.5.1  设计两个视图  108
5.5.2  实现视图切换  109
5.5.3  修改输出口集合  111
5.6  小结  112
第6章 多视图应用程序  113
6.1  多视图应用程序的常见类型  113
6.2  多视图应用程序的体系结构  117
6.2.1  根控制器  119
6.2.2  内容视图剖析  119
6.3  UINavigationController  120
6.3.1  创建视图控制器和nib文件  121
6.3.2  修改应用程序委托  123
6.3.3  修改BIDSwitchView- Controller.h  124
6.3.4  添加视图控制器  124
6.3.5  构建带有工具栏的视图  126
6.3.6  编写根视图控制器  128
6.3.7  实现内容视图  131
6.3.8  转换过程的动画效果  134
6.4  小结  136
第7章 标签栏与选取器  137
7.1  Pickers应用程序  138
7.2  委托和数据源  140
7.3  建立标签栏框架  141
7.3.1  创建文件  141
7.3.2  添加根视图控制器  142
7.3.3  创建TabBarController.xib  143
7.3.4  初次运行  149
7.4  实现日期选取器  150
7.5  实现单组件选取器  153
7.5.1  声明输出口和动作方法  153
7.5.2  构建视图  153
7.5.3  将控制器实现为数据源和委托  155
7.6  实现多组件选取器  158
7.6.1  声明输出口和动作方法  158
7.6.2  构建视图  159
7.6.3  实现控制器  159
7.7  实现依赖组件  162
7.8  使用自定义选取器创建一个简单游戏  168
7.8.1  编写控制器头文件  168
7.8.2  构建视图  169
7.8.3  添加图像资源  170
7.8.4  实现控制器  170
7.8.5  最后的细节  173
7.8.6  链接Audio Toolbox框架  177
7.9  小结  178
第8章 表视图简介  179
8.1  表视图基础  179
8.1.1  表视图和表视图单元  180
8.1.2  分组表和无格式表  180
8.2  实现一个简单表  181
8.2.1  设计视图  182
8.2.2  编写控制器  182
8.2.3  添加一个图像  186
8.2.4  表视图单元样式  187
8.2.5  设置缩进级别  189
8.2.6  处理行的选择  190
8.2.7  更改字体大小和行高  192
8.3  定制表视图单元  193
8.3.1  向表视图单元添加子视图  193
8.3.2  创建UITableViewCell子类  194
8.3.3  从nib文件加载UITableViewCell  199
8.4  分组分区和索引分区  202
8.4.1  构建视图  202
8.4.2  导入数据  203
8.4.3  实现控制器  204
8.4.4  添加索引  207
8.5  实现搜索栏  208
8.6  小结  215
第9章 导航控制器和表视图  216
9.1  导航控制器  216
9.1.1  栈的性质  216
9.1.2  控制器栈  217
9.2  由6个部分组成的分层应用程序:Nav  218
9.2.1  子控制器  219
9.2.2  Nav应用程序骨架  223
9.2.3  向项目中添加图像  229
9.2.4  第一个子控制器:展开按钮视图  229
9.2.5  第二个子控制器:检查表  237
9.2.6  第三个子控制器:表行上的控件  242
9.2.7  第四个子控制器:可移动的行  248
9.2.8  第五个子控制器:可删除的行  252
9.2.9  第六个子控制器:可编辑的详细面板  257
9.2.10  其他内容  272
9.3  小结  273
第10章 故事板  274
10.1  创建一个简单的故事板  274
10.2  动态原型单元  277
10.2.1  使用故事板的动态表内容  277
10.2.2  编辑原型单元  278
10.2.3  实现表视图数据源  279
10.2.4  它会加载吗  281
10.3  静态单元  282
10.3.1  实现静态单元  282
10.3.2  实现表视图数据源  283
10.4  联线  285
10.4.1  创建联线导航  285
10.4.2  设计故事板  286
10.4.3  第一个视图转换  287
10.4.4  更为实用的任务列表  288
10.4.5  查看任务详情  289
10.4.6  设置更多联线  290
10.4.7  从列表中传递任务  291
10.4.8  处理任务细节  292
10.4.9  回传详细信息  293
10.4.10  让列表获取详细信息  294
10.4.11  小结  295
第11章 iPad开发注意事项  296
11.1  分割视图和浮动窗口  296
11.1.1  创建SplitView项目  298
11.1.2  在故事板中定义结构  300
11.1.3  使用代码定义功能  301
11.2  显示总统信息  307
11.3  创建浮动窗口  313
11.4  小结  319
第12章 应用程序设置及用户默认设置  320
12.1  设置捆绑包入门  320
12.2  AppSettings应用程序  321
12.2.1  创建项目  324
12.2.2  使用设置捆绑包  325
12.2.3  读取应用程序中的设置  338
12.2.4  在应用程序中修改默认设置  342
12.2.5  注册默认值  344
12.2.6  保证设置有效  345
12.3  小结  348
第13章 数据持久化基础知识  349
13.1  应用程序的沙盒  349
13.1.1  获取Documents目录  350
13.1.2  获取tmp目录  351
13.2  文件保存策略  351
13.2.1  单文件持久化  352
13.2.2  多文件持久化  352
13.3  属性列表  352
13.3.1  属性列表序列化  352
13.3.2  Persistence应用程序的第一个版本  353
13.4  对模型对象进行归档  358
13.4.1  遵循NSCoding协议  358
13.4.2  实现NSCopying协议  360
13.4.3  对数据对象进行归档和取消归档  360
13.4.4  归档应用程序  361
13.5  使用iOS内嵌的SQLite3  364
13.5.1  创建或打开数据库  365
13.5.2  绑定变量  366
13.5.3  SQLite3应用程序  367
13.6  使用Core Data  373
13.6.1  实体和托管对象  374
13.6.2  Core Data应用程序  378
13.7  小结  386
第14章 iCloud之旅  387
14.1  使用UIDocument管理文档存储  387
14.1.1  构建TinyPix  388
14.1.2  创建BIDTinyPix-Document类  388
14.1.3  主代码  391
14.1.4  初始故事板  397
14.1.5  创建BIDTinyPixView类  400
14.1.6  设计详细视图  403
14.2  添加iCloud支持  407
14.2.1  创建provisioning profile  408
14.2.2  启用iCloud授权  409
14.2.3  如何查询  409
14.2.4  保存在哪里  411
14.2.5  将首选项保存到iCloud  411
14.3  小结  412
第15章 Grand Central Dispatch和后台处理  414
15.1  Grand Central Dispatch  414
15.2  SlowWorker简介  415
15.3  线程基础知识  418
15.4  工作单元  419
15.5  GCD:低级队列  419
15.5.1  傻瓜式操作  420
15.5.2  改进SlowWorker  421
15.6  后台处理  426
15.6.1  应用程序生命周期  427
15.6.2  状态更改通知  427
15.6.3  创建State Lab项目  428
15.6.4  执行状态的变化  430
15.6.5  利用执行状态更改  431
15.6.6  处理不活动状态  432
15.6.7  处理后台状态  436
15.7  小结  443
第16章 使用Quartz和OpenGL绘图  444
16.1  图形世界的两个视图  444
16.2  Quartz 2D绘图方法  445
16.2.1  Quartz 2D的图形上下文  445
16.2.2  坐标系  446
16.2.3  指定颜色  447
16.2.4  在上下文中绘制图像  449
16.2.5  绘制形状:多边形、直线和曲线  449
16.2.6  Quartz 2D工具采样器:模式、梯度、虚线模式  450
16.3  QuartzFun应用程序  451
16.3.1  建立QuartzFun应用程序  451
16.3.2  添加Quartz 2D的绘图代码  460
16.3.3  优化QuartzFun应用程序  465
16.4  GLFun应用程序  468
16.4.1  建立GLFun应用程序  468
16.4.2  创建BIDGLFunView类  469
16.4.3  更新BIDView-Controller类  475
16.4.4  更新nib文件  476
16.4.5  完成GLFun应用程序  476
16.5  小结  476
第17章 轻击、触摸和手势  477
17.1  多点触控术语  477
17.2  响应者链  478
17.2.1  响应事件  478
17.2.2  转发事件:保持响应者链的活动状态  479
17.3  多点触控体系结构  480
17.4  4个手势通知方法  480
17.5  TouchExplorer应用程序  481
17.6  Swipes应用程序  485
17.6.1  自动手势识别  488
17.6.2  实现多指滑动  489
17.7  检测多次轻击  491
17.8  检测捏合和旋转  496
17.9  自定义手势  500
17.9.1  CheckPlease应用程序  501
17.9.2  CheckPlease的触摸方法  503
17.10  小结  505
第18章 Core Location和Map Kit  506
18.1  位置管理器  506
18.1.1  设置精度  507
18.1.2  设置距离筛选器  507
18.1.3  启动位置管理器  508
18.1.4  合理使用位置管理器  508
18.2  位置管理器委托  508
18.2.1  获取位置更新  508
18.2.2  使用CLLocation获取纬度和经度  508
18.2.3  错误通知  510
18.3  试用Core Location  511
18.4  将移动路线展现在地图上  516
18.5  小结  519
第19章 陀螺仪和加速计  520
19.1  加速计物理学  520
19.2  不要忘记旋转  521
19.3  Core Motion和动作管理器  521
19.3.1  基于事件的动作  522
19.3.2  主动动作访问  527
19.3.3  加速计结果  529
19.4  检测摇动  530
19.4.1  内嵌的摇动检测  531
19.4.2  摇动与击碎  531
19.5  将加速计用做方向控制器  536
19.5.1  滚弹珠程序  537
19.5.2  实现BIDBallView类  539
19.5.3  计算弹珠运动  542
19.6  小结  544
第20章 照相机和照片库  545
20.1  图像选取器和UIImagePicker-
Controller  545
20.2  实现图像选取器控制器委托  547
20.3  实际测试照相机和照片库  548
20.3.1  设计界面  549
20.3.2  实现照相机视图控制器  550
20.4  小结  553
第21章 集合视图  554
21.1  创建DialogViewer项目  554
21.2  视图控制器类  555
21.3  自定义单元  555
21.4  配置视图控制器  558
21.5  内容单元  559
21.6  实现流式布局  560
21.7  分区标题视图  562
21.8  小结  563
第22章 应用程序本地化  564
22.1  本地化体系结构  564
22.2  字符串文件  565
22.2.1  字符串文件  566
22.2.2  本地化的字符串宏  566
22.3  现实中的iOS:本地化应用程序  567
22.3.1  创建LocalizeMe  568
22.3.2  测试LocalizeMe  570
22.3.3  本地化nib文件  571
22.3.4  本地化图像  575
22.3.5  生成并本地化字符串文件  577
22.3.6  Base Internationalization  579
22.3.7  应用显示名称的本地化  582
22.4  小结  583
附录A  未来之路  584
· · · · · ·

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

分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址