I defined a series of string constants like below, in macro way,
#define EXT_RESULT_APPID @"appid"
#define EXT_RESULT_ERROR_CODE @"errorcode"
#define EXT_RESULT_PROGRESS @"progress"
...
All these constants are supposed to be used in same context, so I'd like to constraint them in a same namespace, and I don't want to make them global, just like what this post said.
In the other hand, I could put all numeric constants in an enum but it doesn't work for strings. Then how could I group these related string constants?
Here's one approach:
MONExtResult.h
// add __unsafe_unretained if compiling for ARC
struct MONExtResultStruct {
NSString * const AppID;
NSString * const ErrorCode;
NSString * const Progress;
};
extern const struct MONExtResultStruct MONExtResult;
MONExtResult.m
const struct MONExtResultStruct MONExtResult = {
.AppID = @"appid",
.ErrorCode = @"errorcode",
.Progress = @"progress"
};
In use:
NSString * str = MONExtResult.AppID;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With