我有一个分段控件,其操作方法中包含以下代码:
-(IBAction)toggleControls:(id)sender{
if([sender selectedSegmentIndex] == kSwitchesSegmentIndex){
leftSwitch.hidden = NO;
rightSwitch.hidden = NO;
doSomethingButton.hidden = YES;
}
else{
leftSwitch.hidden = YES;
rightSwitch.hidden = YES;
doSomethingButton.hidden = NO;
}
}
但是,当我运行该程序时,我收到kSwitchesSegmentIndex
错误。它说kSwitchesSegmentIndex
是未声明的标识符。任何人都可以帮我解决这里的错误吗?
答案 0 :(得分:2)
您必须告诉我们kSwitchesSegmentIndex
的定义位置。惯例是定义类似的变量:
#define kSwitchesSegmentIndex 1
或者,您可以将其定义为int:
int kSwitchesSegmentIndex = 1;
因为它不需要改变值,所以第一选择可能是最好的。
示例:
#include <AVFoundation/AVFoundation.h>
#define kMyConstant1 0
#define kMyConstant2 1
@implementation MyClass
答案 1 :(得分:1)
您尚未在代码中声明kSwitchesSegmentIndex
,
做点什么
#define kSwitchesSegmentIndex 0
答案 2 :(得分:1)
您需要使用某个值定义该未定义的符号。
您使用的变量kSwitchesSegmentIndex
未在代码中的任何位置声明。
所以只需用这样的值声明你的常量:
#define kSwitchesSegmentIndex 1
答案 3 :(得分:0)
你在声明kSwitchesSegmentIndex
时犯了错误。