SwiftUI学习100天(Day56 - 项目 11,第四部分)

原创链接:https://www.hackingwithswift.com/100/swiftui
以下内容仅供学习参考:

在跟随我完成了几天的项目之后,是时候走出你的舒适区并开始编写你自己的代码了。再一次,这些是我根据你到目前为止所学的一切给你设置的挑战,这意味着如果你下定决心,它们绝对在你的掌握之中。
艾米·莫林(Amy Morin)曾是一名社会工作者,后来成为一名作家,她曾说过:“你越多地练习忍受不适,你就会对自己接受新挑战的能力越有信心。” 这是所有这些挑战的根本目标:给你一点推动,让你自己尝试一些事情,弄清楚什么是有效的,并且——坦率地说——在你找到正确的解决方案之前搞砸几次。
把事情做好很有价值,但把事情弄错也同样有价值。接受这一点——学会容忍与自己编写新代码相伴而生的不适——你将成为一名优秀的开发人员。
今天你应该完成项目 11 的总结章节,完成它的回顾,然后完成它的所有三个挑战。

书虫:总结
恭喜你完成了另一个 SwiftUI 项目!借助 Core Data 等技术,你现在能够构建一些与用户交互的重要应用程序,并且——最重要的是—— 记住他们输入的内容。虽然我们只触及了 Core Data 的表面,但它的功能更多,我希望 Apple 在未来的更新中继续扩展 Core Data 和 SwiftUI 之间的联系。与此同时,下一个项目将深入关注核心数据——有很多值得探索的地方!
至于你学到的其他东西,你现在已经了解了更多 SwiftUI 的属性包装器,我希望你对选择哪个以及何时选择有所了解。@Binding
在构建自定义 UI 组件时特别有用,因为它在视图之间共享数据的能力非常有用。
最后一件事我想留给你,这是你甚至可能没有注意到的事情。当我们构建一个星级评分组件时,我们创建了一些像Button
和Slider
一样成为用户交互控件的东西
。然而,我们并没有停下来考虑它如何与可访问性一起工作,这是一个问题:Button
、Slider
和其他工作得很好,但是一旦我们开始创建我们自己的组件,我们就需要介入并自己完成这项工作。
构建每个人都可以访问的应用程序是每个人都需要认真对待的事情,这就是为什么我在未来将整个技术项目专门用于它——我们将回顾我们之前所做的项目并看到我们如何改进它们。
不管怎样,首先要做的是——你有一个新的评论和一些挑战。祝你好运!
回顾你学到的东西
任何人都可以听完教程,但要记住所教的内容需要实际工作。我的工作是确保你从这些教程中获得尽可能多的知识,因此我准备了一个简短的评论来帮助你检查呢的学习情况。
单击此处查看你在此项目中学到的知识:
https://www.hackingwithswift.com/review/ios-swiftui/bookworm
挑战
最好的学习方法之一是尽可能多地编写自己的代码,因此你应该尝试通过以下三种方式扩展此应用程序,以确保你完全理解正在发生的事情。
现在可以不为书籍选择标题、作者或类型,这会导致详细视图出现问题。请通过强制默认、验证表单或显示未知类型的默认图片来解决此问题——你可以选择。
修改
ContentView
以某种方式突出显示被评为 1 星的书籍,例如将其名称显示为红色。向 Book 实体添加一个新的“date”属性,分配
Date.now
给它以获取当前日期和时间,然后在DetailView
中格式化它。


