смоделировать java enum target-c - PullRequest
1 голос
/ 07 августа 2010

в java enum может быть объявлен следующим образом

enum MyEnum {
  ONE("descr for one"),
  TWO("descr for two");

  private String descr;

  MyEnum(String descr) {
    this.descr=descr;
  }

  public String getDescr() {return this.descr;}
}

, поэтому мы всегда можем вызвать myEnumInstance.getDescr () для получения описания enum.Можно, конечно, добавить несколько переменных в конструктор и создать соответствующий ему метод доступа.Есть ли что-то похожее в target-c?

спасибо

1 Ответ

5 голосов
/ 07 августа 2010

Нет.К сожалению для вас, в ObjectiveC нет ничего похожего.

У вас может быть перечисление класса помощника для NSString * хотя ...

Примерно так:

typedef enum {
   kONE,
   kTWO
} MyEnum;

А потом где-нибудь метод / сообщение класса:

+ (NSString*) getDescriptionFor:(MyEnum)e
{
    switch(e) {
        case kONE:
             return @"descr for one";
        case kTWO:
             return @"descr for two";
        default:
             break;
    }
    return @"";
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...