Swift provides type checking and type casting. We can check the type of a variable with the is
keyword. It is most commonly used in if
statements, as shown in the following code:
let aConstant = "String" if aConstant is String { print("aConstant is a String") } else { print("aConstant is not a String") }
As String
is a value type and the compiler can infer the type, the Swift compiler will issue a warning because it already knows that aConstant
is String
. Another example can be the following, where we check whether anyString
is String
:
let anyString: Any = "string" if anyString is String { print("anyString is a String") } else { print("anyString is not a String") }
Using the is
operator is useful to check the type of a class instance, specifically, the ones that have subclasses. We can use the is
operator to determine if an object is an instance of a specific class.
Similarly, we can use the as
operator to actually coerce an object to a type...