- 写在前面的话
- 需要准备的东西
- 书中的源代码
- 引言
- 第一部分:Swift基础知识
- 第一章:表达式,变量和常量
- 第二章:数据类型与操作符
- 第三章:基本控制流
- 第四章:高级控制流
- 第五章:函数
- 第六章:可选项
- 第二部分:集合类型
- 第七章:数组,字典和集合
- 第八章:带闭包的集合迭代
- 第九章:字符串
- 第三部分:自定义类型
- 第十章:结构体
- 第十一章:属性
- 第十二章:方法
- 第十三章:类
- 第十四章:高级类
- 第十五章:枚举
- 第十六章:协议
- 第十七章:范型
- 第四部分:进阶
- 第十八章:访问控制、代码结构和测试
- 第十九章:自定义操作符,下标和Keypaths
- 第二十章:结果生成器
- 第二十一章:模式匹配
- 第二十二章:错误处理
- 第二十三章:编码和解码类型
- 第二十四章:内存管理
- 第二十五章:值类型和引用类型
- 第二十六章:属性包装器
- 第二十七章:面向协议的编程
- 第二十八章:高级协议和范型
- 第二十九章:并发
需要准备的东西
如果要学习本书的课程,您需要具备以下内容:
- 一台运行macOS Big Sur 11.6或更高版本的Mac。确保已经更新到了最新版本并且安装了安全补丁。这样您就可以安装最新版本的开发工具:Xcode。
-
Xcode 13或更高版本。Xcode是编写Swift代码的主要开发工具。您至少需要Xcode 13,因为该版本包括Swift 5.5 Xcode playgrounds。您可以从Mac App Store上免费下载最新的版本,点击这里:https://apps.apple.com/cn/app/xcode/id497799835?mt=12
如果您还没有安装最新版本的Xcode,确保在阅读本教程之前已经将Xcode版本更新到最新状态。本书当中涵盖的所有代码都是基于Swift 5.5和Xcode 13的——如果您使用了比较老的版本或使用playground意外的环境可能会遇到一些问题。
书中的源代码
这本书的资料都可以在GitHub存储库中找到:
您可以从这个页面下载这本书的全部资料
引言
欢迎来到Swift Apprentice,全部内容已经更新到Xcode 13和Swift 5.5了。
在过去的几年中,Swift已经从苹果公司的一个秘密项目变成了一种全面、开源、社区驱动的语言。并将继续完善其核心目标,即成为一种兼顾安全性、速度和表现力的通用语言。
尽管Swift具有进步性和行业优势,同样,这门语言对于编程初学者来说也是一个极好的入门语言,因为Xcode提供了一个沙盒环境,您可以在无需创建整个项目的前提下,直接执行Swift语句来尝试各种功能。
来自全世界的开发者使用Swift开发为iOS,iPadOS,macOS,tvOS和watchOS开发来成千上万的神奇应用。Swift同样可以部署在非苹果平台的服务端。这就意味者,当您增加您的开发技能并且有一天成为一个开发者的时候,您从这本书当中学到的内容将非常有用。
您将学习到像常量,变量,操作符和数据类型这样的基础知识,然后提升到像结构体,枚举和类这样的过度概念。最后,您将深入了解协议扩展,自定义运算符,面向协议编程和泛型。Swift可以让你将本书当中提到的现实问题抽象出来并加以解决。
Swift语言同样非常有趣!它能够非常轻松地用一小段代码实验您的新想法。编程本身就是需要实际动手的事情,Swift使得学习本书当中的内容和探索自己的想法变得轻松和快捷。
目标读者
如果您是一个完完全全的初学者,这本书就是为您准备的。为了给您提供编程练习来测试您所学到知识是否牢固,小的的练习和挑战将贯穿全书。
如果您想在学习Swift语言的同时就能直接进行iOS应用程序的开发,我们推荐raywenderlich.com团队的《SwiftUI by Tutorials》。SwiftUI是非常易学的,您甚至可能用一些示例代码构建一两个简单的应用程序。当您读完本书的时候可能想知道,为什么在一个基本的SwiftUI应用中有很多没有见过的语法。这包括属性属性包装器@State和@ObservedObject,不透明返回类型,和结果构造器。虽然最终会介绍属性包装器和不透明返回类型,但它们是高级语言功能,需要相当多的背景知识才能理解其内部的工作原理。幸运的是,使用它们却很容易,《SwiftUI by Tutorials》将会告诉您如何使用它们。
如何使用本书
本书的每一章节都会描述原理并且提供了相应的示例代码。
因为本书是为初学者准备的,因此我们希望您在第一次阅读时能够按照顺序阅读。之后,这本书将成为一本很好的参考书,能够使您温故而知新。
本书当中所有的代码都是与平台无关的,它不特定于iOS,macOS或任何其他平台。代码运行在playgrounds中,您将在第一章中了解这一点。
当您通读这本书时,您可以跟随书的内容并将相应的代码敲入playgrounds中。这意味着您能够非常容易地改变代码来做各种尝试,并能够立即看到对应的结果。
在整本书中,您会发现许多的迷你小练习,这是关于当前主题的简短练习。在每一章节的最后部分,同样会有一些挑战。这些要么是编程问题,要么是更加扩展的编码练习,用于测试您所学到的知识。如果您想充分利用这本书,就做完这些练习和挑战吧。
本书的内容
这本书由四个部分组成。每个部分都有一个简短的介绍,用于描述其章节、主题和该部分的重要题材。以下是本书各部分的简要概述:
第一部分:Swift基础知识
本书的第一部分从计算环境开始:首先,计算机时如何工作的,然后是Swift的playgrounds功能是如何工作的。了解了这些原理之后,您将学习Swift语言的基础知识,并学习管理数据,构建代码,执行简单操作和计算,处理数据类型的基础知识。
第二部分:集合类型
存储的数据是任何应用程序的核心组件,无论是社交应用程序中的朋友列表,还是热门游戏中的一组可解锁的角色。在这部分中,您将了解如何在Swift中存储数据集合。
第三部分:自定义类型
Swift预带了基本的数据类型,但它真正的强大在于您可以创建自定义的数据类型为应用程序的各个部分建模。Swift对于可玩的角色,怪物,能量一无所知——这些东西需要您自己去创建!在这一部分,您将会学到如何自定义数据类型。
第四部分:进阶
本书的最后一部分涵盖了很多Swift进阶的内容。您将会学到一些特定的内容,例如如何处理代码运行时出现的问题,以及内存管理等更一般的内容,这将会帮助您理解Swift语言的底层机制。您将学习将类型系统与协议和泛型一起使用的更高级方法,并使用结果构建器和属性包装器等比较前沿的功能。本书最后有一章详细介绍了新的并发特性,这些特性现在已经成为该语言的一部分。