参见英文答案 >
Are classes objects in Objective-C? 1个
methodSignatureForSelector:方法是一个实例方法 – 而不是第一类.那么为什么我这样做时我的应用程序不会崩溃:
methodSignatureForSelector:方法是一个实例方法 – 而不是第一类.那么为什么我这样做时我的应用程序不会崩溃:
return [[self class] methodSignatureForSelector:@selector(selector)];
它也适用于methodForSelector:方法.为什么?事实证明,类可以响应消息,例如alloc和for-messages.任何人都可以对这个问题有所了解吗?
解决方法
对象类的类称为
meta class.在大多数情况下,元类和普通类共享相同的根类NSObject.这就是为什么每个类都响应NSObject的实例方法.