description
方法是NSObject
类的类方法。我想这是一个类方法,因为NSObject
无法初始化。
当我这样做时:
NSLog(@"%@", [NSObject description]);
打印出来:
NSObject
但是当我创建一个直接继承自NSObject
的类时,执行此操作:
MyNewClass *obj = [[MyNewClass alloc] init];
NSLog(@"%@", obj);
这打印出如下内容:
<MyNewClass: 0x4b234a0>
我没有专门覆盖description
方法,它是如何被我的新类覆盖的?
答案 0 :(得分:1)
这是因为NSObject
有两种方法:
+ (NSString *)description; // Class method
- (NSString *)description; // Instance method
前者在NSObject class中定义,后来在NSObject Protocol中定义。