本书有两个特点:涵盖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编程》。
阅读此书,转身成为iPhone/iPad程序员。
-Dietrich Kappe,Pathfinder Development公司CTO
第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
本书中所有代码都是使用Swift语言编写的,前面的章节会让读者快速熟悉这门新语言。通过本书,读者会学到如何利用Swift语言特性来编写更好的iOS应用。我们已经爱上Swift了,相信你也会的。
其他新增的部分包括collection view、size class、Auto Layout、web service、Core Data。
第5版使用的是Xcode 7.1或更新的版本,应用在安装iOS 9或更新版本的设备上运行。
除了以上这些明显的变化,作者还根据读者和学生提出的问题对本书进行了大量修订。可以说与前一版本相比,新版页页有改进。
要成为一名优秀的iOS程序员,需要攻克以下三道难题。
必须学会Swift语言。Swift是iOS推荐的开发语言。本书前两章会讲解必要的Swift语言知识。
必须掌握一些主要概念。其中包括委托(delegation)机制、固化(archiving)机制,以及如何正确使用视图控制器(view controller)。理解这些技术需要花些时间。当读者把本书读到一半时,就会明白这些概念。
必须掌握框架(framework)。读者的最终目标是了解iOS的所有框架,学会如何使用框架中的每一个类和方法。但这几乎是不可能完成的任务:iOS有几百个类和上千个方法,而且随着iOS的版本升级,Apple还会不断地加入新的类和新的方法。本书将会介绍iOS SDK中的各个组成部分,但是不会太过深入。作者的目标是带领读者入门,使读者能够自行阅读并理解Apple的参考文档。
Big Nerd Ranch公司采用本书作为“iOS新手培训课程”的教材。这些内容经过了长期的检验,并且帮助很多人成为iOS程序员。真心希望本书也能给你带来帮助。
读完《iOS编程(第5版)》,我最大的感受就是“充实”。这本书的内容覆盖了从入门到进阶的方方面面,几乎涵盖了我对 iOS 开发的所有期待。作者的讲解非常到位,逻辑清晰,条理分明。我特别喜欢它对新技术的介绍,比如 Swift UI,虽然我还没有深入研究,但书中的初步介绍让我对这个未来的 UI 框架有了初步的认识和了解。这本书的实践性也非常强,每一个章节都配有详实的示例代码,让我能够边学边练,巩固所学知识。我跟着书中的指引,成功地开发了一个可以拍照、保存图片并分享的应用,这个过程让我深刻体会到 iOS 开发的魅力。我还会继续反复研读这本书,相信它会是我未来 iOS 开发之路上的得力助手。
评分我是一名正在学习中的计算机专业学生,对 iOS 开发有浓厚的兴趣,希望能为毕业设计打下坚实基础。《iOS编程(第5版)》为我提供了一个非常系统和全面的学习路径。它从 Swift 语言的基础语法讲起,循序渐进地引入 iOS 开发的核心概念,比如视图控制器生命周期、事件处理、数据绑定等。书中对 UIKit 框架的讲解非常细致,让我理解了如何构建复杂的用户界面,如何实现流畅的动画效果,以及如何处理各种用户交互。我特别欣赏书中关于网络请求和数据解析的部分,这对于开发需要与服务器交互的应用至关重要。此外,书中还提供了很多关于如何优化应用性能和提升用户体验的建议,这对于我来说是宝贵的财富。这本书不仅让我掌握了技术,更培养了我解决问题的能力和工程思维。
评分这本《iOS编程(第5版)》真是让我眼前一亮!我一直对移动应用开发充满兴趣,但又觉得入门门槛有些高,尤其是 Swift 语言和 iOS 的生态系统。这本书简直是为我量身定做的。它从最基础的概念讲起,比如 Xcode 的使用、界面布局的各种方式(Auto Layout 真是越用越觉得强大),到如何处理用户交互、管理数据,再到更深入的网络通信、多线程等,都讲解得非常透彻。我尤其欣赏作者的循序渐进,不会一下子抛出太多复杂的知识点,而是让你一步步打牢基础。书中的代码示例也非常贴近实际项目,跟着敲一遍,真的能感觉到自己动手能力在飞速提升。而且,书中对一些常见问题的解答和最佳实践的建议,让我少走了很多弯路。读完之后,我感觉自己对 iOS 开发的整体框架有了清晰的认识,信心也大增,迫不及待想开始我的第一个 App 项目了!
评分我是一位经验丰富的后端开发者,想尝试转型 into iOS 领域,所以对技术的深度和广度要求比较高。《iOS编程(第5版)》在这方面完全没有让我失望。它不仅仅是简单地介绍 API,而是深入剖析了 UIKit 的工作原理、MVC、MVVM 等设计模式的应用,以及如何构建可维护、可扩展的应用程序。书中对于内存管理、性能优化等高级话题也有详细的论述,这对于我这种习惯思考系统架构的人来说,非常受用。我特别喜欢其中关于 Combine 框架的讲解,响应式编程在 iOS 开发中的应用前景广阔,这本书能提供如此详尽的指南,实在是太难得了。同时,它也覆盖了 Core Data、Realm 等数据持久化方案的对比和选择,让我能够根据项目需求做出更明智的决策。总而言之,这是一本能够让你从“知道”到“理解”,再到“精通”的宝藏级读物,强烈推荐给有一定开发基础,希望深入了解 iOS 开发的同行。
评分作为一名业余爱好者,我一直希望能找到一本既能让我快速上手,又能让我理解背后原理的 iOS 开发书籍。《iOS编程(第5版)》做到了!我最喜欢的是它清晰易懂的语言风格,即使是刚接触编程的读者,也能轻松理解。书中的插图和图表也帮助我更好地理解复杂的概念,比如动画的实现原理、手势识别的流程等等。我跟着书里的例子,成功地创建了一个带有滑动菜单和列表的简单应用,这个过程充满了乐趣和成就感。让我特别惊喜的是,书中还介绍了一些实用的技巧,比如如何调试代码、如何使用版本控制工具 Git,这些都是开始独立开发必不可少的基础。这本书就像一个经验丰富的导师,一步步引导我探索 iOS 开发的奇妙世界,让我对移动开发充满了热情和好奇心。
评分不错的东西,性价比高,值得购买。
评分书籍很基础,作为参考使用,
评分哈哈哈好啊好哈哈哈好啊好哈哈哈好啊好哈哈哈好啊好哈哈哈好啊好哈哈哈好啊好哈哈哈好啊好哈哈哈好啊好
评分通俗易懂,最近转iOS,看了之后帮助很大!
评分既然京东自营的包装这么简陋,为什么快递人员不注意,书包总是要碰起角,希望京东给个说法?怎么办?
评分教材说的有点老了,推荐大家直接看swift版的吧。
评分还没看,还行吧,据说学学这个不错,但是现在搞小程序的话,这个还需要么?
评分之前一直只信任当当的书,这次买了,发现京东书也还可以。
评分既然京东自营的包装这么简陋,为什么快递人员不注意,书包总是要碰起角,希望京东给个说法?怎么办?
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有