产品特色
编辑推荐
※“爱上Swift”系列书荣登2015年的年度好书排行榜,以其专注实战、学以致用的特色,成为Swift门类中受到读者喜爱的丛书。
※本书的内容迭代更新至Swift2.0版本,增加了60余页干货,主要讲解如何使用Swift语言开发App,是初学者从零起步学习App开发的佳选。
※在精细讲解基础知识之后,通过实践项目来讲解应用方法,帮助读者快速掌握知识。其中的图片素材和源代码可供下载,使你可以快速上手。
※作者拥有丰富的商业App开发经验,在书中,你可以学习到对你实际工作有所帮助的知识与经验,不让知识停留于书本。
※本书受到优酷土豆、蓝色光标、金山云、无限互联、西湖创客汇、至顶网的推荐。
※本书是慧科教育集团旗下泛IT职业教育培训机构“无限互联iOS培训机构”指定用书。
内容简介
《Swift语言实战精讲(第2版)》使用新的Swift 2.0语言通过案例精细讲解App开发的实战技巧。全书共分为两大部分。第一部分快速浏览基础知识,语法入门快人一步。第二部分包含14章,是实战技巧的重头戏,主要通过实例来介绍iOS图形用户界面的开发、数据存储、触摸和手势、动画、多媒体、网络通信设备朝向和移动、定位与地图、地址簿、短信、邮件、电话、本地化、推送通知、真机调试与iOS程序发布等高级开发技巧。一本书快速搞定商业化移动开发,适合想要学习用Swift语言进行App开发的工程师阅读。
作者简介
刘明洋,国内著名实战派iOS专家,拥有雄厚的iOS开发实力,是国内较早从事iOS 开发人群之一,项目实践经验丰富。计算机专业毕业后一直从事软件开发和管理工作。曾开发过武汉轻轨1号线LED乘客引导系统、天安门显示屏PLC监控系统。进行iOS开发多年,为企业定制上百款App,有几十款作品在App Store上架。
内页插图
精彩书评
※作者从大量实战经验出发,把自己当做一块海绵去吸收营养,然后将之总结并分享给读者,力求在知识点的广度和实用性之间取得平衡。程序开发本身就是一个研究的过程,在研究的道路上,希望这本书可以指引你达到新的高度。
——蓝色光标 集团CIO 武威
※作者本着崇本务实,授之以渔的理念,用600多页以来讲解Swift语言开发。作者在讲述每个知识点的时候都精心配置了示例代码,所有的示例代码均可运行。相信通过对本书的学习,广大iOS开发者一定能够打下坚实的Swift基础,用更高的效率开发出成功的App产品。
——金山云 合伙人/副总裁 朱桦
※作者在这次改版中做出的修改可谓用心良苦,相信每一次阅读,都能给予读者新的启示。通过对书中案例的领悟和练习,将其应用到各种实际开发过程中,读者必定可以在原有的基础上,对Swift语言有进一步的认识和了解,悟到Swift编程的精华,提高编程效率,编写出高性能的Swift应用程序。
——优酷土豆 集团副总裁 周盛
※本书除了讲解Swift 2.0语言基础知识外,还添加了许多Demo和商业项目用法。从培训角度全面讲解Swift 2.0语言,带领大家从实际着手,深入了解iOS移动开发的每一个环节。一本书,一次到位,让你可以直接对企业说“我能做”。
——无限互联CEO 熊彪
※市面上不乏关于Swift 2.0语言基础知识的书籍,但当我看到明洋的这本书稿时,我的第一感觉是,终于有这么一本系统全面地从实战的角度讲解Swift 2.0语言进行移动App开发的书籍了。他向广大Swift 2.0语言学习者和开发者分享了iOS商业开发方面的实战经验,帮助更多开发者快速学到优化产品性能的方法,以提升产品的用户体验。
——西湖创客汇理事长、杭州汇文董事长 戴立
※这是一本“端到端”的开发教程,从创建工程开始,一直覆盖到让App成功在App Store上架,可以说是手把手地与读者一起完成用Swift 2.0进行App开发的过程了。相信这本书能够对广大iOS开发者有所帮助,可以做到一书在手,Swift编程不愁。
——至顶网CEO 高飞
目录
第一部分 入 门
第1章 Swift开发入门
1.1 Swift概述 2
1.2 搭建开发环境 3
1.2.1 开发环境的要求 3
1.2.2 系统环境搭建 4
1.2.3 Xcode开发工具搭建 14
1.3 编写第一个程序 16
1.4 Swift代码分析 20
1.4.1 文件构成 20
1.4.2 标识符 21
1.4.3 关键字 22
1.4.4 注释和分号 23
1.4.5 代码的构成 23
1.5~1.6(字数原因略)
第2章 Swift与Cocoa
(字数原因略)
第二部分 实 战
第3章 UI基础
3.1 iOS开发平台限制和方式 141
3.2 iOS SDK介绍 144
3.3 Xcode 7.2 详细介绍 147
3.3.1 Xcode介绍 147
3.3.2 Interface Builder工具 154
3.3.3 模拟器 164
3.4 Auto Layout和Size Classes 169
3.4.1 Auto Layout 170
3.4.2 Size Classes 180
第4章 UI开发与控件
4.1 UIKit概述 185
4.1.1 UIScreen、UIView和UIWindow 185
4.1.2 界面旋转和大小处理 191
4.2 图片资源的使用 194
4.3 UILabel 203
4.4 UITextField 209
4.5 UIButton 219
4.6 UITableView 224
4.6.1 UITableView基本使用 225
4.6.2 UITableView高级使用 238
4.6.3 自定义UITableViewCell 245
4.6.4 创建分组表 250
4.7 UITextView 254
4.8 ~4.26(字数原因略)
第5章 读写应用程序数据
5.1 NSUserDefaults和对象归档 374
5.2 文件操作 381
5.3 SQLite3存储和读取数据 391
5.4 Core Data 410
5.5 iCloud存储 422
第6章 触摸和手势
6.1 触摸 423
6.2 手势 426
第7章 多媒体应用
7.1 照片选择 433
7.1.1 相册图片选择 435
7.1.2 拍照 440
7.1.3 PhotoKit详解 443
7.2 AV Foundation框架 448
7.2.1 系统声音 448
7.2.2 AV音频播放器 451
7.2.3 AV录音机 456
7.3 Media Player框架 461
第8章 动画
8.1 UIView动画 465
8.2 CATransition动画 469
8.3 transform属性实现动画 471
8.4 CABasicAnimation 474
8.5 CAKeyframeAnimation 475
第9章 网络通信
9.1 判断网络连接情况 478
9.2 网络请求JSON解析 489
9.3 Get和Post方式 494
9.4 NSURLSession加载数据、下载上传 499
第10章 检测设备朝向和移动
10.1 加速计和陀螺仪 506
10.2 判断设备方向和摇晃 509
第11章 定位处理与地图
11.1 CoreLocation 513
11.2 MapKit 523
第12章 地址簿、短信、电话、邮件
12.1 地址簿 531
12.2 短信、电话、邮件 546
第13章 iOS应用本地化
13.1 本地化字符串 551
13.2 本地化图像 557
13.3 本地化Xib文件和应用名称 559
第14章 OC汇编与迁移
14.1 Swift和OC互调 563
14.2 将Objective-C代码迁至Swift 565
第15章 真机调试和发布
15.1 真机调试 567
15.2 发布 581
15.2.1 创建证书和描述文件 581
15.2.2 上传提交审核 586
第16章 推送通知
16.1 本地推送 596
16.2 服务器推送 600
精彩书摘
※作者从大量实战经验出发,把自己当做一块海绵去吸收营养,然后将之总结并分享给读者,力求在知识点的广度和实用性之间取得平衡。程序开发本身就是一个研究的过程,在研究的道路上,希望这本书可以指引你达到新的高度。
——蓝色光标 集团CIO 武威
※作者本着崇本务实,授之以渔的理念,用600多页以来讲解Swift语言开发。作者在讲述每个知识点的时候都精心配置了示例代码,所有的示例代码均可运行。相信通过对本书的学习,广大iOS开发者一定能够打下坚实的Swift基础,用更高的效率开发出成功的App产品。
——金山云 合伙人/副总裁 朱桦
※作者在这次改版中做出的修改可谓用心良苦,相信每一次阅读,都能给予读者新的启示。通过对书中案例的领悟和练习,将其应用到各种实际开发过程中,读者必定可以在原有的基础上,对Swift语言有进一步的认识和了解,悟到Swift编程的精华,提高编程效率,编写出高性能的Swift应用程序。
——优酷土豆 集团副总裁 周盛
※本书除了讲解Swift 2.0语言基础知识外,还添加了许多Demo和商业项目用法。从培训角度全面讲解Swift 2.0语言,带领大家从实际着手,深入了解iOS移动开发的每一个环节。一本书,一次到位,让你可以直接对企业说“我能做”。
——无限互联CEO 熊彪
※市面上不乏关于Swift 2.0语言基础知识的书籍,但当我看到明洋的这本书稿时,我的第一感觉是,终于有这么一本系统全面地从实战的角度讲解Swift 2.0语言进行移动App开发的书籍了。他向广大Swift 2.0语言学习者和开发者分享了iOS商业开发方面的实战经验,帮助更多开发者快速学到优化产品性能的方法,以提升产品的用户体验。
——西湖创客汇理事长、杭州汇文董事长 戴立
※这是一本“端到端”的开发教程,从创建工程开始,一直覆盖到让App成功在App Store上架,可以说是手把手地与读者一起完成用Swift 2.0进行App开发的过程了。相信这本书能够对广大iOS开发者有所帮助,可以做到一书在手,Swift编程不愁。
——至顶网CEO 高飞
前言/序言
Swift语言实战精讲(第2版) [Swift 2.0] — 开启你的iOS开发之旅 本书并非一本简单的语言教程,而是为你量身打造的iOS应用开发实战指南。 它以Swift 2.0为核心,带领你深入理解这门现代、安全、高效的编程语言,并通过大量精心设计的实战案例,将理论知识融会贯通,最终帮助你独立构建功能丰富、用户体验出色的iOS应用程序。 你是否曾对iOS开发充满憧憬,却不知从何下手? 无论是对Swift 2.0的语法感到陌生,还是对iOS SDK的庞大体系望而却步,本书都将成为你坚实的后盾。我们深知,学习编程最有效的方式莫过于亲手实践。因此,本书将摒弃枯燥的理论堆砌,聚焦于“如何做”和“为什么这样做”,让每一个知识点都在真实的开发场景中得到淋漓尽致的展现。 本书的目标读者: 初学者: 对iOS开发感兴趣,希望系统学习Swift 2.0语言和iOS开发基础的开发者。 有其他语言基础的开发者: 希望快速掌握Swift 2.0并将其应用于iOS开发的程序员。 希望提升iOS开发技能的开发者: 想要巩固Swift 2.0基础,学习更高级的开发技巧和最佳实践的现有iOS开发者。 对移动应用开发感兴趣的任何人: 只要你对创造属于自己的移动应用充满热情,本书都将为你提供一条清晰的学习路径。 本书核心亮点: 1. Swift 2.0语言精讲,循序渐进: 从零开始,打牢基础: 我们将从Swift 2.0最基本的概念讲起,包括变量、常量、数据类型、运算符、控制流等。每一个概念都会配合简洁明了的代码示例,让你快速理解并上手。 面向对象编程的精髓: 深入剖析类(Class)、结构体(Struct)、枚举(Enum)、协议(Protocol)等面向对象的核心概念,并讲解如何利用继承、多态、封装等特性构建清晰、可维护的代码。 函数式编程的魅力: 介绍Swift 2.0中强大的函数式编程特性,如闭包(Closures)、高阶函数(Higher-Order Functions),让你学会编写更简洁、更具表达力的代码。 错误处理机制: 重点讲解Swift 2.0引入的`do-catch`、`try`、`throw`等错误处理机制,让你能够编写出健壮、能够优雅处理异常的应用。 泛型(Generics)的应用: 学习如何使用泛型来编写灵活、可复用的代码,减少代码冗余,提高代码的类型安全性。 集合类型(Arrays, Dictionaries, Sets)的深入: 掌握Swift 2.0中丰富的集合类型,以及它们的高效操作方法。 可选类型(Optionals)的理解与运用: Swift 2.0中独具特色的可选类型是处理可能为nil值的关键,本书将详细讲解其原理和安全使用技巧。 2. iOS SDK核心组件实战: UIKit框架的掌握: 这是iOS应用开发的基石。本书将带领你深入理解UIKit中的关键组件,包括: UI元素: `UILabel`, `UIButton`, `UITextField`, `UITextView`, `UIImageView`, `UITableView`, `UICollectionView` 等常用控件的创建、配置与交互。 视图控制器(View Controllers): 学习`UIViewController`的生命周期,视图的加载与管理,以及如何在不同视图之间进行导航。 视图层级(View Hierarchy): 理解视图的嵌套关系,以及如何进行布局和约束。 事件处理: 掌握如何响应用户的触摸、滑动等手势,以及如何处理系统事件。 导航控制器(Navigation Controllers)与标签控制器(Tab Bar Controllers): 构建多屏幕应用的关键。 模态视图(Modal Views): 实现弹出式界面和信息输入。 Auto Layout与尺寸适配: 掌握使用Auto Layout(自动布局)和`NSLayoutConstraint`来创建能够适应不同屏幕尺寸和方向的界面,让你的应用在各种设备上都能呈现最佳效果。 数据持久化: 学习如何在应用中存储和读取数据,包括: UserDefaults: 存储少量简单数据。 文件存储: 直接读写文件,用于存储更复杂的数据结构。 Core Data: 强大的对象图管理框架,用于构建复杂的本地数据库。 Realm: 一个现代化的移动数据库,提供比Core Data更简洁易用的API。 网络编程: URLSession: 使用Apple提供的官方框架进行HTTP请求,从网络获取数据。 JSON解析: 学习如何将从网络获取的JSON数据解析成Swift对象,并反之亦然。 API交互: 实践如何与RESTful API进行交互,构建能够与服务器通信的应用。 多线程与并发: GCD(Grand Central Dispatch): 学习使用GCD来管理并发任务,避免UI阻塞,提升应用性能。 Operation Queues: 另一种强大的并发管理工具,提供更灵活的任务控制。 其他重要技术: Core Graphics/Core Animation: 实现自定义绘图和动画效果。 Delegate模式: 理解并应用iOS开发中广泛使用的委托模式。 Notifications: 实现组件间的解耦通信。 数据绑定: 探索如何实现数据模型与UI的自动同步。 3. 由浅入深,精选实战案例: 本书精选了多个涵盖不同领域和难度的iOS应用开发案例,每个案例都围绕着一个或多个核心技术点展开,让你在解决实际问题的过程中掌握知识。 从简单的“待办事项列表”到“天气查询应用”,再到“图片浏览与编辑工具”,直至更复杂的“社交分享应用”或“简易电商平台”等。 每个案例都将详细拆解开发步骤,包括需求分析、UI设计、代码实现、功能测试等。 你会学习到如何组织项目结构,如何编写可读性强、易于维护的代码,以及如何调试和优化应用。 我们不仅会告诉你“怎么做”,更会深入剖析“为什么这样做”,让你理解背后的设计思想和技术权衡。 4. 深入探讨iOS开发最佳实践: MVC(Model-View-Controller)设计模式: 深刻理解并实践MVC模式,构建清晰分层的应用程序。 代码规范与重构: 学习如何编写符合行业标准的、易于阅读和维护的代码,并掌握代码重构的技巧。 性能优化: 了解如何识别和解决应用性能瓶颈,提升应用的响应速度和流畅度。 内存管理: 理解Swift 2.0的内存管理机制,避免内存泄露。 单元测试与集成测试: 学习编写测试用例,保证代码的质量和稳定性。 5. 面向Swift 2.0的全面支持: 本书紧密围绕Swift 2.0语言特性进行讲解,确保你学习到的知识是最新的、最符合该版本要求的。 通过本书的学习,你将能够完全自信地使用Swift 2.0进行iOS应用开发,并为未来向更新版本的Swift迁移打下坚实基础。 为何选择本书? 在浩如烟海的编程书籍中,本书的独特之处在于其“实战为王”的理念。我们相信,最好的学习方法就是去构建,去解决问题。本书摒弃了那些只停留在理论层面的讲解,而是将你置于真实的开发场景中,让你在编写代码、调试错误、完成功能的过程中,真正掌握Swift 2.0和iOS开发的核心技能。 本书并非要你成为“代码搬运工”,而是要你成为一个“问题解决者”和“创造者”。 我们将引导你理解代码背后的逻辑,培养解决复杂问题的能力,并最终让你能够独立构思和实现自己的iOS应用创意。 准备好踏上你的iOS开发之旅了吗? 翻开《Swift语言实战精讲(第2版) [Swift 2.0]》,让我们一起用代码改变世界,创造属于你的精彩!