为什么我不能在目标c中切换枚举

chr*_*hrs 2 xcode enums objective-c switch-statement

我似乎无法弄清楚如何使用我的自定义typedef枚举的switch语句.Xcode告诉此错误:语句要求表达整数类型(MyEnum*)无效.

这是我在标题中的@interface上声明的枚举

typedef enum {
  A, B, C, D, E, F, G,
  Ab, Bb, Db, Eb, Gb,
  CSharp, DSharp, FSharp, GSharp
} Tones;
Run Code Online (Sandbox Code Playgroud)

这是我的财产: @property(nonatomic) Tones *tone;

这是我获取枚举的字符串值的函数

- (NSString *)stringValue {

  switch (self.tone) {
    case GSharp:
      return @"G#";
    ...
  } 
}
Run Code Online (Sandbox Code Playgroud)

Luk*_*man 15

枚举有文字值(基本上是整数),而不是对象指针.因此它应该是:

@property(nonatomic) Tones tone;
Run Code Online (Sandbox Code Playgroud)