gpt4 book ai didi

objective-c - 为什么我不能在 Objective-C 中切换枚举

转载 作者:行者123 更新时间:2023-12-03 18:26:53 24 4
gpt4 key购买 nike

我似乎无法弄清楚应该如何将 switch 语句与我的自定义 typedef 枚举一起使用。 Xcode 告诉这个错误:

Statement requires expression of integer type (MyEnum *) is invalid.



这是我在标题中的 @interface 上声明的枚举
typedef enum {
A, B, C, D, E, F, G,
Ab, Bb, Db, Eb, Gb,
CSharp, DSharp, FSharp, GSharp
} Tones;

这是我的属性(property): @property(nonatomic) Tones *tone;
这是我获取枚举字符串值的函数
- (NSString *)stringValue {

switch (self.tone) {
case GSharp:
return @"G#";
...
}
}

最佳答案

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

@property(nonatomic) Tones tone;

关于objective-c - 为什么我不能在 Objective-C 中切换枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10280253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com