Ich komme immer besser mit Objective-C klar, aber ich bin immer noch ein Anfänger und habe eine Anfänger-Frage, hoffentlich könnte jemand etwas Licht ins Dunkel bringen:
Wenn ich ein sehr einfaches Projekt habe und eine Konstante festlegen möchte, die ich überall verwenden werde - sagen wir, ein NSDictionary mit Schlüsseln als Monatsnamen und Werte, die Tage in diesem Monat sind - wie wird das gemacht? (Ie., Welche Befehlsform und wohin?)
HINWEIS: Wenn dieses Beispiel bereits mit eingebauten Funktionen möglich ist, könnten wir vielleicht so tun, als wäre es nicht für diese Frage;)
Die Antwort hängt vom Typ Ihrer Konstante ab. Wenn Sie nur int
oder double
benötigen, können Sie den Präprozessor und die #define CONST 123
-Syntax verwenden. Für Objective-C-Klassen müssen Sie jedoch viel mehr tun.
Genauer gesagt müssten Sie die Konstante hinter einer Klassenmethode oder einer freistehenden Funktion verbergen. Sie müssen außerdem einen Prototyp dieser Methode oder Funktion in der Headerdatei hinzufügen, eine statische Variable mit Funktionsumfang zum Speichern der Konstante bereitstellen und Code zum Initialisieren hinzufügen.
Hier ist ein Beispiel mit einem einfachen NSDictionary
:
Kopfzeile: MyConstants.h
%Vor%Implementierung: MyConstants.m
%Vor%Verwendung:
%Vor%Die akzeptierte Antwort ist korrekt, aber , wenn Sie es vorziehen, mit einer Variablen zu arbeiten (nicht mit der trough-Methode). Ich kann dieses Muster vorschlagen:
%Vor%Was mich angeht - es sieht besser aus.
Für weitere Details die Quelle ist hier .
Nehmen wir an, Sie möchten eine NSString-Konstante in Ihrer Klasse deklarieren, die eine URL enthält. In Ihrer Header-.h-Datei benötigen Sie Folgendes:
%Vor%Sie müssen dann den Wert in Ihrer Hauptdatei .m so einstellen:
%Vor%Sie können nun auf diese Konstante in Ihrer Klasse oder Unterklassen zugreifen. Hier ist ein Anwendungsbeispiel:
%Vor%Tags und Links objective-c if-statement