如何让 XCode (4.5, 4G182) 在 switch/case 构造中完成案例,并警告我缺少案例?
例如:
for (int i=0;i<[flat elementCount];i++) {
NSPoint elements[3];
NSBezierPathElement elem=[flat elementAtIndex:i associatedPoints:elements];
switch (elem ) {
case NSMoveToBezierPathElement: break;
case NSLineToBezierPathElement: break;
case
我过去曾见过这种情况。一旦街区关闭,它还警告我有关失踪案件。XCode 4.5 你怎么能做到这一点?
编辑:检查开关语句是否启用,我没有警告。
这是一个完成工作的小例子:
typedef enum {
kThisCase = 0,
kThatValue = 1,
kLastOne = 2
} myEnum;
myEnum var= kLastOne;
switch (var) {
case kThatValue: break;
case kLastOne: break;
case
CTRL+SPACE这里给了我 myEnum 的剩余可能值
在 NSBezierPathElement 完成的情况下,当我添加这个时:
typedef enum {
NSMoveToBezierPathElement,
NSLineToBezierPathElement,
NSCurveToBezierPathElement,
NSClosePathBezierPathElement
} NSBezierPathElement;
(从快速帮助面板复制)在开关构造之前,自动完成工作,但警告没有。
NSBezierPath.h 的内容
enum {
NSMoveToBezierPathElement,
NSLineToBezierPathElement,
NSCurveToBezierPathElement,
NSClosePathBezierPathElement
};
typedef NSUInteger NSBezierPathElement;
这是完成不起作用的解释吗?这个枚举不应该是 NSBezierPathElement 的类型吗?
这与快速帮助面板不匹配。在快速帮助面板中,我有这个:typedef enum { NSMoveToBezierPathElement, NSLineToBezierPathElement,
NSCurveToBezierPathElement, NSClosePathBezierPathElement} NSBezierPathElement;