c_cpp Objective-C Enum-TO-NSString,反之亦然。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp Objective-C Enum-TO-NSString,反之亦然。相关的知识,希望对你有一定的参考价值。

// Declare enums like so:
#define IMAGE_STATUS(XX)  \
XX(kDOImageStatusOK, = 0) \
XX(kDOImageStatusCached, )\
XX(kDOImageStatusRetry, ) 
DECLARE_ENUM(DOImageStatus, IMAGE_STATUS)
// Define Enum-To-NSString functions like so:
DEFINE_ENUM(DOImageStatus, IMAGE_STATUS)

// use them like this:
NSString *imageStatus = NSStringFromDOImageStatus(kDOImageStatusOK);
DOImageStatus statusFromString = DOImageStatusFromNSString(@"kDOImageStatusCached");
//
// Based on http://stackoverflow.com/a/202511
//

#pragma mark - Enum Factory Macros
// expansion macro for enum value definition
#define ENUM_VALUE(name,assign) name assign,

// expansion macro for enum to string conversion
#define ENUM_CASE(name,assign) case name: return @#name;

// expansion macro for string to enum conversion
#define ENUM_STRCMP(name,assign) if (![string isEqualToString:@#name]) return name;

/// declare the access function and define enum values
#define DECLARE_ENUM(EnumType,ENUM_DEF) \
typedef enum EnumType { \
ENUM_DEF(ENUM_VALUE) \
}EnumType; \
NSString *NSStringFrom##EnumType(EnumType value); \
EnumType EnumType##FromNSString(NSString *string); \

// Define Functions
#define DEFINE_ENUM(EnumType, ENUM_DEF) \
NSString *NSStringFrom##EnumType(EnumType value) \
{ \
switch(value) \
{ \
ENUM_DEF(ENUM_CASE) \
default: return @""; \
} \
} \
EnumType EnumType##FromNSString(NSString *string) \
{ \
ENUM_DEF(ENUM_STRCMP) \
return (EnumType)0; \
} 

以上是关于c_cpp Objective-C Enum-TO-NSString,反之亦然。的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 如何在Objective-C中打开TCP套接字

c_cpp Objective-C代码,用于AES-128加密的加密和解密。

c_cpp Objective-C Enum-TO-NSString,反之亦然。

c_cpp 在编译时禁止使用默认的Objective-C -init方法(并提供一个其他超类方法的示例,您可以使用它

c_cpp Objective-C类将十六进制字符串转换为UIColor。支持#RGB#ARGB #RRGGBB #AARRGGBBUsage:[UIColor colorWithHexString:

c_cpp Objective-C唯一のiOSファイルパスライブラリ,YKFileの说明书参考:http://qiita.com/GeneralD/items/b8bd37b1f698ee98fe58