100 Days of SwiftUI —— Day 18:WeSplit(三)

100 Days of SwiftUI —— Day 18:WeSplit(三)_第1张图片

您刚刚完成了第一个SwiftUI应用的构建,而且一切顺利,您对它的简单程度感到惊讶。您甚至可能想知道为什么我花了这么长时间讨论结构,闭包,可选对象等等,而实际上当我们最终编写一些代码时却如此简单。

好吧,首先请记住,这只是第一个项目,而我故意将其保持简单,以便您可以快速使用自己的代码。相信我,事情将会变得更加复杂——实际上,明天您将可以自由完成自己的项目,所以不要太自在!

但是,第二,您一直在使用高级功能。实际上,您没有意识到它实际上是在使用Swift提供的所有最高级的功能。实际上,我们一直在使用闭包——只需看下面的代码:

Picker("Tip percentage", selection: $tipPercentage) {
    ForEach(0 ..< tipPercentages.count) {
        Text("\(self.tipPercentages[$0])%")
    }
}

您是否注意到那里有$0?这是闭包参数的简写语法,因为我们位于闭包内部。这也是我们需要在self.tipPercentages中写self的原因——尽管您可能没有注意到,但我们广泛使用闭包。

无论如何,既然应用程序已经完成,现在是时候快速回顾一下您学到的东西了,进行简短测试以确保您了解了所学的内容,然后是您面临的第一个挑战——旨在让您尽快编写自己的代码的锻炼。

我没有提供这些挑战的答案。这是有意的:我希望您自己解决这个问题,而不仅仅是看别人的作品。正如马文·菲利普斯(Marvin Phillips)所说,“尝试与胜利之间的差距有点小。(the difference between try and triumph is a little umph.)”

今天,您应该完成项目1的总结一章,完成其回顾,然后应对其所有三个挑战。

  • WeSplit 挑战
  • Review for Project 1: WeSplit
WeSplit 挑战 打卡
100 Days of SwiftUI —— Day 18:WeSplit(三)_第2张图片
测验打卡 —— 我有努力在学习哦

完成后,告诉其他人:您已经完成了第一个SwiftUI项目,通过了测试,甚至使用自己的代码对其进行了扩展。

您应该为自己所取得的成就感到自豪—— good job!

赏我一个赞吧~~~

你可能感兴趣的:(100 Days of SwiftUI —— Day 18:WeSplit(三))