Eine Methode über ObjC Category überschreiben und die Standardimplementierung aufrufen?
Wenn Sie Kategorien verwenden, können Sie Implementierungsmethoden wie folgt überschreiben:
// Base Class
@interface ClassA : NSObject
- (NSString *) myMethod;
@end
@implementation ClassA
- (NSString*) myMethod { return @"A"; }
@end
//Category
@interface ClassA (CategoryB)
- (NSString *) myMethod;
@end
@implementation ClassA (CategoryB)
- (NSString*) myMethod { return @"B"; }
@end
Das Aufrufen der Methode "myMethod" nach dem Einbeziehen der Kategorie ergibt das Ergebnis "B".
Wie kann die Category-Implementierung von myMethod am einfachsten die ursprüngliche Klasse A myMethod aufrufen? Soweit ich das beurteilen kann, müssten Sie die Low-Level-Aufrufe verwenden, um den ursprünglichen Methoden-Hook für Klasse A abzurufen und diesen aufzurufen, aber es schien, als gäbe es einen syntaktisch einfacheren Weg, dies zu tun.