我在寻找cellForRowAtIndexPath的替代方法。我想要做的是在我的私有方法中,我正在检查退出单元格中的文本是否存在于数组中,如果是,则选择该单元格,否则保持取消选中状态。我了解到,cellForRowAtIndexPath只对可见单元格有效,如果单元格不可见,则返回nil。以下是我现在的代码:cellForRowAtIndexPath的替代方法
- (void)selectCells:(NSArray *)array
{
for (int row = 0; row < [self.tableView numberOfRowsInSection:1]; row ++)
{
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:row 1];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
if ([array containsObject:cell.textLabel.text] && !cell.isSelected)
{
[self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
}
}
我还能用什么来达到这个目的?
要清楚:你要替换的UITableView的cellForRowAtIndexPath,或在的cellForRowAtIndexPath的的UITableViewDelegate?他们是两个完全不同的东西。 (并且你不能真正“替换”任何一个 - 它们必须存在并被调用。) –
我不想替换实际的cellForRowAtIndexPath。我正在寻找一种替代方法来获取我的tableview上的所有单元格。所以在上面的方法中,我使用cellForRowAtIndexPath来获取单元格,但我知道它不会给我不可见的单元格。我想在上面的方法,可以返回我所有的细胞或建议一些最好的方式来实现我想要的东西。 –
嗯,你没有回答我的问题。但是你问错了。您不会尝试维护所有单元格,只是单元格中的数据。我发现一个包含NSMutableDictionarys的NSMutableArray对此很有效 - 每个单元属性都是相应字典中的名称/值对。 –