我最近调试了一个问题,该问题是由于将枚举与非枚举值进行比较而引起的。这是一个简化的示例:
typedef NS_ENUM(NSInteger, MyType) {
TypeVal1,
};
...
MyType type = TypeVal1;
int randomValue = 0;
BOOL compareTypeAndPrimiative = (randomValue == typeA); // No warning
是否可以为此打开警告?
如果需要,我可以通过显式转换来抑制:
BOOL iKnowWhatImDoing = (randomValue == (int) typeA);