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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage