产品特色
编辑推荐
本书讲解常用的Swift设计模式、Apple平台中应用的结构,还会说明如何把应用提交到App Store。构建真实可用的OS X和iOS应用,动手实践Swift编程语言。
内容简介
《Swift学习手册》分为四部分,涵盖以下内容:Swift基础知识:学习Swift的面向对象特性,以及各种开发工具。OS X应用开发:规划应用,处理文档,然后构建各项功能。iOS应用开发:使用多媒体、联系人、位置、通知和iCloud 构建一个功能完善的iOS记事本应用。高级应用扩展:支持Apple Watch,学习如何调试、监控和测试全部三个Swift应用。
目录
前言 1
第一部分 Swift 基础
第1章新手入门 9
11 Apple开发者计划 11
12 使用Xcode创建第一个项目 13
13 开发一个简单的Swift应用 26
14 使用iOS模拟器 30
15 小结 32
第2章 Swift基础 33
21 Swift编程语言 34
22 Playground 36
23 注释 38
24 流程控制 38
25 变量和常量 42
26 运算符 43
27 类型 44
28 处理字符串 45
29 函数和闭包 56
210 小结 63
第3章 Swift面向对象应用开发64
31 类和对象 64
32 结构体 77
33 模块 78
34 Swift标准库、Foundation、Cocoa和Cocoa Touch 78
35 数据 79
36 错误处理 81
37 内存管理 83
38 Cocoa和Cocoa Touch 采用的设计模式 84
39 应用的结构 88
310 小结 89
第二部分 构建一个OS X应用
第4章 构建OS X记事本应用的前期准备工作93
41 设计这个OS X记事本应用93
42 创建OS X应用项目97
43 定义文档类型 101
44 添加图标 106
45 小结 108
第5章 在OS X中处理文档 109
51 NSDocument类 109
52 在文档中存储数据 110
53 存储文本 111
54 基本的UI 120
55 小结 128
第6章 用户界面和 iCloud 129
61 更新UI 129
62 附件和文件扩展名的UI 133
63 增强附件系统 154
64 通过拖曳添加附件 159
65 iCloud 166
66 iCloud基础 167
67 小结 170
第三部分 构建一个iOS应用
第7章 构建iOS记事本应用的前期准备工作173
71 设计这个iOS应用 174
72 创建iOS应用项目 179
73 为iOS应用启用iCloud 183
74 定义文档类型 187
75 小结 189
第8章 处理iCloud中的文件190
81 应用沙盒 190
82 iCloud 的可用性 192
83 创建文档列表视图控制器 192
84 定义 Document 类204
85 列出文档 210
86 创建文档 218
87 从iCloud中下载文件 221
88 删除文档 225
89 重命名文档 231
810 小结 235
第9章 在iOS中处理文档 236
91 添加显示笔记的视图 236
92 编辑和保存文档 244
93 小结 246
第10章 处理文件和文件类型 247
101 设计附件的界面 247
102 列出附件 251
103 处理冲突 261
104 创建快速查看缩略图 267
105 小结 269
第11章 图像和删除 270
111 添加附件 270
112 添加图像附件 272
113 查看附件 277
114 删除附件 286
115 小结 293
第12章 支持iOS生态系统294
121 通过UIActivityController实现分享 294
122 Handoff 297
123 可搜索性 301
124 小结 303
第13章 扩展iOS应用 304
131 使用Spotlight索引扩展搜索305
132 “今天”小组件 315
133 小结 323
第14章 多媒体、联系人、位置和通知324
141 位置附件 324
142 音频附件 338
143 视频附件 350
144 联系人附件 356
145 通知 360
146 小结 371
第15章 改进这个iOS应用372
151 朗读文本 372
152 在SFSafariViewController 中打开链接 374
153 设置 380
154 撤销功能 381
155 图像滤镜 384
156 全球化应用 388
157 辅助功能 396
158 分屏多任务 400
159 小结 401
第四部分 扩展应用
第16章 构建一个watchOS应用 405
161 为Apple Watch 设计 406
162 设计我们的watchOS应用 407
163 创建watchOS扩展 409
164 小结 441
第17章 代码质量和应用分发 442
171 调试 442
172 Instruments 444
173 测试 449
174 在同一个项目中同时使用Objective-C和Swift 453
175 App Store 454
176 小结 457
前言/序言
欢迎阅读本书!我们将为Apple 的 OS X 、iOS 和 watchOS 平台开发一个笔记应用,让你实践Swift 编程语言。
Swift 是一门出色的现代语言,借鉴了其他新式语言的最佳实践,而没有重新发明轮子。Swift 易于编写、易于学习,极难犯错。
我们认为,学习Swift 的最佳方法是使用它构建应用。不过,若想构建应用,需要趁手的框架,而Apple 为我们提供了好多,例如Cocoa、Cocoa Touch 和WatchKit 。本书的书名也可以改成“通过
Swift 学习Cocoa 和Cocoa Touch”,因为框架和语言本身同等重要。写作本书时,Swift 的当前版本是2.2,而且未来一片光明。
书中使用的资源
我们建议你在阅读每一章的同时自己动手编写代码。如果卡住了,或者想获取一份代码,可以访问我们的网站(http://www.secretlab.com.au/books/learning-swift )。
本书的目的是教你构建真实的应用,主要集中讲解代码,不是让你设计图标,我们已经为你准备好了。图标也可以从我们的网站中下载。
本书面向的读者和教学方式
本书只讲Swift ,不涉及Objective-C 。我们偶尔会提及后者,但是不要求你知道如何使用它。本书先讲Swift 的基础知识,然后分别为OS X 和iOS 构建一个完整的应用,在这个过程中学习Cocoa、
Cocoa Touch 和watchOS 框架。注意,Swift 是编程语言,Cocoa 是开发OS X 应用的框架,Cocoa Touch 是开发 iOS 应用的框架,而watchOS 是开发 Apple Watch 应用的框架。
本书采用的教学方式与其他编程书不同。前面说过,我们认为学习Swift 的最佳方法是使用它构建应用。我们假定你有一定的编程基础,但是不假设你曾为OS X 或iOS 做过开发,或者之前用过Swift
或Objective-C。我们还假设你能熟练操作 OS X 和 iOS。
本书结构
本书将分别讨论 OS X 和 iOS 使用的 Cocoa 和Cocoa Touch 框架。在这个过程中,我们
还将说明Swift 的句法和特性等。第一部分先介绍Swift 编程工具和 Apple 开发者计划,然后介绍Swift 编程语言的基础知识和Apple 平台中程序的结构,以及常用的设计模式。
第1 章简要介绍 Apple 的开发者计划,带你构建一个简单的Swift 应用。第2 章探讨Swift 基础知识,准备使用它构建复杂的应用。第3 章讨论Swift 的面向对象特性,以及一个好的应用应该具有的
结构。第二部分为Mac OS X 构建一个简单的笔记应用。在这个过程中,我们将讨论应用的设计、
结构,说明如何处理文档,以及如何构建所有功能。第4 章开始构建OS X 笔记应用,准备文档模型和图标。第5 章详细说明如何在OS X 应用中处理文档。第6 章把应用与iCloud 连接起来,完成整个
应用。第三部分构建一个功能完整的iOS 笔记应用,作为第二部分那个OS X 应用的配备。第7 章开始构建iOS 笔记应用,准备与iOS 应用一样的文档模型。第8 章把 iOS 应用与iCloud 连接起来。第
9 章创建显示笔记的界面。第10 章在iOS 应用中处理附件。第11 章为iOS 应用添加图像支持。第12 章为iOS 应用添加分享和搜索功能。
第13 章为iOS 应用添加一个“今天”小组件。第14 章为iOS 应用添加位置、音频、视频和联系人附件,以及通知。第15 章对iOS 应用做些改进。第四部分构建一个watchOS 应用,并且探讨缺陷追查
和性能调优。第16 章为iOS 应用添加一个watchOS 应用,提供Apple Watch 支持。第17 章探讨调试和性能调优。
排版约定
本书使用了下述排版约定。
斜体(Italic)表示新术语、URL、电子邮件地址、文件名和扩展名。
等宽字体(Constant.Width)表示代码清单,在段落中出现则表示程序元素,例如变量、函数名、数据库、数据类型、环境变量、语句和关键字。
粗体等宽字体(Constant.width.bold)表示应该由用户输入的命令或其他文本。
斜体等宽字体(Constant Width Italic)表示应该替换成用户提供的值,或者由上下文决定的值。
这个图标表示提示或建议。
这个图标表示一般性说明。
这个图标表示警告或提醒。
使用代码示例
本书的补充资料(代码示例、练习、勘误等)可以从这个地址下载:http://secretlab. com.au/books/learning-swift。
本书的目的是帮助你完成工作。一般来说,你可以在自己的程序或者文档中使用本书附带的示例代码。你无需联系我们获得使用许可,除非你要复制大量的代码。例如,使用本书中的多个代码片段编
写程序就无需获得许可。但以CD-ROM 的形式销售或者分发O’Reilly 书中的示例代码则需要获得许可。回答问题时援引本书内容以及书中示例代码,无需获得许可。在你自己的项目文档中使用本书大
量的示例代码时,则需要获得许可。
我们不强制要求署名,但如果你这么做,我们深表感激。署名一般包括书名、作者、出版社和国际标准图书编号。例如:Learning Swift by Jonathon Manning, Paris Buttfield-Addison, and Tim
Nugent (O’Reilly). Copyright 2016 Secret Lab, 978-1-491-94074-7。
如果你觉得自身情况不在合理使用或上述允许的范围内,请通过邮件和我们联系,地址是permissions@oreilly.com 。
Safari. Books Online
Safari Books Online(http://safaribooksonline.com)是应需而变的数字图书馆,它同时以图书和视频的形式出版世界顶级技术和商务作家的专业作品。
Safari Books Online 是技术专家、软件开发人员、Web 设计师、商务人士和创意人士开展调研、解决问题、学习和认证培训的第一手资料来源。
Safari Books Online 为企业(https://www.safaribooksonline.com/enterprise/ )、政府部门(https://www.safaribooksonline.com/government/ )、教育机构(https://www.
safaribooksonline.com/academic-public-library/ )和个人提供了多种套餐和价格(https:// www.safaribooksonline.com/pricing/ )。
订阅者可以在一个完全可搜索的全文数据库中访问上千种图书、培训视频和正式出版之前的书稿。这些内容由以下出版社提供:O’Reilly Media 、Prentice Hall Professional 、Addison-Wesley
Professional 、Microsoft Press 、Sams、Que、Peachpit Press 、Focal Press、Cisco Press 、John Wiley & Sons 、Syngress、Morgan Kauf-mann 、IBM Redbooks、Packt、Adobe Press 、FT
Press 、Apress、Manning、New Riders 、McGraw-Hill、Jones & Bartlett 、Course Technology 等(https://www.safaribooksonline.com/our-library/ )。关于Safari Books On-line 的更多
信息,请访问我们的网站(http://www. safaribooksonline.com)。
联系方式
请把你对本书的意见和疑问发给出版社:
美国:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)
奥莱利技术咨询(北京)有限公司
这本书有专属网页,你可以在那儿找到本书的勘误、示例和其他信息。这个网页的地址是http://shop.oreilly.com/product/0636920045946.do 。
如果你对本书有一些评论或技术上的建议,请发送电子邮件到bookquestions@oreilly. com。
要了解O’Reilly 图书、培训课程、会议和新闻的更多信息,请访问我们的网站,地址是http://www.oreilly.com 。
我们在Facebook 的地址:http://facebook.com/oreilly
请关注我们的Twitter 动态:http://twitter.com/oreillymedia
我们的YouTube 视频地址:http://www.youtube.com/oreillymedia
致谢
Jon 要感谢双亲和诸位家庭成员给予的巨大支持。
Paris 要感谢他的母亲,没有她几乎任何事情都引不起他的兴趣,更别说写一本书了。
Tim 要感谢双亲和家庭容忍他平淡无奇的生活。
我们三人要感谢编辑Rachel Roumeliotis 和Brian MacDonald,他们的技能和建议对这本书的完成起了至关重要的作用。此外,撰写本书的过程中,我们与O’Reilly Media 的很多人有联系,他们都
是各自领域的专家。
非常感谢Tony Gray 和Apple University Consortium(AUC)给我们提供的极大帮助,以及这里列出的其他人。如果没有他们,我们不可能写出这本书。现在,你也在写书了,Tony ,祝你好运!
还要感谢Neal Goldstein,是他联系我们,把我们带上了写书这条路。
感谢MacLab 给予的支持(谁知道他们是谁,他们一直在看终将神化的Admiral Dolphin),感谢Christopher Lueg 教授、Leonie Ellis 博士和塔斯马尼亚大学的其他员工,感谢他们容忍我们。向
Mark Pesce“致歉”,他知道个中缘由。
此外,要感谢Rex S. 、Nic W. 、Andrew B. 、Jess L. 和Ash J. ,原因有很多。特别感谢Steve Jobs,没有他就没有这本书(以及很多类似的书)。
感谢技术审校,尤其是 Chris Devers 和 Tony Gray ,感谢他们细致且专业地审校。
最后,非常感谢你购买我们的书,谢谢你!如果你有什么要反馈,请联系我们。你可以发电子邮件给我们,地址是lab@secretlab.com.au ;也可以在Twitter 上联系@ thesecretlab
(http://twitter.com/thesecretlab )。
Swift学习手册 电子书 下载 mobi epub pdf txt