当单元格重新出现时停止重新加载UITableViewCell!
在这个方法:当单元格重新出现时停止重新加载UITableViewCell!
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
如果我叫NSLog
它会打印出日志当UITableViewCell
显示每一次在屏幕上。我只是想知道是否可以加载这个单元格一次,而不是每次再次出现时重新加载它。我明白,这不是一个非常有效的设计,但它只是在我需要做的一个单元格上!
谢谢
当然。你可以在viewDidLoad中创建你的单元格,并从tableView:cellForRowAtIndexPath:中返回。 cellForRowAtIndexPath仍然会被调用,但你只创建/初始化你的单元格一次。如果你喜欢,你可以用这种方式创建所有的单元格,并将它们存储在一个数组中。当视图卸载时,不要忘记释放这些单元格。
- (void)viewDidLoad
{
[super viewDidLoad];
_myCachedCell = [[UITableViewCell alloc] initWithStyle: UITableViewStylePlain reuseIdentifier: nil];
_myCachedCell.textLabel.text = @"some text";
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0 && indexPath.row == 0)
return _myCachedCell;
谢谢你现在就试试吧! :) – 2010-11-07 20:10:44
不是一个好主意 – 2010-11-07 20:12:14
我不是说它不是一个好主意。这个问题表明他明白这不是最好的设计。但是,如果您拥有固定单元数量有限的TableView,那么这可以快速简单地获得您所需的内容。 – TomSwift 2010-11-07 20:30:47
你试图解决什么问题,你认为这会对你有好处? – imaginaryboy 2010-11-07 20:19:43
刚刚对下面的答案发表了评论... – 2010-11-07 20:41:18