views:

46

answers:

1

I am sorry if this has been asked before, I have looked throughout stackoverflow and haven't found an answer to this question.

In the NSObject protocol, it defines a method that is similar to this:

-(Class) class

What type of object is the Class object? Or is it even an object? What can I do with the object? Can I get the base class or adopted protocols?

Any help with this problem would be greatly appreciated.

+1  A: 

Class is itself a class defined by the Objective-C runtime, akin to the Class class in Java. For example, you can use the function class_getClassName() to get the name of a class:

NSObject *o = [[[NSObject alloc] init] autorelease];
NSLog(@"%s\n", class_getClassName([o class]));  // prints "NSObject"

You can do all kinds of introspection/reflection with Class objects; see the Objective-C runtime reference for details.

Adam Rosenfield
This is exactly what I was looking for, thank you!
Richard J. Ross III