You can define whatever you want. If you write
#define identifier replacement
Preprocessor during compilation (actually before he compiles anything) looks for indentifier in your source code and replaces it with replacement.
You can define your dictionary or array in this way
#define kDictionary @{"key" : "value"\
"key2" : "value2"}
#define kArray @["item1", "item2"]
Backslash at the end of line is required for multiline defines.
However I don't recommend to use #define. You should rather create class with class method that will provide you with the dictionary/array. It is less error prone.