传递枚举中未定义的值

时间:2014-12-30 09:41:32

标签: objective-c enums

我有一个名为blender的类,其single instance variable, speed。 speed的类型为枚举BlenderSpeed,定义为

typedef NS_ENUM(NSUInteger, BlenderSpeed)
{
 BlenderSpeedStir=1 ,
 BlenderSpeedCop=2 ,
 BlenderSpeedCrush=3
} ;

main.m如下。基本上,当我在setSpeed消息发送中传递5作为参数时,我期待有一个警告,因为速度只应该采用每个枚举定义的值1,2和3。

但是在构建和运行代码时我没有看到任何问题。速度设置为5,没有任何问题。

int main(int argc, const char * argv[]) {
 @autoreleasepool {
    // insert code here...
    blender *myBlender = [[blender alloc] init] ;
    [myBlender setSpeed:2] ;
    NSLog(@"Current blender speeed = %lu",[myBlender speed]);
    [myBlender setSpeed:5] ;
    NSLog(@"Current blender speeed = %lu",[myBlender speed]);
 }
 return 0;
}

任何指针都将非常感激。

0 个答案:

没有答案