100 Days of SwiftUI —— Day 37:iExpense(二)

100 Days of SwiftUI —— Day 37:iExpense(二)_第1张图片

今天,您将使用@ObservedObject@Publishedsheet()CodableUserDefaults等来构建完整的应用程序。我意识到这似乎很多,但我希望您尝试考虑背后发生的所有事情:

  • @Published自动发布更改公告。
  • @ObservedObject监听这些公告,并使用该对象刷新所有视图。
  • sheet()监视我们指定的条件,并自动显示或隐藏视图。
  • Codable可以将Swift对象转换为JSON,然后几乎不需要我们提供任何代码。
  • UserDefaults可以读取和写入数据,以便我们可以更即时地保存设置。

是的,我们需要编写代码以将这些内容放置在适当的位置,但是由于删除了许多样板代码,因此剩下的内容非常出色。正如法国作家和诗人安托万·德·圣艾修伯里(Antoine de Saint-Exupery)曾经说过的那样:

完美,不是在没有更多东西可以添加的时候,而是在没有更多东西可以拿走的时候。
Perfection is achieved not when there is nothing more to add, but rather when there is nothing more to take away.

今天,您有五个主题需要研究,其中将学习@ObservedObjectsheet()onDelete()等更多内容。

Hacking with iOS: SwiftUI Edition - iExpense 项目

这是你构建的另一个应用程序,上下文中也使用了更多技术——很棒的工作!

你可能感兴趣的:(100 Days of SwiftUI —— Day 37:iExpense(二))