Ios 一行中的一组单选按钮,同时选择一行中的一个单选按钮会影响另一行-objective-c

Ios 一行中的一组单选按钮,同时选择一行中的一个单选按钮会影响另一行-objective-c,ios,objective-c,uitableview,radio-button,Ios,Objective C,Uitableview,Radio Button,我的应用程序有一个选择题和答案类型的屏幕 为此,我设计了带有UITableView的屏幕,即,在一行中,我用四个单选按钮选择了四个答案。 在这里,我的确切问题是,如果当我在一行中选择一个单选按钮时,它会自动选择另一行以及我之前选择的内容。例如,在第1行中,我选择了option2单选按钮,然后在此自动选择另一行的option2 我已经尝试了下面的代码,请帮助我。 提前谢谢 -(UITableViewCell*)tableView:(UITableView*)tableView cellForRo

我的应用程序有一个选择题和答案类型的屏幕

为此,我设计了带有UITableView的屏幕,即,在一行中,我用四个单选按钮选择了四个答案。 在这里,我的确切问题是,如果当我在一行中选择一个单选按钮时,它会自动选择另一行以及我之前选择的内容。例如,在第1行中,我选择了option2单选按钮,然后在此自动选择另一行的option2

我已经尝试了下面的代码,请帮助我。 提前谢谢

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{
cell=[\u tableViewRef dequeueReusableCellWithIdentifier:@“cell”];
cell.selectionStyle=UITableViewCellSelectionStyleNone;
NSString*rowNumber=[NSString stringWithFormat:@“%ld”,(长)indexPath.row+1];
[[cell questionLbl]setText:[NSString stringWithFormat:@“%@.%@”,行号,@“在UITableView后面提供您自己的固定背景?”];
[cell.option1RadioBtn addTarget:self
操作:@选择器(radioBtnn1Action:)
forControlEvents:UIControlEventTouchUpInside];
[cell.option2RadioBtn addTarget:self
操作:@选择器(radioBtnn2Action:)
forControlEvents:UIControlEventTouchUpInside];
[cell.option3RadioBtn添加目标:自身
操作:@选择器(radioBtnn3Action:)
forControlEvents:UIControlEventTouchUpInside];
[cell.option4RadioBtn添加目标:自身
操作:@选择器(radioBtnn4Action:)
forControlEvents:UIControlEventTouchUpInside];
返回单元;

}
您的代码中有很多地方可以改进,一些小事情可能会导致这种行为。我张贴您的代码与修改。请用我的代码块替换你的代码块。代码中的问题是全局声明了单元格,并引用了全局声明的表视图。我想让你做的最有效的改进是用点击按钮检测单元格。您不需要这些代码来实现这一点。让我们开始吧

为了保持选择状态,我们将使用array sectionData

将此代码添加到did load函数

for (int index = 0; index < 10; index ++) {//taken 10 because you are using only 10 rows
    [sectionData addObject:@"0"];
}

看起来您已经有了一个自定义单元格

而不是在手机上贴标签。 让单元格接受一个问题模型。 模型可能类似于

课堂提问模式 财产问题 属性选择

您的单元格有一个属性=questionModel 并处理按钮选择。因此,当您使用单元格属性设置器指定问题模型时,您也可以设置按钮状态。在单元格中使用按钮目标/操作调用方法更新问题模型选择属性

您可以在tableView源中设置cell.question,而不是直接设置标签


底线是,单元格应该处理模型,而不是viewController。它只是将模型传递给单元格。

您应该使用radiobutton的标签。像这样:=>option1RadioBtn.tag=1,依此类推。和radioBtnn1Action函数验证option1RadioBtn.tag==1是否类似于此。hey@iParesh感谢您的回复,您可以在此处发布一些代码片段。您需要创建一个nsmutablearray,而不是默认情况下添加4个单选按钮值0。hwen用户可以为特定单选按钮索引值选择任何一个set 1值,因为此问题tableview是否可重用单元格问题Hey@Jigar谢谢你能给我一些代码吗here@Sajida看看这个。在这个问题上你有了一些想法。如果有任何问题,请告诉mei我的代码中遗漏了什么。我已经编辑了答案。请使用CellForRowatineXpathi的最新代码块谢谢,但这里是[cell.option1RadioBtn setIndexPath:indexPath];显示一些错误,如*否visible@interface对于“UIButton”声明的选择器“setIndexpath”*请参考答案中的粗体行。我提到您将这些按钮的类更改为CustomButton。此外,为了更好地理解,我还编辑了相同的块。再次复制cellForRowAtIndexPath代码。嘿,mahesh,谢谢我尝试了你的代码,但问题仍然与以前一样,当我在一行中选择一个单选按钮时,它会自动选择另一行以及我之前选择的内容。重新阅读你的问题时,问题模型应该包括答案作为属性,甚至可能作为数组。关键是,QuestionModel应该具有显示状态和记录状态更改所需的所有信息。