在UITableViews和视图之间导航并保留数据?

时间:2012-05-26 12:59:36

标签: objective-c ios uitableview

我已经创建了一个带有UITableView的View Controller。当我点击一个单元格时,它会使用方法:

将用户引导到具有选项表视图的另一个视图
[self.navigationController pushViewController:optionsView animated:YES];

在这个视图中,我希望点击一个单元格可以让用户转到上一个视图。所以我用:

[self.navigationController popViewControllerAnimated:YES];

完美无缺。但我只是不知道如何保持所选单元格的索引。有什么建议吗?

非常感谢

3 个答案:

答案 0 :(得分:1)

通过在推送控制器之前在delegate类中定义optionsView属性并将其设置为self,可以使第一个视图控制器成为第二个视图控制器的委托。然后,在弹出控制器之前,您可以通过委托引用将您需要的任何信息发送回第一个控制器。

答案 1 :(得分:1)

因此,在父视图控制器中,声明一个类成员NSIndexPath *_selectedIndexPath;

didSelectRowAtIndexPath方法中,在推送子视图控制器之前,请执行以下操作:

if( _selectedIndexPath )
   [_selectedIndexPath release];

_selectedIndexPath = [indexPath retain];

所以即使你回来后,你也可以从_selectedIndexPath获得价值。

答案 2 :(得分:1)

您需要使用委托方法。它是Objective-C中常用的模式。我从post得到了一个示例答案。如果你之后不清楚,请告诉我。