NEW: Nominations are now open for the 2019 Swift Community Awards! >>

DAY 10

Classes


At first, classes seem very similar to structs because we use them to create new data types with properties and methods. However, they introduce a new, important, and complex feature called inheritance – the ability to make one class build on the foundations of another.

This is a powerful feature, there’s no doubt about it, and there is no way to avoid using classes when you start building real iOS apps. But please remember to keep your code simple: just because a feature exists, it doesn’t mean you need to use it. As Martin Fowler wrote, “any fool can write code that a computer can understand, but good programmers write code that humans can understand.”

I’ve already said that SwiftUI uses structs extensively for its UI design. Well, it uses classes extensively for its data: when you show data from some object on the screen, or when you pass data between your layouts, you’ll usually be using classes.

I should add: if you’ve ever worked with UIKit before, this will be a remarkable turnaround for you – in UIKit we normally use classes for UI design and structs for data. So, if you thought perhaps you could skip a day here and there I’m sorry to say that you can’t: this is all required.

Today you have eight one-minute videos to watch, and you’ll meet things like method overrides, final classes, and deinitializers. Once you’ve watched each video there’s a short test to help make sure you’ve understood what was taught.

  1. Creating your own classestest
  2. Class inheritancetest
  3. Overriding methodstest
  4. Final classestest
  5. Copying objectstest
  6. Deinitializerstest
  7. Mutabilitytest
  8. Classes summarytest

Have some questions about classes?

Hit Send below to start a virtual conversation with me.

Need help? Tweet me @twostraws!

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