What you need to know are isKindOfClass:
and class
:
A *a = [[A alloc] init];
Class AClass = [A class];
BOOL isAClass1 = [a isKindOfClass:[A class]];
BOOL isAClass2 = [a isKindOfClass:AClass];
What you need to know is only is
in most cases.
But if you'd like to store Type
in a variable/property for use...
let a = A()
let AType = A.self
let isAClass1 = (a is A)
let isAClass2 = (a.dynamicType === AType)
For the second line let AType = A.self
, it is equivalent to:
let AType : AnyClass = A.self // more precisely
let AType : A.Type = A.self // even more precisely
In a nutshell, when is
doesn't work, think it as instance.dynamicType === class.self