gpt4 book ai didi

ios - 从可重复使用的单元中删除旧数据

转载 作者:行者123 更新时间:2023-12-02 04:05:09 25 4
gpt4 key购买 nike

我有一个 uitableview,每个单元格都有一个 ScrollView 作为 subview 。 ScrollView 中有一堆图像。所以当我更改数据源中的数据并调用重新加载表后图像不会改变,但是当我删除出列时,新数据会重新加载。有没有什么方法可以删除出队中的内容,这样我就不会得到旧数据

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"looser"];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
scrollview=[[myscrollView alloc]initwitharray:imagearray];
[cell.contentView addSubview:scrollview];
}
}

最佳答案

表格 View 的工作原理如下:

屏幕上有一定数量的单元格空间,以 7 个为例。表格 View 将要求您提供索引 0 到 6 的 7 个单元格。

如果顶部单元格通过滚动离开屏幕,它将被放入可重用单元格队列中。表格 View 上现在有 6 个单元格。

现在底部出现了一个新的单元格,tableview 要求索引 7 处的单元格。您调用 dequeueReusableCell,然后您将获得之前位于顶部的单元格。

tableView 不知道你的单元格是什么样的,因为它可以被子类化,所以它不会对其进行任何更改。您可以利用有关如何构建表格单元格的知识来清空它,然后用正确的新数据填充它。

tableview 如此工作的原因是为了性能。每次滚动移动时,不再需要检查 100 个 View (或者大部分都被忽略,这也花费时间),而是最多 7 个 View 。

简而言之,不。没有默认方法可以从 UITableView 中的可重用单元格中删除数据,因为 UITableView 不能也不应该知道它们是什么类型的单元格。当表格 View 为您提供单元格时,您可以自行清除单元格。

关于ios - 从可重复使用的单元中删除旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888473/

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