7 Stimmen

Objective-C Vorwärtsdeklarationen vs. #imports

Mögliches Duplikat:
@class vs. #import

Was sind in Objective-C die besten Praktiken für die Verwendung von Forward-Deklarationen (von Klassen oder Protokollen) im Vergleich zu. #import -Dateien? Und warum werden Forward-Deklarationen überhaupt empfohlen, wenn #import sicherstellen, dass keine Datei mehr als einmal enthalten ist? Ich denke an iOS App-Entwicklung im Besonderen, aber ich nehme an, dies gilt für Objective-C im Allgemeinen.

16voto

Codo Punkte 70076

Meine Faustregel lautet: Wenn eine Forward-Deklaration ausreicht, verwende ich sie. Ansonsten importiere ich die vollständige Deklaration mit #import .

Dies ist vor allem auf meine Erfahrung mit großen Projekten zurückzuführen, bei denen die unvorsichtige Verwendung von #import (oder #include ) kann leicht dazu führen, dass der Compiler mehr als eine Million Codezeilen für jede Nicht-Header-Datei kompilieren muss und dass geringfügige Änderungen in einer einzigen Header-Datei eine umfangreiche Neukompilierung auslösen. Dies hat zur Folge, dass die Kompilierung des Codes sehr lange dauert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X