描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787519803223
编辑推荐
本书讲解常用的Swift设计模式、Apple平台中应用的结构,还会说明如何把应用提交到App Store。构建真实可用的OS X和iOS应用,动手实践Swift编程语言。
内容简介
本书分为四部分,涵盖以下内容:Swift基础知识:学习Swift的面向对象特性,以及各种开发工具。OS X应用开发:规划应用,处理文档,然后构建各项功能。iOS应用开发:使用多媒体、联系人、位置、通知和iCloud 构建一个功能完善的iOS记事本应用。高级应用扩展:支持Apple Watch,学习如何调试、监控和测试全部三个Swift应用。
目 录
前言 …………………………………………………………………………………….1部分 Swift 基础第1章新手入门 …………………………………………………………………………….91.1 Apple开发者计划 ……………………………………………………………………….111.2 使用Xcode创建个项目 ………………………………………………………………..131.3 开发一个简单的Swift应用 ………………………………………………………………..261.4 使用iOS模拟器 …………………………………………………………………………301.5 小结 …………………………………………………………………………………32第2章 Swift基础 …………………………………………………………………………..332.1 Swift编程语言 …………………………………………………………………………342.2 Playground ……………………………………………………………………………362.3 注释 …………………………………………………………………………………382.4 流程控制 ……………………………………………………………………………..382.5 变量和常量 ……………………………………………………………………………422.6 运算符 ……………………………………………………………………………….432.7 类型 …………………………………………………………………………………442.8 处理字符串 ……………………………………………………………………………452.9 函数和闭包 ……………………………………………………………………………562.10 小结 ………………………………………………………………………………..63第3章 Swift面向对象应用开发…………………………………………………………………643.1 类和对象 ……………………………………………………………………………..643.2 结构体 ……………………………………………………………………………….773.3 模块 …………………………………………………………………………………783.4 Swift标准库、Foundation、Cocoa和Cocoa Touch ………………………………………………783.5 数据 ………………………………………………………………………………………………….793.6 错误处理 ……………………………………………………………………………………………813.7 内存管理 ……………………………………………………………………………………………833.8 Cocoa和Cocoa Touch 采用的设计模式 ………………………………………………………843.9 应用的结构 ………………………………………………………………………………………..883.10 小结 ………………………………………………………………………………………………..89第二部分 构建一个OS X应用第4章 构建OS X记事本应用的前期准备工作……………………………………93 4.1 设计这个OS X记事本应用…………………………………………………………………..934.2 创建OS X应用项目……………………………………………………………………………..974.3 定义文档类型 …………………………………………………………………………………..1014.4 添加图标 ………………………………………………………………………………………….1064.5 小结 ………………………………………………………………………………………………..108第5章 在OS X中处理文档 ………………………………………………………………………1095.1 NSDocument类 …………………………………………………………………………………1095.2 在文档中存储数据 …………………………………………………………………………….1105.3 存储文本 …………………………………………………………………………………………. 1115.4 基本的UI …………………………………………………………………………………………1205.5 小结 ………………………………………………………………………………………………..128第6章 用户界面和 iCloud ………………………………………………………………………1296.1 更新UI …………………………………………………………………………………………….1296.2 附件和文件扩展名的UI ……………………………………………………………………..1336.3 增强附件系统 …………………………………………………………………………………..1546.4 通过拖曳添加附件 …………………………………………………………………………….1596.5 iCloud ……………………………………………………………………………………………..1666.6 iCloud基础 ……………………………………………………………………………………….1676.7 小结 ………………………………………………………………………………………………..170第三部分 构建一个iOS应用第7章 构建iOS记事本应用的前期准备工作………………………………………..173 7.1 设计这个iOS应用 ……………………………………………………………………………..1747.2 创建iOS应用项目 ……………………………………………………………………………..1797.3 为iOS应用启用iCloud ………………………………………………………………………..1837.4 定义文档类型 …………………………………………………………………………………..1877.5 小结 ………………………………………………………………………………………………..189第8章 处理iCloud中的文件……………………………………………………………………………1908.1 应用沙盒 ………………………………………………………………………………………….1908.2 iCloud 的可用性 ………………………………………………………………………………1928.3 创建文档列表视图控制器 …………………………………………………………………..1928.4 定义 Document 类……………………………………………………………………………2048.5 列出文档 ………………………………………………………………………………………….2108.6 创建文档 ………………………………………………………………………………………….2188.7 从iCloud中下载文件 ………………………………………………………………………….2218.8 删除文档 ………………………………………………………………………………………….2258.9 重命名文档 ………………………………………………………………………………………2318.10 小结 ………………………………………………………………………………………………235第9章 在iOS中处理文档 ……………………………………………………………………………..2369.1 添加显示笔记的视图 …………………………………………………………………………..2369.2 编辑和保存文档 ……………………………………………………………………………….2449.3 小结 ………………………………………………………………………………………………..246第10章 处理文件和文件类型 …………………………………………………………………………..24710.1 设计附件的界面 ………………………………………………………………………………24710.2 列出附件 ………………………………………………………………………………………..25110.3 处理冲突 ………………………………………………………………………………………..26110.4 创建快速查看缩略图 ……………………………………………………………………….26710.5 小结 ………………………………………………………………………………………………269第11章 图像和删除 …………………………………………………………………………..27011.1 添加附件 ………………………………………………………………………………………..27011.2 添加图像附件 …………………………………………………………………………………27211.3 查看附件 ………………………………………………………………………………………..27711.4 删除附件 ………………………………………………………………………………………..28611.5 小结 ………………………………………………………………………………………………293第12章 支持iOS生态系统……………………………………………………………………………29412.1 通过UIActivityController实现分享 …………………………………………………………….29412.2 Handoff ………………………………………………………………………………………….29712.3 可搜索性 ………………………………………………………………………………………..30112.4 小结 ………………………………………………………………………………………………303第13章 扩展iOS应用 …………………………………………………………………………….30413.1 使用Spotlight索引扩展搜索………………………………………………………………30513.2 “今天”小组件 ………………………………………………………………………………31513.3 小结 ………………………………………………………………………………………………323第14章 多媒体、联系人、位置和通知………………………………………………………………….32414.1 位置附件 ………………………………………………………………………………………..32414.2 音频附件 ………………………………………………………………………………………..33814.3 视频附件 ………………………………………………………………………………………..35014.4 联系人附件 …………………………………………………………………………………….35614.5 通知 ………………………………………………………………………………………………36014.6 小结 ………………………………………………………………………………………………371第15章 改进这个iOS应用……………………………………………………………………………37215.1 朗读文本 ………………………………………………………………………………………..37215.2 在SFSafariViewController 中打开链接 ………………………………………………..37415.3 设置 ………………………………………………………………………………………………38015.4 撤销功能 ………………………………………………………………………………………..38115.5 图像滤镜 ………………………………………………………………………………………..38415.6 全球化应用 …………………………………………………………………………………….38815.7 辅助功能 ………………………………………………………………………………………..39615.8 分屏多任务 …………………………………………………………………………………….40015.9 小结 ………………………………………………………………………………………………401第四部分 扩展应用第16章 构建一个watchOS应用 ……………………………………………………….405 16.1 为Apple Watch 设计 ………………………………………………………………………….40616.2 设计我们的watchOS应用 ………………………………………………………………….40716.3 创建watchOS扩展 ……………………………………………………………………………40916.4 小结 ………………………………………………………………………………………………441第17章 代码质量和应用分发 …………………………………………………………………………44217.1 调试 ………………………………………………………………………………………………44217.2 Instruments …………………………………………………………………………………….44417.3 测试 ………………………………………………………………………………………………44917.4 在同一个项目中同时使用Objective-C和Swift ……………………………………..45317.5 App Store ……………………………………………………………………………………….45417.6 小结 ………………………………………………………………………………………………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。如果你觉得自身情况不在合理使用或上述允许的范围内,请通过邮件和我们联系,地址是[email protected] 。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 ,感谢他们细致且专业地审校。后,非常感谢你购买我们的书,谢谢你!如果你有什么要反馈,请联系我们。你可以发电子邮件给我们,地址是[email protected] ;也可以在Twitter 上联系@ thesecretlab(http://twitter.com/thesecretlab )。
评论
还没有评论。