iOS - Import vs Forward-Deklaration in Bezug auf setAlpha

7

Ich versuche einige Animationen auf einem Objekt zu machen, das ich über IB eingerichtet habe. Ich füge eine Forward-Deklaration zu meinem .h hinzu:

%Vor%

und dann eine Eigenschaft wie folgt einrichten:

%Vor%

Ich möchte die specialClass mit setAlpha verbergen können, aber ich bekomme den folgenden Fehler von xcode beim Kompilieren.

%Vor%

Muss ich meine Klasse anstelle einer Vorwärtsdeklaration importieren? Ich möchte nicht unnötig etwas importieren müssen, wenn ich nicht muss.

    
Romes 07.05.2012, 18:00
quelle

2 Antworten

44

Die Vorwärtsdeklaration teilt dem Compiler einfach mit: "Hey, ich weiß, dass ich Sachen deklariere, die du nicht erkennst, aber wenn ich @MyClass sage, verspreche ich, dass ich es in die Implementierung importieren werde".

Sie verwenden Forward-Deklaration, um Dinge wie zirkuläre Includes zu verhindern (MyClass importiert YourClass, das MyClass importiert, was ...), aber das Versprechen, das Sie mit Ihrem Code machen, ist, dass Sie es später importieren werden     

JoeCortopassi 07.05.2012, 18:09
quelle
5

Sie müssen es importieren. Die Forward-Deklaration dient nur dazu, den Compiler, der diese Klasse enthält, zum Schweigen zu bringen, aber er hat keine Ahnung von seinen Membern, Methoden, Eigenschaften, Größe ...

    
graver 07.05.2012 18:04
quelle