gpt4 book ai didi

iphone - reloadData 只刷新一行

转载 作者:行者123 更新时间:2023-11-28 18:12:26 25 4
gpt4 key购买 nike

我有一个 4 行的分组 tableView。我对我在两个 View 之间做事的方式进行了大修,现在 reloadData 表现得很奇怪。它只会刷新一行中的数据。 (最后一个)和其他人都没有。

我已经在我的 viewDidAppear 方法(我调用 reloadData)中检查了我的值,并且我的所有值都已更新。

代码..

 - (void)viewDidAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// reload the table data
[self.tableView reloadData];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Set up the cell...
static NSString *CellWithIdentifier = @"Cell";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellWithIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellWithIdentifier];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.textLabel.text = [_tableGroup.options objectAtIndex:rowcount];
cell.tag = rowcount;
rowcount++;

//label for currently selected/saved setting
_currentSetting = [[BaseLabel alloc] initWithFrame:CGRectMake(160, 8, 115, 25)];
[_currentSetting setFont:[UIFont systemFontOfSize:14]];
_currentSetting.backgroundColor = [UIColor clearColor];
_currentSetting.textColor = [UIColor blueColor];
_currentSetting.textAlignment = NSTextAlignmentRight;
}

if (cell.tag == 0) {
_currentSetting.text = [NSString stringWithFormat:@"%@ mi",[settings.val1 stringValue]];

}
else if(cell.tag == 1)
{
_currentSetting.text = [NSString stringWithFormat:@"%@ items",[settings.val2 stringValue]];

}
else if(cell.tag == 2)
{
_currentSetting.text = [NSString stringWithFormat:@"%@ items",[settings.val3 stringValue]];

}

[cell.contentView addSubview:_currentSetting];

return cell;
}

我已经完成了 NSLog,并且在 reloadData 上一切都被调用了,但单元格没有改变它们的标签。为什么?

最佳答案

我在这里看到的主要问题是:

cell.tag = rowcount;
rowcount++;

cell.tag 不能出现在 if (cell == nil) 中,你应该把它去掉。相反,您根本不应该检查 cell.tag 来设置 currentSettingText,您应该使用 indexPath.row

同样在每个 viewDidAppear 中,当您重新加载表时,将调用 cellForRowAtIndexPath,这会增加 rowCount,因此每次都会增加 cell.tag,您在哪里重置它?

关于iphone - reloadData 只刷新一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14654637/

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