UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

DAY 54

Project 11, part 2

Today we’re going to start applying the new techniques you learned to build our app, using SwiftData to create books and a custom RatingView component to let users store how much they liked each book, built using @Binding.

The way we handle data is critically important to our work. Sometimes it’s as simple as figuring out what should be an integer and what should be a string; other times it requires a little theory, such as being able to choose between arrays and sets; and still other times it means we need to think about how objects relate to each other.

A quote from Linus Torvalds that I love very much is this one: “Bad programmers worry about the code; good programmers worry about data structures and their relationships.” I like it partly because it re-enforces the view that designing good data structures is critically important, but also because it’s a reminder that once you master one language it’s relatively easy to move to others – the syntax might be different, but the data structures are usually the same if not very similar.

Today you have three topics to work through, in which you’ll apply your new-found SwiftData skills with List, @Binding, and more.

Don’t forget to tell others about your progress – you’re building your own SwiftData models and SwiftUI components now, and it helps keep you accountable.

Share your progress!

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!


BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

Sponsor Hacking with Swift and reach the world's largest Swift community!

100 Days of SwiftUI

The 100 Days of SwiftUI is a free collection of videos, tutorials, tests, and more to help you learn SwiftUI faster. Click here to learn more, or watch the video below.

Back to 100 Days of SwiftUI

Unknown user

You are not logged in

Log in or create account

Link copied to your pasteboard.