Today you’re going to build a complete app using
UserDefaults, and more. I realize that seems like a lot, but I want you to try to think about all the things that are happening in the background:
@Observablewatches a classes for changes and refreshes any views that is affected.
sheet()watches a condition we specify and shows or hides a view automatically.
Codablecan convert Swift objects into JSON and back with almost no code from us.
UserDefaultscan read and write data so that we can save settings and more instantly.
Yes, we need to write the code to put those things in place, but so much boilerplate code has been removed that what remains is quite remarkable. As French writer and poet Antoine de Saint-Exupery once said, “perfection is achieved not when there is nothing more to add, but rather when there is nothing more to take away.”
Today you have five topics to work through, in which you’ll put into practice everything you learned about
onDelete(), and more.
That’s another app built, and lots more techniques used in context too – great job!
If you use Twitter, the button below will prepare a tweet saying you completed today, along with a celebratory graphic, the URL to this page, and the challenge hashtag. Don't worry – it won't be sent until you confirm on Twitter!
Need help? Tweet me @twostraws!
SPONSORED AppSweep by Guardsquare helps developers automate the mobile app security testing process with fast, free scans. By using AppSweep’s actionable recommendations, developers can improve the security posture of their apps in accordance with security standards like OWASP.
Link copied to your pasteboard.