O'Reilly logo

Learning Swift, 2nd Edition by Jon Manning, Tim Nugent, Paris Buttfield-Addison

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 3. Swift for Object-Oriented App Development

The previous chapter looked at the basic building blocks of programming in Swift. In this chapter, we’re going to look at some of the more advanced features of Swift, such as memory management, working with files and external data, and error handling. We’ll also touch on interoperating with Apple’s older programming language, Objective-C.

Swift’s features allow it to be used as an object-oriented programming language. This means that you do the majority of your work by creating and manipulating objects—chunks of data and code that represent a thing that can perform some useful work or store some useful data.

Classes and Objects

In Swift, as with Objective-C, Java, and C++ (and many other languages), you define templates for your objects using classes. Classes in Swift look like this:

  class Vehicle {

  }

Classes contain both properties and methods. Properties are variables that are part of a class, and methods are functions that are part of a class.

The Vehicle class in the following example contains two properties: an optional String called color, and an Int called maxSpeed. Property declarations look the same as variable declarations do in other code:

  class Vehicle {

      var color: String?
      var maxSpeed = 80

  }

Methods in a class look the same as functions anywhere else. Code that’s in a method can access the properties of a class by using the self keyword, which refers to the object that’s currently running the code:

  class Vehicle ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required