【发布时间】:2010-10-02 23:32:07
【问题描述】:
我想测试从一种状态到另一种状态的转换。我在这样的枚举中定义了我的状态:
enum FingerStatus {
FINGERS_UP,
MOVING,
FINGERS_STILL
};
我有一个“currentState”和一个“newState”变量。我知道枚举只是整数,如果它们是 16 位整数(我认为它们是),则可以将两个枚举表示为一个 32 位整数。
我觉得我应该能够做一些类似的事情
switch ({currentStatus, newFingerStatus}) {
case {FINGERS_STILL, MOVING}:
NSLog(@"fingers starting to move");
break;
case {MOVING, FINGERS_STILL}:
NSLog(@"fingers stopped moving");
break;
default:
break;
}
我意识到语法完全错误,但我认为基本思想是正确的。有没有另一种好的、干净的方法来做到这一点?
【问题讨论】:
标签: c arrays state-machine