0Pricing
Swift Academy · Lesson

Initializers & deinit (classes)

Create designated and convenience initializers, provide default values, use failable init where needed, and understand class deinitializers.

Overview

This lesson covers designated vs convenience initializers, default values, failable init, and class deinit.

Struct init basics

Structs get a memberwise initializer. Provide default values to simplify calls.

struct User {
    var name: String = "Guest"   // default value
    var age: Int

    // memberwise init is synthesized: User(name:age:)
}
let u1 = User(name: "Ada", age: 20)
let u2 = User(age: 0)            // uses default name
print(u1.name, u2.name)

All lessons in this course

  1. Structs vs Classes, properties & inits
  2. Stored vs computed properties, observers
  3. Initializers & deinit (classes)
← Back to Swift Academy