Sobes.tech
Junior

How to run code when creating an instance of a class?

sobes.tech AI

Answer from AI

Using initializers.

class MyClass {
    var property: String

    init(property: String) { // Initializer
        self.property = property
        // Additional code can be executed here when creating an instance
        print("MyClass instance created with property: \(property)")
    }
}

let instance = MyClass(property: "Example") // Calling initializer during creation

Initializers can be:

  • Designated Initializers: The main initializers that fully initialize all properties.
  • Convenience Initializers: Helper initializers that call designated initializers to simplify instance creation.
  • Failable Initializers: Initializers that can return nil in case of an initialization error.
class AnotherClass {
    var count: Int

    init?(count: Int) { // Failable initializer
        if count < 0 {
            return nil // Initialization failed
        }
        self.count = count
    }

    convenience init(stringCount: String) { // Convenience initializer
        if let intCount = Int(stringCount) {
            self.init(count: intCount)! // Call to designated initializer
        } else {
            self.init(count: 0)! // Provide default value or handle error
        }
    }
}

let validInstance = AnotherClass(count: 10) // Successful initialization
let invalidInstance = AnotherClass(count: -5) // Initialization returned nil
How to run code when creating an instance of a class… - sobes.tech