0

我已经创建了一个带有 UITableView 的视图控制器。当我点击一个单元格时,它会将用户引导到另一个视图,其中包含选项的表格视图,方法是:

[self.navigationController pushViewController:optionsView animated:YES];

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

[self.navigationController popViewControllerAnimated:YES];

效果很好。但我只是不知道如何保持所选单元格的索引。有什么建议吗?

非常感谢

4

3 回答 3

1

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

于 2012-05-26T13:11:25.913 回答
1

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

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

if( _selectedIndexPath )
   [_selectedIndexPath release];

_selectedIndexPath = [indexPath retain];

所以即使你回来后,你也可以从_selectedIndexPath.

于 2012-05-26T13:11:51.490 回答
1

您需要使用委托方法。它是 Objective-C 中常用的模式。我有一个来自这篇文章的示例答案。如果您以后不清楚,请告诉我。

于 2012-05-26T15:35:43.020 回答