Extensions
Mutating Extensions
Value types can gain mutating methods through extensions.
Change a value in place
mutating_extensions.swift
struct Counter {
var value: Int
}
extension Counter {
mutating func add(_ amount: Int) {
value += amount
}
}
let amount =
var counter = Counter(value: 10)
counter.add(amount)
let message = "counter=\(counter.value)"
print(message)
struct Counter {
var value: Int
}
extension Counter {
mutating func add(_ amount: Int) {
value += amount
}
}
let amount =
var counter = Counter(value: 10)
counter.add(amount)
let message = "counter=\(counter.value)"
print(message)
struct Counter {
var value: Int
}
extension Counter {
mutating func add(_ amount: Int) {
value += amount
}
}
let amount =
var counter = Counter(value: 10)
counter.add(amount)
let message = "counter=\(counter.value)"
print(message)
mutating extension
A mutating extension method can update `self` for value types such as structs.