@class und #import

Spacemojo

Spacemojo

Aktives Mitglied
Thread Starter
Dabei seit
16.05.2004
Beiträge
624
Reaktionspunkte
21
Hi!
Ich habe zwei Klassen, nennen wir sie "FirstClass" und "SecondClass".

Jede Klasse hat einen Pointer auf die jeweils andere Klasse.

Wenn ich in den beiden Header-Dateien mit #import "...." den jeweils anderen Header einbinde, gibt es einen Fehler beim kompilieren. (z.B. "Parse error before 'FirstClass')

Also binde ich in FirstClass die SecondClass mit #import ein
und in SecondClass die FirstClass mit @class.

Dann gibt es aber beim kompilieren jede Menge Warnungen ("FirstClass may not respond to ...").

Außerdem noch das:
In SecondClass.m steht drin:
float firstClassFloatValue = [firstClass floatValue];
Auf beiden Seiten steht also ein float. Jedoch sagt mir der Compiler:
"warning: no '-floatValue' method found" (obwohl sie existiert, liegt aber am @class, glaub ich)
"error: incompatible types in assignment" (obwohl [firstClass floatValue] wirklich einen float liefert)

Wann soll ich jetzt @class und wann #import verwenden? Ich komm da nicht weiter.
Hilft da ein precompiled header?

Danke schon mal!

Tobi
 
In den Headers machst du das mit dem @class und in den Implementation-Files musst du die Headers dann schon gegenseitig importieren.
 
Zurück
Oben Unten