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