分段控制总是返回0

cle*_*ent 3 iphone indexing switch-statement uisegmentedcontrol uinavigationcontroller

我正在使用带有导航项的TabBar应用程序,其中包含一个UISegmentedControl.

当捕捉到"值已更改"事件时,我已连接了一个方法.

该方法始终捕获0作为SegmentIndex ...

这是我的头文件:

#import <UIKit/UIKit.h>


@interface GraphNavController : UINavigationController {

    IBOutlet UIImage *image;
    CGPoint gestureStartPoint;
    UISegmentedControl *segmentedControl;
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

-(IBAction) segmentedControlIndexChanged;

-(void)journalier;
-(void)mensuel;
-(void)annuel;


@property (nonatomic, retain) IBOutlet UIImage *image;
@property (nonatomic, retain) IBOutlet UISegmentedControl *segmentedControl;

@end
Run Code Online (Sandbox Code Playgroud)

方法在这里:

-(IBAction) segmentedControlIndexChanged{

    switch (self.segmentedControl.selectedSegmentIndex) {
        case 0:
            NSLog(@"1");
            break;
        case 1:
            NSLog(@"2");
            break;
        case 2:
            NSLog(@"3");
            break;
        default:
            break;
    }

}
Run Code Online (Sandbox Code Playgroud)

我希望我们能找到解决方案

非常感谢

fsa*_*int 5

这个问题的一个可能的解释是self.segmentedControl是零.self.segmentedControl是IBOutlet吗?或者在代码中创建?检查self.segmentedControl == nil.