Как получить текст из textView из пользовательской ячейки iphone

У меня есть представление таблицы с пользовательской ячейкой. В моей пользовательской ячейке у меня есть метка и 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;

}

person Noor    schedule 02.04.2013    source источник


Ответы (3)


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

См. приведенный выше код, удалите предложенную мной строку, вам не нужно снова добавлять объект в массив, он уже обновлен с использованием ссылки на объект из dataArray.

Надеюсь это поможет..

person iphonic    schedule 02.04.2013

Сначала получите ячейку по определенному индексу, а затем получите представление из нее, а затем текстовое представление

Используйте следующую функцию, чтобы получить ячейку

[table cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]
person Payal    schedule 02.04.2013

// я думаю, это будет полезно для вас, попробуйте это

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

    nslog(@"%@",cellsuperView.txtViewAnswer.text);
}
person Lokesh Chowdary    schedule 02.04.2013