本系列所有内容来自Hacking with Swift 的100 Days of SwiftUI
SwiftUI 已经提上了我的学习日程,我将跟随这个课程进行学习,同时也将此课程做简要翻译,希望更多的人能够更好的学习,课程内包含大量视频(在YouTube上),需要观看视频的同学,请自行科学上网进入原课程观看。
欢迎来到SwiftUI的100天!这是一个免费的视频,教程,测试等集合,所有内容都是从我在此处的有关使用Swift进行黑客攻击的工作中汲取的,旨在帮助您有效地学习SwiftUI。该课程专门针对希望学习构建真正的iOS应用程序,但又难以找到可以帮助他们实现目标的免费课程的初学者。如果是这样,欢迎您-我希望您准备好向iOS世界展示您的作品!如果您正在寻找我最初的[100 Days of Swift 请单击此处](https://www.hackingwithswift.com/100
——100 Days of SwiftUI和100 Days of Swift共享相同的15天的Swift简介相关课程,但是其中一个专注于SwiftUI,而另一个专注于UIKit,SpriteKit,等。
PS:如果您有任何疑问,请问我-我在这里为您提供帮助!(这是作者的推特,也可以直接留言,我会尽量解答)
规则 Rules
如果您想成功完成本课程,则只有两个规则:
- 1、每天您花一个小时阅读或观看SwiftUI教程,或编写SwiftUI代码。
- 2、您每天都会将自己的进度发布到您选择的社交媒体网站上。告诉别人!
我将提供您需要遵循的所有材料,因此您需要做的就是准备好学习。
我已尝试确保每天完成的时间肯定少于一小时,因此,如果您有使用Swift的经验,那么希望您能在这一目标下顺利完成每一天。
提示 Tips
我遇到了很多尝试并未能成功学习Swift的人,很多次,而且如果您在其中,很可能已经有了一些错误的开始。
这次不会了。这次,您将真正学习它,并且在短短100天内,您将构建许多值得骄傲的完整应用程序。
您已经阅读了这100天的两条规则,但是为了最大程度地利用这门课程,我有几点提示:
- 1、这是一场马拉松,而不是短跑。不要早早认为自己是“学得更快的人(learning faster)”,因为很可能会迷路。慢慢来!
- 2、不要变成新奇事物综合征的牺牲品。我知道,在另一门课程上花费50元的诱惑力很高,但是您不会通过买书学到任何东西。您最大的成功机会就是在此处坚持100天,并使之真正发挥作用。
- 3、不要孤军奋战。您并不是一个人在学习——与其他许多人一样,我在这里为您提供帮助。如果您有任何疑问,请通过@twostraws发推文,我会尽力帮助您!
- 4、使用一定时间巩固。在整个100天中间隔一定的时间,使您有时间回顾所学到的内容并真正掌握它们。使用这些间隔时间,可以回去学习某些未掌握的课程,完成您错过的任何家庭作业或自由编写一些代码。
- 5、我有一个Swift常用术语的词汇表,您应该添加书签以方便参考。
- 6、如果您沉迷于某些SwiftUI代码,则应参阅我的免费在线图书《 SwiftUI示例》——它包含300多页的示例代码和SwiftUI解决方案。
- 7、从App Store下载我的Unwrap应用程序。它可在iPhone和iPad上使用,包含本课程的前12天以及许多额外活动,并且免费,无需应用内购买。(使用手机打开该网址,或者直接在App Store 搜索 Unwrap)
- 8、SwiftUI是非常新的,有时会给您错误消息,这些错误消息具有误导性或完全错误。如果您觉得很难,不用担心,您会解决的!
- 9、您无需安装Catalina即可使用SwiftUI构建应用。Catalina可以在不运行模拟器的情况下即时预览设计,但是您仍然可以使用Mojave构建SwiftUI应用。(这是指Mac OS)
课程内容 The Course
Days 1-12:Swift简介
前12天为您的SwiftUI学习提供了一个温和的热身,因为我们涵盖了Swift编程语言的所有基础知识。您每天都会观看精选的一分钟视频,并完成有关每个视频的简短测验。
如果您已经完成了100 Days of Swift,则可以跳过前15天,因为它们是相同的。
-
Day 1 – 变量(
variables
),简单数据类型(simple data types
)和字符串插值(string interpolation
) -
Day 2 – 数组(
arrays
),字典(dictionaries
),集合(sets
)和枚举(enums
) -
Day 3 – 运算符(
operators
)和条件控制(conditions
) - Day 4 – 循环 (loops, loops, and more loops)
-
Day 5 – 函数(
functions
),参数(parameters
)和错误(errors
) -
Day 6 – 闭包(
closures
)第一部分 -
Day 7 – 闭包(
closures
)第二部分 -
Day 8 – 结构体(
structs
),属性(properties
)和方法(methods
) -
Day 9 – 访问控制(
access control
),静态属性(static properties
)和惰性(laziness
) -
Day 10 – 类(
classes
)和继承(inheritance
) -
Day 11 – 协议(
protocols
),扩展(extensions
) 和 协议扩展 (protocol extensions
) -
Day 12 – 可选(
optionals
),解包(unwrapping
)和类型转换(typecasting
)
Days 13-15: 巩固 Ⅰ
您仅在12天之内就学到了很多有关Swift的知识,因此在继续之前,重要的是您要反思自己学到的东西:寻找弱点,重新观看视频,重新参加测试等,直到您感到自在您已经掌握了第1至12天中涵盖的所有Swift语言基础知识。
Days 16-24: 开始 SwiftUI
掌握了Swift的基础知识之后,这些天,您将开始使用所学的知识来构建真正的SwiftUI应用。
- Day 16 – Project 1, part one
- Day 17 – Project 1, part two
- Day 18 – Project 1, part three
- Day 19 – Challenge day
- Day 20 – Project 2, part one
- Day 21 – Project 2, part two
- Day 22 – Project 2, part three
- Day 23 – Project 3, part one
- Day 24 – Project 3, part two
Day 25: 巩固 II
在过去的几天中,我们介绍了iOS开发的一些基础知识,在继续进行下一组项目之前,重要的是退后一步,回顾一下您学到的知识。
Day 25 – 里程碑:项目1-3
Days 26-34: 扩展你的技能
在接下来的三个项目中,我们将朝着新的方向发展您的SwiftUI技能,同时也使您有机会练习基础知识。
- Day 26 – Project 4, part one
- Day 27 – Project 4, part two
- Day 28 – Project 4, part three
- Day 29 – Project 5, part one
- Day 30 – Project 5, part two
- Day 31 – Project 5, part three
- Day 32 – Project 6, part one
- Day 33 – Project 6, part two
- Day 34 – Project 6, part three
Day 35: 巩固 III
现在,您的SwiftUI技能已经开始巩固,现在该回顾一下我们介绍的所有新内容,并开始忙于自己的另一个项目。
Day 35 – 里程碑:项目4-6
Days 36-46: 扩展到更大的应用程序
您的SwiftUI核心技能很强,因此是时候超越基础知识并开始构建更大的应用程序了。
- Day 36 – Project 7, part one
- Day 37 – Project 7, part two
- Day 38 – Project 7, part three
- Day 39 – Project 8, part one
- Day 40 – Project 8, part two
- Day 41 – Project 8, part three
- Day 42 – Project 8, part four
- Day 43 – Project 9, part one
- Day 44 – Project 9, part two
- Day 45 – Project 9, part three
- Day 46 – Project 9, part four
Days 47-48: 巩固 IV
您现在已经掌握了一些重量级技能,因此在进行下一步之前,是时候回顾一下所涵盖的内容,详细介绍一些主题并面临新的挑战。
Days 49-59: 专注于数据
在这些项目中,我们将开始更加仔细地研究如何在SwiftUI应用程序中发送,检索和存储数据。
- Day 49 – Project 10, part one
- Day 50 – Project 10, part two
- Day 51 – Project 10, part three
- Day 52 – Project 10, part four
- Day 53 – Project 11, part one
- Day 54 – Project 11, part two
- Day 55 – Project 11, part three
- Day 56 – Project 11, part four
- Day 57 – Project 12, part one
- Day 58 – Project 12, part two
- Day 59 – Project 12, part three
Days 60-61: 巩固 V
您已经了解了数据,数据以及更多数据,因此现在是暂停和反思所涵盖内容之前应对新挑战的时候了。
Days 62-76: 视图和视图控制器
在这些项目中,当我们研究如何从SwiftUI外部框架(包括UIKit
和MapKit
)集成代码时,难度开始加大。
- Day 62 – Project 13, part one
- Day 63 – Project 13, part two
- Day 64 – Project 13, part three
- Day 65 – Project 13, part four
- Day 66 – Project 13, part five
- Day 67 – Project 13, part six
- Day 68 – Project 14, part one
- Day 69 – Project 14, part two
- Day 70 – Project 14, part three
- Day 71 – Project 14, part four
- Day 72 – Project 14, part five
- Day 73 – Project 14, part six
- Day 74 – Project 15, part one
- Day 75 – Project 15, part two
- Day 76 – Project 15, part three
Days 77-78: 巩固 VI
在处理UIKit和SwiftUI集成的各个部分时,您遇到了几个困难的项目,所以让我们暂停一下并回顾所学到的内容。
Days 79-94: 控制UI流程
在这些项目中,我们构建了迄今为止最大的应用程序,同时还探索了更多让用户与我们的应用程序交互的方式:标签栏,手势,触觉等。
- Day 79 – Project 16, part one
- Day 80 – Project 16, part two
- Day 81 – Project 16, part three
- Day 82 – Project 16, part four
- Day 83 – Project 16, part five
- Day 84 – Project 16, part six
- Day 85 – Project 16, part seven
- Day 86 – Project 17, part one
- Day 87 – Project 17, part two
- Day 88 – Project 17, part three
- Day 89 – Project 17, part four
- Day 90 – Project 17, part five
- Day 91 – Project 17, part six
- Day 92 – Project 18, part one
- Day 93 – Project 18, part two
- Day 94 – Project 18, part three
Days 95: 巩固 VII
当我们接近100天的结尾时,是时候暂停一下并反思我们已经建立的大型项目,然后再面对新的应用程序构建挑战。
Day 95 – 里程碑:项目16-18
Days 96-99: 最后一个项目
在本最终项目中,我们将介绍一些最后的技巧和技术,以帮助您构建出色的应用程序,包括如何针对iPad进行优化。
- Day 96 – Project 19, part one
- Day 97 – Project 19, part two
- Day 98 – Project 19, part three
- Day 99 – Project 19, part four
圆满完成
现在是时候看看您在整个课程中记得多少了。你准备好了吗?
网友评论