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
- Structs vs Classes, properties & inits
- Stored vs computed properties, observers
- Initializers & deinit (classes)