编辑推荐
 ; 本书有两个特点:*、涵盖iOS应用开发必备知识:从Swift基础知识到新语言特性,从AppKit库到常见的Cocoa设计模式,从Xcode技巧到Instruments,不一而足。第二、指导读者以正确的方法解决问题:Swift的习惯约定有哪些(例如命名约定,内存管理约定),创建子类时如何处理初始化方法,Cocoa的常见设计模式有哪些,如何选择数据保存方法等。 ;
内容简介
 ; 《iOS编程》荣获Jolt生产力大奖。第5版更新了iOS9、Xcode7、Swift的内容。全书涵盖了开发iOS应用的方方面面。从Swift基础知识到新增加的语言特性;从AppKit库到常见的Cocoa设计模式;从Xcode技巧到Instrumen tst等。如果读者刚接触iOS编程,阅读本书前两章可以快速入门。如果读者已经有iOS编程经验,阅读本书可以拾遗补缺。
作者简介
 ; Christian Keur是Big Nerd Ranch的高级讲师和软件工程师,负责编写Big Nerd Ranch的“iOS新手培训课程”教材。该教材广受好评,是本书的原型。Christian毕业于美国佐治亚理工学院计算机科学系,目前居住在亚特兰大。
 ;
 ; ;Aaron Hillegass是Big Nerd Ranch的创始人之一,曾就职于NeXT公司和Apple公司,他拥有近20年的Cocoa、iOS开发与教学经验。Aaron与他人合著了《Mac OS X编程》。
目录
第1章  ;第一个简单的iOS应用 1
1.1  ;创建Xcode项目 2
1.2  ;模型-视图-控制器 5
1.3  ;设计Quiz 6
1.4  ;Interface Builder 7
1.5  ;创建界面 8
1.6  ;创建模型对象 21
1.7  ;编译完成的应用 23
1.8  ;应用图标 24
1.9  ;启动画面 26
第2章  ;Swift语言 27
2.1  ;Swift的数据类型 27
2.2  ;使用标准类型 28
2.3  ;可选 35
2.4  ;循环和字符串补全 37
2.5  ;枚举和Switch 39
2.6  ;查阅Apple的Swift文档 40
第3章 视图与视图层次结构 41
3.1 视图基础 42
3.2 视图层次结构 42
3.3 创建新项目 44
3.4 视图及Frame 45
3.5 自动布局系统 55
3.6 初级练习:更多自动布局练习 64
第4章 文本输入与委托 65
4.1 文本编辑 65
4.2 实现温度转换 73
4.3 委托 76
4.3 初级练习:禁止输入字母 79
第5章 视图控制器 81
5.1 视图控制器的视图 82
5.2 设置初始视图控制器 82
5.3 UITabBarController 85
5.4 加载以及展示视图 90
5.5 与视图控制器及其视图交互 92
5.6 中级练习:夜间模式 93
5.7 深入学习:高清显示 93
第6章 用代码实现视图 95
6.1 使用代码创建视图 96
6.2 代码实现约束 97
6.3 代码实现事件 104
6.4 初级练习:再添加一个Tab 106
6.5 中级练习:显示用户位置 106
6.6 高级练习:显示地图大头针 106
6.7 深入学习:NSAutoresizingMaskLayoutConstraint 106
第7章 本地化 109
7.1 国际化 110
7.2 本地化 120
7.3 初级练习:另外一种本地化 126
7.4 深入学习:NSBundle在国际化中扮演的角色 126
7.5 深入学习:导入以及导出XLIFF 128
第8章 控制动画 129
8.1 基础动画 130
8.2 另一个标签 132
8.3 动画完成 135
8.4 对约束作动画 135
8.5 时间方法 139
8.6 初级练习:spring动画 141
8.7 中级练习:Layout Guides 141
第9章 UITableView与UITableViewController 143
9.1 编写Homepwner应用 144
9.2 UITableViewController 145
9.3 创建Item类 147
9.4 UITableView数据源 149
9.5 UITableViewCells 153
9.6 内容缩进 158
9.7 初级练习:多个分组 159
9.8 中级练习:固定的行 160
9.9 高级练习:自定义UITableView 160
第10章 编辑UITableView 161
10.1 编辑模式 161
10.2 添加行 166
10.3 删除行 168
10.4 移动行 169
10.5 显示提示窗口 170
10.6 设计模式 173
10.7 初级练习:修改删除按钮的标题 174
10.8 中级练习:禁止调整顺序 174
10.9 高级练习:真正地禁止调整顺序 174
第11章 创建UITableViewCell子类 175
11.1 创建ItemCell 176
11.2 添加并关联ItemCell的属性 178
11.3 使用ItemCell 179
11.4 动态计算高度 180
11.5 动态类型 181
11.6 初级练习:UITableViewCell的颜色 184
第12章 UIStackView 185
12.1 使用UIStackView 186
12.2 Segues 194
12.3 绑定内容 195
12.4 传递数据 200
12.5 初级练习:更多的UIStackView 201
第13章 UINavigationController 203
13.1 UINavigationController 204
13.2 使用UINavigationController导航 209
13.3 视图的出现和消失 210
13.4 隐藏键盘 211
13.5 UINavigationBar 215
13.6 初级练习:显示数字键盘 220
13.7 中级练习:自定义UITextField 220
13.8 高级练习:添加更多UIViewController 220
第14章 相机 221
14.1 通过UIImageView对象显示图片 222
14.2 通过UIImagePickerController拍摄照片 226
14.3 创建ImageStore 231
14.4 让UIViewController可以访问ImageStore 232
14.5 创建并使用键 233
14.6 使用ImageStore 235
14.7 初级练习:编辑图片 236
14.8 中级练习:删除图片 237
14.9 高级练习:Camera Overlay 237
14.10 深入学习:导航实现文件 237
第15章 保存、读取与应用状态 241
15.1 固化 242
15.2 应用沙盒 245
15.3 NSKeyedArchiver与NSKeyedUnarchiver 248
15.4 应用状态与状态切换 251
15.5 通过NSData将数据写入文件 254
15.6 错误处理 257
15.7 初级练习:PNG 259
15.8 深入学习:应用状态切换 259
15.9 深入学习:文件系统读/写 261
15.10 深入学习:应用程序包 263
第16章 Size Classes 265
16.1 定制Size Classes 266
16.2 初级练习:垂直排列UITextField和UILabel 272
第17章 触摸事件和UIResponder 273
17.1 触摸事件 274
17.2 创建TouchTracker应用 275
17.3 创建Line结构体 276
17.4 创建DrawView 278
17.5 使用DrawView画图 279
17.6 处理触摸事件并创建线条对象 280
17.7 @IBInspectable 285
17.8 中级练习:颜色 287
17.9 高级练习:圆圈 287
17.10 深入学习:响应对象链 287
17.11 深入学习:UIControl 289
第18章 UIGestureRecognizer与UIMenuController 291
18.1 UIGestureRecognizer子类 292
18.2 使用UITapGestureRecognizer检测点击 292
18.3 多个UIGestureRecognizer 294
18.4 UIMenuController 297
18.5 更多UIGestureRecognizer 299
18.6 深入学习UIGestureRecognizer 304
18.7 中级练习:神奇的线条 305
18.8 高级练习:速度和大小 305
18.9 铂金挑战:颜色 305
18.10 深入学习:UIMenuController与UIResponderStandardEditActions 306
第19章 网络服务 307
19.1 开始Photorama应用 308
19.2 创建URL 309
19.3 发送请求 314
19.4 Photo模型 317
19.5 JSON数据 318
19.6 下载并显示图片数据 326
19.7 主线程 329
19.8 初级练习:打印返回信息 331
19.9 深入学习:HTTP 331
第20章 UICollectionView 333
20.1 显示网格 334
20.2 UICollection数据源 336
20.3 自定义布局 339
20.4 创建自定义的UICollectionViewCell 341
20.5 下载图片数据 345
20.6 查看照片 349
20.7 中级练习:改变Item的尺寸 352
20.8 高级练习:自定义布局 352
第21章 Core Data 353
21.1 对象图 353
21.2 实体 354
21.3 创建Core Data Stack 358
21.4 更新数据 361
21.5 更新数据源 364
21.6 在硬盘上保存图片 367
21.7 初级练习:照片查看次数 368
第22章 Core Data关系 369
22.1 关系 370
22.2 在界面中添加标签 372
22.3 父子NSManagedObjectContext 382
22.4 中级练习:收藏 384
第23章 后记 385
23.1 接下来做什么 385
23.2 关注我们 386
索引 387
前沿
要成为一名优秀的iOS程序员,需要攻克以下三道难题。
l 必须学会Swift语言。Swift是iOS推荐的开发语言。本书前两章会讲解必要的Swift语言知识。
l 必须掌握一些主要概念。其中包括委托(delegation)机制、固化(archiving)机制,以及如何正确使用视图控制器(view controller)。理解这些技术需要花些时间。当读者把本书读到一半时,就会明白这些概念。
l 必须掌握框架(framework)。读者的最终目标是了解iOS的所有框架,学会如何使用框架中的每一个类和方法。但这几乎是不可能完成的任务:iOS有几百个类和上千个方法,而且随着iOS的版本升级,Apple还会不断地加入新的类和新的方法。本书将会介绍iOS SDK中的各个组成部分,但是不会太过深入。作者的目标是带领读者入门,使读者能够自行阅读并理解Apple的参考文档。
Big Nerd Ranch公司采用本书作为“iOS新手培训课程”的教材。这些内容经过了长期的检验,并且帮助很多人成为iOS程序员。真心希望本书也能给你带来帮助。
免费在线读
本书中所有代码都是使用Swift语言编写的,前面的章节会让读者快速熟悉这门新语言。通过本书,读者会学到如何利用Swift语言特性来编写更好的iOS应用。我们已经爱上Swift了,相信你也会的。
其他新增的部分包括collection view、size class、Auto Layout、web service、Core Data。
第5版使用的是Xcode 7.1或更新的版本,应用在安装iOS 9或更新版本的设备上运行。
除了以上这些明显的变化,作者还根据读者和学生提出的问题对本书进行了大量修订。可以说与前一版本相比,新版页页有改进。
iOS编程(第5版) pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版