2017-01-18 5 views
0

Verwendung von Objective-C, ich habe ein Wörterbuch von 30 Eintrag, ich versuche, es zu definieren, in meinen Konstanten auf die gleiche Weise Datei ich definiere String oder Int:ein konstanten Wörterbuch Objective-C

define key @"value" 

Ist es möglich, ein Wörterbuch auf diese Weise zu definieren?
Wenn ja, wie lautet die Syntax zum Definieren eines Arrays?

Vielen Dank.

+1

Verwenden Sie die Kurzschreibensyntax: '@ {@" key ": @" value "}' oder '@ [@" item1 "]' und Sie können sie in #define setzen. – Larme

Antwort

1

Sie können definieren, was Sie wollen. Wenn Sie schreiben

#define identifier replacement 

Preprocessor während der Kompilierung (eigentlich bevor er etwas kompiliert) sucht nach indentifier im Quellcode und ersetzt sie durch replacement.

Sie können Ihren Wörterbuch oder Array auf diese Weise

#define kDictionary @{"key" : "value"\ 
         "key2" : "value2"} 
#define kArray @["item1", "item2"] 

Aufkantung am Ende der Linie definieren ist für mehrzeilige definiert erforderlich.

Ich empfehle jedoch nicht, #define zu verwenden. Sie sollten stattdessen eine Klasse mit einer Klassenmethode erstellen, die Ihnen das Wörterbuch/Array zur Verfügung stellt. Es ist weniger fehleranfällig.