10

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?

2 Answers 2

16

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.

Sign up to request clarification or add additional context in comments.

Comments

4

It is now

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

object_getClassName instead of class_getClassName

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.