Wie man Konstanten deklariert

7

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;)

    
Rogare 05.11.2012, 15:11
quelle

4 Antworten

19

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%     
dasblinkenlight 05.11.2012, 15:18
quelle
2

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 .

    
skywinder 25.02.2014 09:51
quelle
1

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%     
Harish Saran 05.11.2012 15:20
quelle
0

Wenn Ihre Konstanten Zeichenfolgen sind, können Sie dieses Formular verwenden:

MyObject.h:

%Vor%

MyObject.m:

%Vor%

Sie können dann die Konstante kJanuary beispielsweise von überall verwenden, wenn Sie Ihre Klasse verwenden.

    
trojanfoe 05.11.2012 15:16
quelle

Tags und Links