【问题标题】:Objective-c enum object to string [duplicate]Objective-c枚举对象到字符串[重复]
【发布时间】:2012-06-12 08:40:40
【问题描述】:

可能重复:
Convert objective-c typedef to its string equivalent

我有一个枚举声明如下:

typedef enum MODE {
    FRAMED, HALFPAGED, FULLPAGED
} MODE;

有什么方法可以将 FRAMED/HALFPAGED/FULLPAGED 转换为字符串。

我知道 C++ 有能力通过使用:

static String^ GetName(
    Type^ enumType,
    Object^ value
)

Objective-C 是否有等价物?

【问题讨论】:

    标签: objective-c enums


    【解决方案1】:

    你可以实现这样的方法:

    - (NSString*)modeToString:(MODE)mode{
        NSString *result = nil;
        switch(mode) {
            case FRAMED:
                result = @"FRAMED";
                break;
            case HALFPAGED:
                result = @"HALFPAGED";
                break;
            case FULLPAGED:
                result = @"FULLPAGED";
                break;
            default:
                [NSException raise:NSGenericException format:@"Unexpected MODE."];
        }
        return result;
    }
    

    【讨论】:

      【解决方案2】:

      据我所知,没有内置的方法可以满足您的要求。

      我的方法是这样的:

      - (NSString *)modeString:(MODE)mode
      {
          if(mode == FRAMED)
          {
              return @"FRAMED";
          }
          else if(mode == HALFPAGED)
          {
              return @"HALFPAGED";
          }
      
          return @"FULLPAGED";
      }
      

      【讨论】:

        猜你喜欢
        • 2011-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 2011-11-02
        • 2011-02-28
        • 1970-01-01
        相关资源
        最近更新 更多