Was ist der Zweck von #pragma
Marken in Xcode? Ist ihr Speicherort in .m
Dateien wichtig? Sollten einige #pragma
vor allen anderen kommen?
- Müssen sie anwesend sein?
- Können neue Marken hinzugefügt werden? Warum sollten sie sein? Was verursacht es?
- Kann es schaden, wenn eine Markierung entfernt wird? Würde man jemals wollen?
objective-c
xcode
pragma
James Raitsev
quelle
quelle
Antworten:
#pragma mark
Anweisungen werden in Xcode in den Menüs für den direkten Zugriff auf Methoden angezeigt. Sie haben überhaupt keinen Einfluss auf das Programm.Wenn Sie es beispielsweise mit Xcode 4 verwenden, werden diese Elemente direkt in der Sprungleiste angezeigt.
Es gibt ein Special
pragma mark -
, das eine Linie erzeugt.quelle
#pragma mark
wird verwendet, um die Gruppe von Methoden zu kennzeichnen, damit Sie Methoden in der Sprungleiste leicht finden und erkennen können. Es kann Ihnen helfen, wenn Ihre Codedateien ungefähr 1000 Zeilen erreichen und Sie schnell Methoden über die Kategorie aus dem Sprungfeld finden möchten.In einem langen Programm wird es schwierig, sich einen Methodennamen zu merken und zu finden. Mit Pragma Mark können Sie Methoden nach ihrer Arbeit kategorisieren. Sie haben beispielsweise ein Tag für Table View-Protokollmethoden, AlertView-Methoden, Init-Methoden, Deklaration usw. markiert.
#pragma mark
ist die Funktion für XCode, hat jedoch keine Auswirkungen auf Ihren Code. Es hilft lediglich, das Auffinden von Methoden beim Codieren zu erleichtern.quelle
Mit einfachen Worten können wir sagen, dass dies
#pragma mark -
zur Kategorisierung von Methoden verwendet wird, damit Sie Ihre Methoden leicht finden können. Es ist sehr nützlich für lange Projekte.quelle
Nur um die Informationen hinzuzufügen, nach denen ich gesucht habe:
pragma mark
Ist Xcode-spezifisch. Wenn Sie sich also mit einem C ++ - Projekt befassen, das Sie in verschiedenen IDEs öffnen, hat dies dort keine Auswirkungen. In Qt Creator werden beispielsweise keine Kategorien für Methoden hinzugefügt und keine Warnungen / Fehler generiert.BEARBEITEN
#pragma
ist eine Präprozessor-Direktive, die aus der Programmiersprache C stammt. Der Zweck besteht darin, dem Compiler implementierungsabhängige Informationen anzugeben. Das heißt, jeder Compiler kann diese Anweisung so interpretieren, wie er möchte. Das heißt, es wird eher als Erweiterung betrachtet, die den Code selbst nicht ändert / beeinflusst. Compiler könnten es also genauso gut ignorieren.Xcode ist eine IDE, die
#pragma
sie auf ihre eigene Art nutzt und nutzt. Der Punkt ist,#pragma
ist nicht Xcode und sogar Objective-C-spezifisch.quelle
Wenn wir eine große / lange Klasse haben, die mehr als 100 Codezeilen sagt, können wir nicht alles auf dem Monitorbildschirm sehen, daher können wir keine Übersicht (auch Dokumentelemente genannt) unserer Klasse sehen. Irgendwann wollen wir einen Überblick über unsere Klasse sehen; Alle Methoden, Konstanten, Eigenschaften usw. auf einen Blick. Sie können in XCode Strg + 6 drücken, um eine Übersicht über Ihre Klasse anzuzeigen. Sie erhalten eine Art Popup-Fenster, auch bekannt als Jump Bar.
Standardmäßig hat diese Sprungleiste keine Eimer / Abschnitte. Es ist nur eine lange Liste. (Obwohl wir einfach mit der Eingabe beginnen können, wenn die Sprungleiste angezeigt wird und zwischen den Elementen der Sprungleiste gesucht wird). Hier kommt die Notwendigkeit von
pragma mark
Wenn Sie Abschnitte in Ihrer Sprungleiste erstellen möchten, können Sie Pragma-Markierungen mit entsprechender Beschreibung verwenden. Beziehen Sie sich nun auf den fraglichen Schnappschuss. Dort sind 'View lifeCycle' und 'Ein Abschnitt gewidmet ..' Abschnitte, die von
pragma mark
s erstellt wurdenquelle
Bei der Suche nach doc, um darauf hinzuweisen, wie Pragma Direktiven für den Compiler sind, habe ich dies gefunden NSHipster-Artikel gefunden , der die Arbeit ziemlich gut macht.
Ich hoffe, Sie werden die Lektüre genießen
quelle
Der Hauptzweck von "Pragma" ist die Referenz für Entwickler.
Sie können eine Methode / Funktion in Tausenden von Codierungszeilen leicht finden.
Xcode 11+:
Markierungslinie oben
Markierungslinie oben und unten
Markierungslinie nur unten
quelle