Type casting is a way to check the type of an instance and/or to treat the instance as a specified type. In Swift, we use the is
keyword to check if an instance is a specific type and the as
keyword to treat the instance as a specific type.
To start with, let's see how we would check the instance type using the is
keyword. The following example shows how this is done:
for person in people { if person is SwiftProgrammer { print("\(person.firstName) is a Swift Programmer") } }
In this example, we use the if
conditional statement to check whether each element in the people array is an instance of the SwiftProgrammer
type; if so, we print that the person is a Swift programmer to the console. While this is a good method to check whether we have an instance of a specific class or structure, it is not very efficient if we wanted to check for multiple types. It is a lot more efficient to use the switch
statement, as shown in the next example:
for person in people...