iPhone的分段控制不起作用

时间:2011-04-12 07:00:43

标签: iphone objective-c

我有一个分段控件,其操作方法中包含以下代码:

-(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是未声明的标识符。任何人都可以帮我解决这里的错误吗?

4 个答案:

答案 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时犯了错误。