100 Days of SwiftUI —— Day 61:Ti
2020-06-10 本文已影响0人
韦弦Zhy
如果我对您说过,您的挑战是构建一个应用程序,该应用程序将从网络中获取数据,将其解码为本地Swift类型,然后使用导航视图进行显示——哦,顺便说一句,应该使用Core Data……好吧,您很可能对挑战不屑一顾。
因此,我做了一个快速的总结:昨天,我让您研究了该应用程序的基础知识,确保您了解JSON,正确获得了Codable
支持,仔细考虑了UI等等。
今天,我将要做在任何现实项目中不可避免发生的事情:我将向项目范围添加新功能请求。这有时称为“范围蔓延”,几乎您从事的每个项目都将面对这一问题。这并不意味着预先计划不是一个坏主意——正如温斯顿·丘吉尔(Winston Churchill)所说,“尽管很少计划,但计划的人比不计划的人做得更好。”
因此,我们不遵守计划;我们正在添加一项重要的新功能,该功能将迫使您重新思考构建应用程序的方式,希望使您思考如何构建代码,并为您提供一种应该彻底掌握的技术练习现在熟悉的核心数据。
是的,您今天的工作是扩展您的应用程序,以便它使用Core Data。您的老板只是通过电子邮件发送电子邮件给您,说该应用程序很棒,但是一旦获取了JSON,他们便真的希望它可以脱机工作。这意味着您需要使用Core Data来存储您下载的信息,然后使用Core Data实体来显示您设计的视图——您只需要提取一次数据。
希望最终结果将与我一次给您所有任务一样,但是将它分成这样的两部分希望可以使它看起来更容易实现,同时还使您有机会思考代码结构的良好程度已适应未来的需求变更。
祝好运!