我已经创建了一个带有UITableView的View Controller。当我点击一个单元格时,它会使用方法:
将用户引导到具有选项表视图的另一个视图[self.navigationController pushViewController:optionsView animated:YES];
在这个视图中,我希望点击一个单元格可以让用户转到上一个视图。所以我用:
[self.navigationController popViewControllerAnimated:YES];
完美无缺。但我只是不知道如何保持所选单元格的索引。有什么建议吗?
非常感谢
答案 0 :(得分:1)
通过在推送控制器之前在delegate
类中定义optionsView
属性并将其设置为self
,可以使第一个视图控制器成为第二个视图控制器的委托。然后,在弹出控制器之前,您可以通过委托引用将您需要的任何信息发送回第一个控制器。
答案 1 :(得分:1)
因此,在父视图控制器中,声明一个类成员NSIndexPath *_selectedIndexPath;
在didSelectRowAtIndexPath
方法中,在推送子视图控制器之前,请执行以下操作:
if( _selectedIndexPath )
[_selectedIndexPath release];
_selectedIndexPath = [indexPath retain];
所以即使你回来后,你也可以从_selectedIndexPath
获得价值。
答案 2 :(得分:1)
您需要使用委托方法。它是Objective-C中常用的模式。我从post得到了一个示例答案。如果你之后不清楚,请告诉我。