Где именно метод "description" переопределяется?
description
Метод является классовым методом NSObject
учебный класс. Я думаю, что это метод класса, потому что NSObject
не может быть инициализирован.
Когда я делаю это:
NSLog(@"%@", [NSObject description]);
Распечатывает:
NSObject
Но когда я создаю класс, который напрямую наследует от NSObject
и сделайте это:
MyNewClass *obj = [[MyNewClass alloc] init];
NSLog(@"%@", obj);
Это печатает что-то вроде:
<MyNewClass: 0x4b234a0>
Я специально не отменял description
метод, как это было переопределено моим новым классом?
1 ответ
Решение
Это потому NSObject
имеет два метода:
+ (NSString *)description; // Class method
- (NSString *)description; // Instance method
Прежний определяется в классе NSObject, а позже - в протоколе NSObject.