Typecasting is a way to check the type of the instance and/or to treat the instance as a specified type. In Swift, we use the is keyword to check whether an instance is a specific type, and the as keyword to treat the instance as a specific type.
To start, 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 let p = person as? 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 and, 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...