2013-08-22 14 views
7

Einfache Erbe, das ich eine Million Mal getan haben:Klasse ohne Angabe einer Basisklasse definiert?

@class AGWindowView; 

@interface HelperView : AGWindowView 

ich diesen Fehler:

Class "HelperView" defined without specifying a base class. 

Nun, offensichtlich bin Angabe ich eine Basisklasse. Was geht hier vor sich? Gibt es eine Möglichkeit, wie sich AGWindowView nicht unterklassifizieren lassen könnte?

Antwort

13

Sie müssen die Datei importieren, die AGWindowView am Anfang der Datei definiert. Der Compiler muss über die gesamte Klasse Bescheid wissen, nicht nur, dass sie existiert.

0

Stellen Sie sicher, dass Sie die Datei .h in Ihre Datei .m importieren!

// XYZYourClass.m 

#import "XYZYourClass.h" 

@implementation YYZYourClass 

@end 

Wenn Sie nicht #import XYZYourClass.h tun, werden Sie den Fehler:

Class 'XYZYourClass' defined without specifying a base class

2

Wir hatten dieses Problem versucht, einen alten-ish cocoapod zu installieren. Das Problem war, dass ein Makro zum Zeitpunkt der Analyse nicht berücksichtigt wurde.

Die Standardoption in der Pods-Projektdatei für die LLVM-Warnung "Unintentional Root Class" ist jetzt standardmäßig auf "Ja (Fehler behandeln)" anstatt auf "Ja" eingestellt.

Unintentional Root Class configuration option

Verwandte Themen