100 Days of SwiftUI —— Day 19:挑战日

今天,您将面临第一个挑战之日,也就是要求您使用到目前为止所学的知识从头开始构建全新应用的一天。这可能会让您感到惊讶,因为您可能认为到目前为止您还没有学到太多。好吧,让我解释一下...

100 Days of SwiftUI 是我编写的第二个100天课程,虽然我知道最初的 100 Days of Swift 非常受欢迎并为很多人提供了帮助,但我之后肯定会感到“如果我再做一次,这就是我要改变的东西……”

其中一件事情就是回去,在Swift的最初几天增加更多的虚拟聊天,以帮助人们真正地充分利用这些基础知识。但是第二个变化是您今天要遇到的变化:我想让您更快地编写自己的项目。

在最初的100天中,人们完成了第一个项目,然后完成了第二个项目,然后是第三个项目,然后才被要求从头开始编写自己的应用程序。虽然效果很好,但我回想起来,在没有真正巩固基础的情况下进行第二和第三个项目并不理想。

这将我们带到了今天:您的第一个挑战日,您将从头开始构建一个完整的应用程序。不用担心:此项目是根据您到目前为止所学的知识专门选择的,因此,项目1已经涵盖了您需要了解的所有内容。

你的挑战

您需要构建一个处理单位转换的应用程序:用户将选择一个输入单位和一个输出单位,然后输入一个值,然后查看转换的输出。

您选择哪种单位取决于您,但是您可以选择以下单位之一:

  • 温度转换:用户选择摄氏度,华氏度或开氏度。
  • 长度转换:用户选择米,公里,英尺,码或英里。
  • 时间转换:用户选择秒,分钟,小时或天。
  • 体积转换:用户选择毫升,升,杯,品脱或加仑。

如果要进行长度转换,则可能有:

  • 输入单位的米,千米,英尺,码或英里的一个分段控件。
  • 第二个分段控件,用于输出单位的米,公里,英尺,码或英里。
  • 用户在其中输入数字的文本输入框。
  • 文本视图,显示转换结果。

因此,如果您选择米为源单位,英尺为输出单位,然后输入10,则输出为32.81。

提示

您已经知道完成该项目所需的一切,但是如果遇到问题,我会提供一些可能有用的提示。

首先,我们所有的单位转换都是简单的数学运算,但是您不应该尝试编写将转换从每个源单位转换为另一个单位的转换。一个更好的主意是将用户的输入转换为单个基本单位,然后从那里转换为目标单位。

因此,与其编写代码以将公升转换为毫升,从公升转换为杯,从公升转换为品脱,诸如此类,一个更好的主意是将用户的输入转换为毫升(最低公分母),然后从那里到他们想要的任何输出单位。

即使您可以使用简单的算术绝对完成此项目,您也可能想知道Apple确实为我们提供了进行单位转换的专用功能——请参阅我的文章如何使用Unit和Measurement转换单位。但是,我要重申的是,这对于完成我们的项目并不是必须的:只需将输入乘以2.11338,就可以从升转换为品脱。

由于这里有三个用户值——他们的输入数字,他们的输入单位和他们的输出单位——您需要具有三个@State属性来存储它们。您将需要一个文本字段,两个分段控件,一个文本视图来显示输出,仅此而已。

因此,请继续并立即开始。不必担心是否需要返回WeSplit项目查看——这是完全正常的,并且是学习过程的一部分。

祝好运!你可以这样做。完成后,告诉其他人:您已经构建了另一个SwiftUI应用程序,而这个应用程序完全是由您设计的。

您应该为自己的成就感到自豪。

我自己写了一个简单的。。。确实,编写边找原来的课程。。。
100 Days of SwiftUI —— Day 19:挑战日_第1张图片
挑战打卡

赏我一个赞吧~~~

你可能感兴趣的:(100 Days of SwiftUI —— Day 19:挑战日)