Так что есть категория на NSObject называется CustomCategory, следующим образом:Категория на NSObject также работает по классу
#import <Foundation/Foundation.h>
@interface NSObject (CustomCategory)
-(BOOL)doSomething;
@end
#import "NSObject+CustomCategory.h"
@implementation NSObject (CustomCategory)
-(BOOL)doSomething
{
NSLog(@"Done");
return NO;
}
@end
В идеале, это будет работать на объекте, как это:
NSObject* object = [NSObject new];
[object doSomething];
Однако, Я обнаружил, что он также работает таким образом без проблем:
[NSObject doSomething];
Так что я интересно, так как это метод экземпляра Я добавил через категорию, почему он также работает на классе?
Показать объявление и код определения категории. – zaph
, работая, вы имеете в виду, что он компилирует или выполняет код внутри doSomething. –
Все классы также являются объектами NSObject (кроме, возможно, NSProxy). – user3125367