3

我有一个带有自定义单元格的表格视图。在我的自定义单元格上,我有一个标签和 textView,我想从 textView 获取数据以保存在反馈按钮中。当我在我的数据数组中添加 txtView 时,我得到了两次自定义单元格。如何消除此问题

- (void)textViewDidEndEditing:(UITextView *)textView
{
    FeedbackQuestionDC *feedBack = [dataArray objectAtIndex:textView.tag];
    feedBack.FeedbackQuestionDC_Answers=textView.text;
    [dataArray addObject:feedBack];
    [myTableView reloadData];


}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *simpleTableIdentifier = @"Feed Back";

    feedBackCC *cell = (feedBackCC *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil) {
        UIViewController *c = [[UIViewController alloc] initWithNibName:@"feedBackCC" bundle:nil];
        cell = (feedBackCC *) c.view;

    }
    cell.textLabel.font = [UIFont boldSystemFontOfSize:15.0];
    FeedbackQuestionDC *feedBack = [dataArray objectAtIndex:[indexPath row]];
         cell.lblQuestion.text = feedBack.FeedbackQuestionDC_QuestionText;

    cell.txtViewAnswer.tag=indexPath.row;
    cell.txtViewAnswer.text=feedBack.FeedbackQuestionDC_Answers;

    cell.txtViewAnswer.delegate=self;



    return cell;

}
4

3 回答 3

4

首先获取特定索引处的单元格,然后从中获取视图,然后是 textview

使用以下函数获取单元格

[table cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]
于 2013-04-02T08:21:12.190 回答
2

// 我认为这对你有用,试试这个

- (void)textViewDidEndEditing:(UITextView *)textView
{
    feedBackCC *cellsuperView = (feedBackCC *)[textView superview];

    nslog(@"%@",cellsuperView.txtViewAnswer.text);
}
于 2013-04-02T08:17:12.397 回答
2
- (void)textViewDidEndEditing:(UITextView *)textView
{
   FeedbackQuestionDC *feedBack = [dataArray objectAtIndex:textView.tag];
   feedBack.FeedbackQuestionDC_Answers=textView.text;
   [dataArray addObject:feedBack]; //REMOVE THIS LINE 
   [myTableView reloadData];
}

请参阅上面的代码删除我建议的行,您不需要再次将对象添加到数组中,它已经使用 dataArray 中对象的引用进行了更新。

希望这可以帮助..

于 2013-04-02T09:04:24.813 回答