gpt4 book ai didi

ios - 在 UITableview 中,键入的文本字段值在不同的单元格中重复出现,如何使用 objective-c 纠正该问题

转载 作者:行者123 更新时间:2023-11-28 21:03:32 25 4
gpt4 key购买 nike

我是 tableview 中 objective-c 的新手 我在 uitableview 单元格中动态填充文本字段它工作正常但是每当用户在 uitextfield 中键入值时该值会重复到另一个单元格文本字段谁能帮我解决这个问题错误。这是我的示例代码,我还添加了下面的示例屏幕截图供您引用。 tableview screen shot

 #import "TableViewController.h"
#import "TableViewCell.h"
@interface TableViewController ()<UITableViewDelegate>
@end
@implementation TableViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.mytableview.dataSource=self;
self.mytableview.delegate=self;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 20;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellidentifier=@"cell";
TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellidentifier];
if (!cell) {
cell= [[TableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellidentifier];



}
return cell;
}


@end

最佳答案

实际上,文本出现在另一个单元格上,因为当您通过 TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellidentifier]

创建单元格时,该单元格被重用

将此代码添加到您的 TableViewCell.m

- (void)prepareForReuse {
self.textfield.text = @"";
}

TableViewController.m

#import "TableViewController.h"
#import "TableViewCell.h"

#define numberOfRow 20;

@interface TableViewController ()<UITableViewDelegate, UITextFieldDelegate>
@property (nonatomic, strong) NSMutableArray* texts;
@end
@implementation TableViewController
- (void)viewDidLoad {
[super viewDidLoad];
_texts = [[NSMutableArray alloc] init];

for (int i = 0; i < numberOfRow; i++) {
[_texts addObject:@""];
}

self.mytableview.dataSource=self;
self.mytableview.delegate=self;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return numberOfRow;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellidentifier=@"cell";
TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellidentifier];
if (!cell) {
cell= [[TableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellidentifier];
}

cell.textField.text = _texts[indexPath.row];
cell.textField.tag = indexPath.row;
cell.textField.delegate = self;

return cell;
}

- (void)textFieldDidEndEditing:(UITextField *)textField {
_text[textField.tag] = textField.text;
}
@end

关于ios - 在 UITableview 中,键入的文本字段值在不同的单元格中重复出现,如何使用 objective-c 纠正该问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47008705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com