Dies könnte ein sehr einfacher Bug sein, aber meine Augen bluten praktisch davon, ihn zu jagen. Zuerst dachte ich, ARC könnte eine Rolle spielen, aber jetzt ist es komplett deaktiviert und ich bekomme immer noch den Bug.
Ich habe ein UMLLanguageProtocol-Protokoll, das eine statische Methode definiert
+(NSArray *)methodFormatComponents;
Ich versuche, diese Methode innerhalb einer Funktion aufzurufen, aber sie wird von Xcode nicht erkannt ("kein bekannter Klassenmethodenselektor").
Hier ist der Code, in dem ich versuche, es zu verwenden:
#import "UMLLanguageProtocol.h"
@implementation UMLMethod
@dynamic documentation;
@dynamic name;
@dynamic umlClass;
+(void)validPortionOfMethod:(NSString *)method inLanguage:(Class)language {
[language methodFormatComponents]; <-- Fehler: Kein bekannter Klassenmethodenselektor
}
@end
und das Protokoll selbst, definiert in UMLLanguageProtocol.h
#import
#define VISIBILITY_SPECIFIER_COUNT 6
@class UMLMethod;
@class UMLAttribute;
@class UMLParameter;
typedef enum {
PUBLIC,
PRIVATE,
PROTECTED,
PACKAGE,
DERIVED,
STATIC
} visibility;
@protocol UMLLanguageProtocol
/*
* Sprachspezifische Daten
*/
+(NSArray *)nativeDataTypes;
// Gibt ein 6-stelliges Array zurück, das angibt, ob die Sprache diese Sichtbarkeit unterstützt
// spezifizierer an der gegebenen Indexposition, und nein, wenn dies nicht der Fall ist.
+(NSArray*)visibilitySpecifiersForVariables;
+(NSArray*)visibilitySpecifiersForMethods;
/*
* Parsing-Methoden
*/
// Gibt einen Regex-String zurück, der eine gültig formatierte Methode definiert
+(NSString *)methodFormat;
+(NSArray *)methodFormatComponents;
@optional
+(NSString*)documentationCommentFromText:(NSString*)comment;
+(NSString*)scaffoldTextFromMethod:(UMLMethod*)method;
+(NSString*)scaffoldTextFromParameter:(UMLParameter *)parameter;
+(NSString*)scaffoldTextFromAttribute:(UMLAttribute*)attribute;
+(NSArray *)additionalCommonDataTypes;
+(NSString *)defaultRootObject;
@end
Im Ernst, ich verliere Haare, während ich das schreibe... bitte hilf!
UPDATE: Eigentlich scheint der Fehler in zwei Teilen im Problemlösungs-Navigator zu liegen. Der erste Teil lautet "Automatic Reference Counting Issue" und die zweite Zeile lautet "No known class method for selector". Das ist seltsam, was könnte das mit ARC zu tun haben?!