是否可以使用像UITableViewCellStyle这样的枚举作为方法的参数?

时间:2010-10-26 09:16:06

标签: iphone objective-c cocoa-touch enums

我希望枚举作为我的函数的参数。这会有用吗?

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

然后我会这样调用这个方法

UIFont *resultFont = [self myMethodName:UITableViewCellStyleSubtitle];

只允许以下参数: UITableViewCellStyleDefault,    UITableViewCellStyleValue1,    UITableViewCellStyleValue2,    UITableViewCellStyleSubtitle

有可能吗?

3 个答案:

答案 0 :(得分:3)

  • 这会有效吗?→是

  • 只允许以下参数:→不可以将输入限制为仅这些值,即

    UIFont *resultFont = [self myMethodName:12345];
    

    仍将编译(假设您没有使用Objective-C ++)。

答案 1 :(得分:2)

不确定

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

...

- (void) someMethod:(MyType)type {
    if (type == type_a) ...
}

答案 2 :(得分:0)

是的,这是可能的。

(这感觉就像一个不必要的简短回答,但我想不出任何其他的补充!)