ボタンを押すと空にリセットする必要がある tableView のセルにテキスト フィールドとラベルがいくつかあります。テーブルがリロードされ、値を保持する必要がある状況があるため、reloadData 呼び出しで cellForRowAtIndexPath のすべてを @"" に設定することはできません。
したがって、唯一のオプションは、すべてのテキストフィールドまたはラベルを何らかの方法でループし、それらのテキストを個別に @"" に設定することです。しかし、セルにアクセスしてから、テキストフィールドまたはラベルを引き出すにはどうすればよいでしょうか? 私のテーブルもさまざまな種類のカスタムセルで構成されていることに注意してください。
おそらくタグを使用するのが最善だと思いましたが、セルの「viewWithTag」呼び出しにアクセスする方法がわかりません。そんなものさえあれば。
テキストフィールドが作成される場所に追加されたコードブロックを編集します
BaseTableViewCell *baseCell = (BaseTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellWithIdentifier];
if (baseCell == nil){
baseCell = [[BaseTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellWithIdentifier];
BaseTextField *rightText = [[BaseTextField alloc] initWithFrame:CGRectMake(150, 7, 150, 31)];
rightText.placeholder = tableValues.key;
rightText.font = [UIFont systemFontOfSize:14];
rightText.tag = (indexPath.section + 1) + (indexPath.row + 1);
rightText.delegate = self;
[baseCell addSubview:rightText];
}
NSLog(@"resetting text");
baseCell.selectionStyle = UITableViewCellSelectionStyleNone;
baseCell.backgroundColor = [UIColor clearColor];
baseCell.backgroundView = [[UIView alloc] initWithFrame:CGRectZero];
baseCell.textLabel.text = tableValues.value;
return baseCell;
}