8

NSObject协议中,它定义了一个类似这样的方法:

-(Class) class

Class 对象是什么类型的对象?或者它甚至是一个对象?我可以用这个对象做什么?我可以获得基类或采用的协议吗?

4

2 回答 2

16

Class本身是由Objective-C 运行时定义的类,类似于ClassJava 中的类。例如,您可以使用该函数class_getClassName()来获取类的名称:

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

您可以对对象进行各种自省/反思Class;有关详细信息,请参阅 Objective-C 运行时参考。

于 2010-08-21T21:19:31.773 回答
2

就是现在

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

object_getClassName代替class_getClassName

于 2014-01-30T02:18:24.183 回答