When I send an object to NSLog, I get a string with three attributes. First is the class of the object, second is the frame of the object, and third is the CALayer of the object. The second and third attributes are titled (e.g. layer = ), so I can call them by the title (e.g. myObject.layer).
The first one isn't. How do I test for the class type?
Thanks!
To get the class of an object, simply call [myObject class]
. You can compare this to a desired class as follows:
if ([myObject class] == [SomeClass class]) { /* ... */ }
if ([myObject class] == [NSString class]) { /* ... */ }
If you are simply looking for the class name as a string, you can use the NSStringFromClass
function as follows:
NSString * className = NSStringFromClass([myObject class]);
If you also want to include subclasses of targeted class use:
[object isKindOfClass:[SomeClass class]]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With