我在UITableView中使用静态单元格布局。在工作流程中,我需要解决特定单元格的属性。所有单元都有一个标识符,但是我没有找到使用该标识符实际寻址该单元的方法。
谢谢,
EM
最佳答案
cellForRowAtIndexPath:
不可靠的原因可能是这样的(来自文档):
表示表单元格的对象;如果该单元格不可见或indexPath超出范围,则为nil。
如果您请求在屏幕上不可见的单元格,则可能已从表格视图中清除了该单元格。
由于您提到在表视图中使用静态单元格布局(我假设您不依赖单元格重用),因此可以考虑将单元格保留为私有属性:
在专用界面中:
@interface MyViewController ()
@property (nonatomic, readonly) MyTableViewCellClass *myStaticCell;
@end
在执行中:
@implementation MyViewController {
MyTableViewCellClass* _myStaticCell;
}
- (MyTableViewCellClass*) myStaticCell {
if (!_myStaticCell) {
// Initialize _myStaticCell
}
return _myStaticCell
}
然后,当调用
tableView:cellForItemAtIndexPath:
以及需要修改它时,可以调用此延迟加载的属性。请注意,仅当您的表格视图具有静态内容并且不依赖单元格重用时,才建议使用此方法。