NEW: Start my new Ultimate Portfolio App course with a free Hacking with Swift+ trial! >>

DAY 40

Project 8, part 2

Today we’re going to be working through the first part of our application, and in particular we’re going to be getting our data right. I realize that data isn’t terribly exciting, but as your skills grow you’ll start to see how data really defines what your app can do – no matter what fancy designs you add, or what slick animations you introduce, if your data isn’t right your app just won’t work.

Along the way you’re going to meet an important Swift feature called generics. This is a feature I definitely class as well outside of beginner Swift, but as you’ll see generics let us create highly reusable code with only a little extra thinking.

Reusable code is important, because it helps us accomplish bigger and better results with less work. However, as Ralph Johnson once said, “before software can be reusable it first has to be usable” – as nice as generics are, we’ll only start using them once we’ve solved the problem the easier way first.

Today you have three topics to work through, in which you’ll get more hands-on experience with Codable, take generics for a test drive, and more.

Need help? Tweet me @twostraws!


Hacking with Swift is sponsored by Fernando Olivares

SPONSORED Would you describe yourself as knowledgeable, but struggling when you have to come up with your own code? Fernando Olivares has a new book containing iOS rules you can immediately apply to your coding habits to see dramatic improvements, while also teaching applied programming fundamentals seen in refactored code from published apps.

Try the book!

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.