100 Days of SwiftUI —— Day 36:iExpense(一)

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

有人问到开源Linux操作系统的创建者林纳斯·托瓦兹(Linus Torvalds)是否对想要构建大型软件项目的开发人员有任何建议。这是他给的答复:

没有人应该从构建一个大型项目开始。您从一个小的琐碎的项目开始,并且永远不要期望它会变大。如果这样做,您只会进行过度设计,并且通常认为它比该阶段可能要重要的多。或更糟糕的是,您所设想的庞大工作量可能会吓到您。因此,从小处着手,并考虑细节。不要考虑一些大图景和精美的设计。如果它不能解决一些迫在眉睫的需求,那么几乎可以肯定它是过度设计的。而且不要期望别人会帮助您。这些不是这样的。您需要先获得一些有用的东西,然后其他人会说“嘿,这几乎对我有用”,然后他们将参与该项目。

Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you'll just over design and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. And don't expect people to jump in and help you. That's not how these things work. You need to get something half-way useful first, and then others will say "hey, that almost works for me", and they'll get involved in the project.

在编写本课程时,我已经有很多人向我发送电子邮件,问“为什么我不使用X来解决项目1中的问题?”或“在项目4中,Y会比Z好得多。”它们可能是正确的,但是如果我试图教给您项目1中的所有内容,您会发现它不堪重负且令人不快,因此,我们开发了一个小型应用程序。然后在项目2中,我们构建了第二个小型应用程序。然后,我们建立了第三个和第四个,每个都增加了您的技能。

今天,您将启动项目7,它绝对是一个很小的应用程序。但是,在此过程中,您将学习如何显示另一个屏幕,如何在屏幕之间共享数据,如何加载和保存用户数据以及其他更多功能——这些类型的功能真正有助于将您的SwiftUI技能提升到一个新的水平。

如果一切都准备就绪,那就开始吧!

今天,您要处理六个主题,在这些主题中,您将了解@ObservedObjectsheet()onDelete()等。

  • SwiftUI:为什么@State只适用于结构体
  • SwiftUI:使用@ObservedObject共享状态
  • SwiftUI:Sheet弹窗
  • SwiftUI:使用onDelete() 删除项目
  • SwiftUI:使用UserDefaults存储用户设置
  • 使用Codable归档Swift对象

别忘了将您的进度发布到网上某个地方——我们已经完成了课程的三分之一,您做得很好!

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