代码之家  ›  专栏  ›  技术社区  ›  testing

是否可以使用类似枚举的UITableViewCellStyle作为方法的参数?

  •  0
  • testing  · 技术社区  · 14 年前

    我想用枚举作为函数的参数。这行吗?

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

    UIFont *resultFont = [self myMethodName:UITableViewCellStyleSubtitle];
    

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

    有可能吗?

    3 回复  |  直到 14 年前
        1
  •  3
  •   kennytm    14 年前
    • 这行吗?

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

      UIFont *resultFont = [self myMethodName:12345];
      

      仍然编译(假设你不使用ObjuleC++)。

        2
  •  2
  •   kovpas    14 年前

    当然:

    typedef enum _MyType {
        type_a = -1,
        type_b = 0,
        type_c = 1,
    } MyType;
    
    ...
    
    - (void) someMethod:(MyType)type {
        if (type == type_a) ...
    }
    
        3
  •  0
  •   Stephen Darlington    14 年前

    是的,有可能。