CocoaHTTPServer项目中有一句:
connectionClass = [HTTPConnection self];
似乎有些费解。打开NSObject头文件,我们发现它有如下类方法:
+ (Class)class;
返回该类的类型。然而NSObject协议中也有一些实例方法:
- (Class)class;
- (id)self;
前者返回该对象的类型,后者返回对象本身。一个Class调用class和调用self是一样的。令人费解的是为什么Class调用class返回的是Class而不是metaclass,这和smalltalk中不同。
参考自http://stackoverflow.com/questions/9396746/objective-c-what-does-classname-self-do