Можно ли использовать перечисление как UITableViewCellStyle в качестве параметра метода? - PullRequest
0 голосов
/ 26 октября 2010

Я хочу иметь enum в качестве параметра моей функции. Будет ли это работать?

(UIFont*) myMethodName:(UITableViewCellStyle) cellStyle {
    //...
    if (cellStyle == UITableViewCellStyleValue2)
        // ...
}

Тогда я бы назвал метод следующим образом

UIFont *resultFont = [self myMethodName:UITableViewCellStyleSubtitle];

Допускаются только следующие параметры: UITableViewCellStyleDefault, UITableViewCellStyleValue1, UITableViewCellStyleValue2, UITableViewCellStyleSubtitle

Возможно ли это?

Ответы [ 3 ]

3 голосов
/ 26 октября 2010
  • Будет ли это работать? → Да

  • Допускаются только следующие параметры: → Нетневозможно ограничить ввод только этими значениями, т.е.

    UIFont *resultFont = [self myMethodName:12345];
    

    все равно будет компилироваться (при условии, что вы не используете Objective-C ++).

2 голосов
/ 26 октября 2010

Sure:

typedef enum _MyType {
    type_a = -1,
    type_b = 0,
    type_c = 1,
} MyType;

...

- (void) someMethod:(MyType)type {
    if (type == type_a) ...
}
0 голосов
/ 26 октября 2010

Да, это возможно.

(Это похоже на излишне короткий ответ, но я не могу придумать, что еще добавить!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...