《Swift Apprentice》写在前面的话

Swift Apprentice 7th cover.png
  • 写在前面的话
    • 需要准备的东西
    • 书中的源代码
    • 引言
  • 第一部分: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语言的底层机制。您将学习将类型系统与协议和泛型一起使用的更高级方法,并使用结果构建器和属性包装器等比较前沿的功能。本书最后有一章详细介绍了新的并发特性,这些特性现在已经成为该语言的一部分。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容