我不知道为什么我的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];
}
答案 0 :(得分:1)
从cellForRowAtIndexPath
更改您的代码
[segmentedControl1 addTarget:self action:@selector(segmentedControlIndexChanged:) forControlEvents:UIControlEventValueChanged];
到
[segmentedControl1 addTarget:self action:@selector(segmentedControlIndexChanged) forControlEvents:UIControlEventValueChanged];
如果你使用@selector(segmentedControlIndexChanged:)
,你说你的方法有一个参数(它没有)。