Iphone 从push segue返回时尝试在单元格中加载图片

Iphone 从push segue返回时尝试在单元格中加载图片,iphone,xcode,Iphone,Xcode,我有一个带有自定义单元格的表视图。我的单元格左侧有一个图像,该图像是一个黑色png,选中后我将其切换为白色png。该单元还连接了一个推送序列。我的问题是,当在目标视图中按下“后退”按钮并返回到表视图时,图标仍然是白色的,因此看起来它消失了。我需要重新加载黑色图标。我不能使用DidDeceloseRowatineXpath,因为视图在有机会启动之前就被卸载了。还有其他我不知道的方法吗?这是我当前的代码: - (void)tableView:(UITableView *)tableView

我有一个带有自定义单元格的表视图。我的单元格左侧有一个图像,该图像是一个黑色png,选中后我将其切换为白色png。该单元还连接了一个推送序列。我的问题是,当在目标视图中按下“后退”按钮并返回到表视图时,图标仍然是白色的,因此看起来它消失了。我需要重新加载黑色图标。我不能使用DidDeceloseRowatineXpath,因为视图在有机会启动之前就被卸载了。还有其他我不知道的方法吗?这是我当前的代码:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSArray *array = [self.listArray objectAtIndex:indexPath.section];
    StartRow *rowobject = [array objectAtIndex:indexPath.row];

    StartCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    cell.mainIcon.image = rowobject.iconWhite;

}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
        NSArray *array = [self.listArray objectAtIndex:indexPath.section];
        StartRow *rowobject = [array objectAtIndex:indexPath.row];

        StartCell *cell = [tableView cellForRowAtIndexPath:indexPath];
        cell.mainIcon.image = rowobject.icon;

    }

在视图中,将出现以下内容 [tableview重新加载数据]

实际上,您不希望每次出现表视图时都重新加载数据。相反,你想先学习,然后利用这些知识来学习


找到选定的单元格后,只需交换图像。

使用重载数据解决此类问题就像使用大锤敲开螺母。但当我返回视图时,当前已没有选定的单元格,是吗?那么,我是否需要将该索引路径推送到下一个视图中,然后在返回表视图时将其推回?您没有尝试吗?因为是,所以在您返回该视图之前,它仍然处于选中状态,因此您可以看到您来自何处。只要看看苹果的任何一款有TableView的应用程序就知道了。(即注释)太棒了,它能工作!我只是没有意识到在视图消失后仍然有一个选中的行,但它仍然被选中是完全有意义的。我不得不将表视图设置为IBOutlet,并在故事板中连接它,因为我想不出更有效的方法来找到它。但是,我只是找到了所选行的索引路径,并转到了我已经在DIDDENCEROWATINDEXPATH中输入的代码。再次感谢你的帮助。一般来说,我对Xcode和Obj-C非常陌生,所以每天我都会发现一些我不懂的新东西。