The below code example in Swift demonstrates how you can extend classes in Swift.
Extending Class in Swift
As an example, let’s learn how we can extend class Int.
Create a new Swift file in your current project and add there the following extension with a function that substructs a value.
extension Int { func takeAway(value: Int) -> Int { return self-value } }
You can then use the above extension on any Int in your project the following way:
let a = 10 let b = a.takeAway(value: 3) print(b)
The output of the above code is on the image below:
Extending Custom Classes in Swift
You can use an extension to extend any other custom classes you create in Swift. Let’s consider the following custom class.
class Person { var firstName: String var lastName: String init(firstName: String, lastName: String) { self.firstName = firstName self.lastName = lastName } }
You can extend the above class by adding one more property called to create Person’s full name like so:
extension Person { var fullName: String { return firstName + " " + lastName } }
Now you can instantiate an instance of Person class and print the value of fullName:
let person = Person(firstName: "Sergey", lastName: "Kargopolov") print(person.fullName)