Hallo zusammen,
ich habe jetzt des öfteren ein Problem gehabt, welches ich meiner Meinung nach immer recht unsauber gelöst habe - und nun will ich es gerne einmal richtig machen;)
Wenn ich zwei Klassen definiert habe (classA & classB), und ich diese untereinander bekannt machen will geht es wunderbar mit der @class Direktive. Wenn ich nun aber in beiden Header-Dateien typedefs definiert habe, und ich diese auch untereinander nutzen möchte, hakt es leider.
classA.h
classB.h
Gibt es hier eine andere Lösung als die typedefs in einer Header-Datei zu platzieren, und diese Datei dann in classA.h und classB.h zu importieren, und den gegenseitigen #import durch die @class Direktive zu ersetzen.
Mich stört an einer globalen "typedef.h"-Datei die Tatsache, dass die dort definierten enums logisch eher zu den in den Header-Files (classA.h, classB.h) definierten Klassen/Protokollen gehören.
Hat hier jemand eine schlaue Antwort parat?
Viele Grüße aus Neuseeland
Dennis
ich habe jetzt des öfteren ein Problem gehabt, welches ich meiner Meinung nach immer recht unsauber gelöst habe - und nun will ich es gerne einmal richtig machen;)
Wenn ich zwei Klassen definiert habe (classA & classB), und ich diese untereinander bekannt machen will geht es wunderbar mit der @class Direktive. Wenn ich nun aber in beiden Header-Dateien typedefs definiert habe, und ich diese auch untereinander nutzen möchte, hakt es leider.
classA.h
classB.h
Gibt es hier eine andere Lösung als die typedefs in einer Header-Datei zu platzieren, und diese Datei dann in classA.h und classB.h zu importieren, und den gegenseitigen #import durch die @class Direktive zu ersetzen.
Mich stört an einer globalen "typedef.h"-Datei die Tatsache, dass die dort definierten enums logisch eher zu den in den Header-Files (classA.h, classB.h) definierten Klassen/Protokollen gehören.
Hat hier jemand eine schlaue Antwort parat?
Viele Grüße aus Neuseeland
Dennis
"Die Steinzeit ging auch nicht zu Ende weil die Steine ausgingen"
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jakez ()