点击segmentedControl会产生无法识别的选择器错误

时间:2012-11-05 14:32:25

标签: ios uisegmentedcontrol

我不知道为什么我的segmentedControl无效。如果按下它,我会收到错误

  

[AddDetailViewController segmentedControlIndexChanged:]:无法识别的选择器发送到实例0x71e0ad0
  2012-11-05 16:25:51.380 proiect_caini [5903:c07] * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [AddDetailViewController segmentedControlIndexChanged:]:发送到实例0x71e0ad0的无法识别的选择器“

我希望当我点击位于表格单元格中的segmentedControl以进行选择并保存时,我可以显示它。

另一个问题是我无法在单元格的右侧找到它。

这是我的代码:

当我创建单元格

时,此代码位于cellForRowAtIndexPath中
 case 8:{
        cell.textLabel.text = @"Parinti";
        //inputField.text = 
        lblParinti.text = dog?dog.parinti:@"";

        segmentedControl1 = [[UISegmentedControl alloc] initWithItems: segmentItems];
 //            segmentedControl1.segmentedControlStyle = UISegmentedControlStyleBar;
 //            segmentedControl1.selectedSegmentIndex = 0;

        [segmentedControl1 addTarget:self action:@selector(segmentedControlIndexChanged:) forControlEvents:UIControlEventValueChanged];

        [cell addSubview:lblParinti];
        [cell.contentView addSubview:segmentedControl1];
        break;}

以下是触发的事件:

  -(void) segmentedControlIndexChanged{

    // reload data based on the new index

    if (segmentedControl1.selectedSegmentIndex == 0) {
        dog.parinti = @"Da";
    } else if (segmentedControl1.selectedSegmentIndex == 1) {
        dog.parinti = @"Nu";
    }
    //dog.parinti = [segmentedControl1 titleForSegmentAtIndex:segmentedControl1.selectedSegmentIndex];

    [self.tableView reloadData];

}

1 个答案:

答案 0 :(得分:1)

cellForRowAtIndexPath更改您的代码

[segmentedControl1 addTarget:self action:@selector(segmentedControlIndexChanged:) forControlEvents:UIControlEventValueChanged];

[segmentedControl1 addTarget:self action:@selector(segmentedControlIndexChanged) forControlEvents:UIControlEventValueChanged];

如果你使用@selector(segmentedControlIndexChanged:),你说你的方法有一个参数(它没有)。