ビューからスクロールするとセルがメモリから取り出され、スクロールしてビューに戻るとメモリに追加されることに気付きました。
これにはパフォーマンス上の理由がありますが、私のテーブルにはいくつかのセルしか表示されていないため、このキャッシュ機能をオフにする方法はありますか?
ビューからスクロールするとセルがメモリから取り出され、スクロールしてビューに戻るとメモリに追加されることに気付きました。
これにはパフォーマンス上の理由がありますが、私のテーブルにはいくつかのセルしか表示されていないため、このキャッシュ機能をオフにする方法はありますか?
インデックス パスごとに異なるセル識別子を使用してみてください。
そう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];
}
myCells
あなたの s を保持する配列はどこにありますかUITableViewCell
。