我不认为我从根本上理解它enum是什么,何时使用它.
例如:
typedef enum {
kCircle,
kRectangle,
kOblateSpheroid
} ShapeType;
Run Code Online (Sandbox Code Playgroud)
这里真的被宣布了什么?
我有一些UIPopoverViewControllers消息传递委托UIViewControllers传递UI事件.我没有为每个事件编写单独的方法,而是在委托中有一个方法,它有一个switch语句,它根据传递的常量确定如何处理事件(例如下面的例子).
这可能是糟糕的设计,但这是我想出来的.我已经看到关于枚举或静态类的这个问题,但是不理解答案.
So..is我在做什么坏,是有办法,我可以在一个地方定义枚举,这样我就不必维护多个代码位,可以很容易地得到不同步?
编辑好的,多挖一点(这里 + 这里)我看到我可能在正确的轨道上.所以我想我需要知道implementationiOS中文件的位置和位置.
enum {
kSetPlaybackType = 0,
kSetAllNotesOn,
kSetAllNotesOff,
kSetVelocity,
kSetDuration
};
- (void)barPropertyAction:(int)action withParam:(NSNumber *)param
{
switch (action) {
case kSetPlaybackType:
playbackType = [param intValue];
if (playbackType == kPalindrome){
palindromeDirection = kPalindromeUp;
}
break;
case kSetAllNotesOn:
for (BarNote* note in self.barNoteArray) {
note.noteOn = YES;
}
[self.bar updateWindows];
break;
case kSetAllNotesOff:
for (BarNote* note in self.barNoteArray) {
note.noteOn = NO;
}
[self.bar …Run Code Online (Sandbox Code Playgroud)