Methods are functions associated with a particular type in Swift. They provide a way to add behavior to classes, structures, and enumerations. Understanding methods is crucial for writing clean, organized Swift code.
Instance methods belong to instances of a particular type. They can access and modify the properties of that instance.
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveBy(x: 2.0, y: 3.0)
print(somePoint) // Prints: Point(x: 3.0, y: 4.0)
In this example, moveBy(x:y:)
is an instance method of the Point
structure. The mutating
keyword allows the method to modify the instance's properties.
Type methods are called on the type itself, not on an instance. They're defined using the static
keyword for structures and enumerations, or class
for classes (allowing override in subclasses).
class Math {
class func absoluteValue(of number: Int) -> Int {
return abs(number)
}
}
let result = Math.absoluteValue(of: -5)
print(result) // Prints: 5
Here, absoluteValue(of:)
is a type method of the Math
class. It can be called without creating an instance of Math
.
Every instance of a type has an implicit property called self
, which is exactly equivalent to the instance itself. You can use self
to refer to the current instance within its own instance methods.
Structures and enumerations are value types. By default, the properties of a value type cannot be modified from within its instance methods. To enable modification, you must mark the method with the mutating
keyword.
To deepen your understanding of Swift methods, explore these related topics:
Methods are a fundamental part of Swift programming, enabling you to create more organized and object-oriented code. By mastering methods, you'll be able to write more efficient and maintainable Swift applications.