Ios dequeueReusableCellWithIdentifier在DidSelectRowatineXpath方法中返回nil

Ios dequeueReusableCellWithIdentifier在DidSelectRowatineXpath方法中返回nil,ios,tableview,Ios,Tableview,我正在项目中使用CustomTableCell。我可以看到“dequeueReusableCellWithIdentifier”在方法“CellForRowatingIndexPath”中返回了一个有效的单元格,就像它在重新加载表时应该返回的那样 在CustomTableCell中,我有一些图像需要重用,无需再次下载。但是,每次在“didselectRowatinexPath”委托方法中使用时,我都会得到带有“dequeueReusableCellWithIdentifier”的“nil” 原来

我正在项目中使用CustomTableCell。我可以看到“dequeueReusableCellWithIdentifier”在方法“CellForRowatingIndexPath”中返回了一个有效的单元格,就像它在重新加载表时应该返回的那样

在CustomTableCell中,我有一些图像需要重用,无需再次下载。但是,每次在“didselectRowatinexPath”委托方法中使用时,我都会得到带有“dequeueReusableCellWithIdentifier”的“nil”

原来的桌子没有被毁。该表是类对象,我可以看到它与在“didselectrowatinexpath”参数中接收到的tableView相同

此行为与我使用tableview的项目中的out ViewController一致

我用的是ARC。你知道会出什么问题吗


谢谢大家!

这个问题有点模糊,但我相信您只是试图从“didselectrowatinexpath”中访问自定义单元格。如果是这种情况,则应利用:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomTableCell *myCell = (CustomTableCell*)[tableView cellForRowAtIndexPath:indexPath];
}
然后,您可以自由访问自定义单元格的任意部分

如果您好奇:


“dequeueReusableCellWithIdentifier”用于通过重用已“移动”到可见范围之外的表单元格来减少对象分配和释放量。i、 e如果您有一个包含1000个单元格的表,但在任何给定时间只有10个单元格可见~10个单元格将被创建并反复使用。因此,当调用dequeueReusableCellWithIdentifier时,将从当前未使用的单元格堆栈中拖出其中一个单元格,或者在堆栈为空时创建一个单元格。

为什么要尝试在didSelectRowAtIndexPath中对单元格进行出列?我正在从“didSelectRowAtIndexPath”调用其他ViewController,我想异步传递一些在CustomCell中获取的数据。我同意Till的观点。你的设计有缺陷。为什么要从该视图中获取任何数据。视图实际上不是保存数据的正确位置。这是在您的数据模型中完成的,因为我想执行一些特定于单元格的异步http请求。我想不出另一种方法,除非我想存储单元格上下文之外的所有内容。但是,你知道为什么dequeueReusableCellWithIdentifier不能在“didSelectRowAtIndexPath”委托中工作吗?Deque方法属于tableview,因此只要单元格引用在那里,它就应该在调用它的任何位置都能正常工作。