Definition: Initializers in Swift are special methods that prepare an instance of a class, struct, or enum for use. They set up initial values for properties and perform any necessary setup before the instance is used.
Syntax: Initializers in Swift are defined using the init keyword.
Example:
class Person {
var name: String
var age: Int
// Initializer
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// Usage
let person = Person(name: "Alice", age: 30)
Features:
nil if initialization fails, using init?.Definition: Deinitializers are special methods that are called just before an instance of a class is deallocated. They are used for cleanup tasks such as releasing resources.
Syntax: Deinitializers are defined using the deinit keyword and are only applicable to classes (not structs or enums).
Example:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
deinit {
print("\(name) is being deinitialized")
}
}
// Usage
var person: Person? = Person(name: "Bob", age: 25)
person = nil // This triggers the deinitializer