0

I've noticed the cells are taken out of memory when scrolled out of view and then added back into memory when scrolled into view.

I get the performance reasons for this, but since my table only has a couple of cells out of view, is there a way to turn off this caching feature?

4

1 回答 1

1

您可以尝试为每个索引路径使用不同的单元格标识符。

这样,UITableView将无法找到要出列的单元格,并且将提供一个新单元格。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSString * CellIdentifier = [NSString stringWithFormat:@"%d - %d", indexPath.row, indexPath.section];
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (!cell) cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

    return cell;
}

您也可以完全跳过排队/出队,并自己保留对它们的引用,然后将它们返回cellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    return [myCells objectAtIndex:indexPath.row];
}

保存您的 smyCells的数组在哪里?UITableViewCell

于 2012-06-06T13:54:50.217 回答