UISegmentedControl选择的索引总是0?

She*_*lam 5 iphone cocoa-touch objective-c interface-builder uisegmentedcontrol

我有一个UISegmentedControl,它有6个段,我在Interface Builder中创建.我在值改变时调用以下方法:

-(IBAction)segmentedChartButtonChanged:(id)sender
{
    switch (self.segmentedChartButton.selectedSegmentIndex) {
        case 0:
            NSLog(@"5d selected. Index: %d", self.segmentedChartButton.selectedSegmentIndex);
            break;
        case 1:
            NSLog(@"3m selected. Index: %d", self.segmentedChartButton.selectedSegmentIndex);
            break;
        default:
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

每当我改变段,selectedSegmentIndex is always 0.为什么是这样?

Dee*_*olu 20

它很可能IBOutlet没有连接.检查一下.您还可以使用sender传递给方法的内容.

UISegmentedControl * segmentedControl = (UISegmentedControl *)sender;
switch (segmentedControl.selectedSegmentIndex) {
    ....
Run Code Online (Sandbox Code Playgroud)