所以我對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內的代碼 –
所有類都是NSObjects(除了可能的NSProxy)。 – user3125367