Ich erweitere eine Klasse aus einer externen Bibliothek. Hier ist mein Code:Objective-C Kategorie seltsames Verhalten importieren
Header-Datei: Manager, + MyCategory.h
#import "Manager.h"
#import "Element.h"
@interface Manager (myCategory)
- (Element*) elementWithTag:(NSInteger)tag;
@end
Implementierungsdatei: Manager, + MyCategory.h Datei
@implementation Manager (myCategory)
- (Element*) elementWithTag:(NSInteger)tag {
...
}
@end
Hier ist, wie ich diese Kategorie verwenden:
Wenn ich kompiliere, habe ich keine Warnungen, aber wenn ich mein Programm starte, erhalte ich den folgenden Fehler:
*** -[Manager elementWithTag:]: unrecognized selector sent to instance 0x105d9a0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[Manager elementWithTag:]:
Header-Datei (dh Manager + MyCategory.h) wird korrekt importiert, aber es sieht so aus, als ob die Verknüpfung mit der Implementierungsdatei nicht erfolgt. Wenn ich ersetzen #import "Manager + MyCategory **. H **" von #import "Manager + Meine Kategorie **. M **" in meiner Klasse funktioniert es richtig.
Jeder kann mir erklären, was ich vergessen habe? Danke
Danke! Fügen Sie einfach -ObjC Linker Flag zu meinem Projekt hinzu und es funktioniert einwandfrei – Thomas