在我的应用程序中,我有几个视图..其中一些视图是使用导航控制器推送和弹出的。在某些视图中,我有一个表视图,其中每个单元格都是一个视图本身,所以当选择单元格时,执行此代码:
DetailView *detailViewController = [[Detailview alloc] initWithNibName:@"Detailview" bundle:nil];
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
在详细视图中,当点击特定按钮(例如后退/取消按钮)时,将执行此代码:
[self.navigationController popViewControllerAnimated:YES];
我想要的是将数据从detailview传递到它之前的视图(初始化它的视图)。到目前为止,我已经实现了一个名为“Globals.h”的类,其中我放置了我想要传递的数据,并在这些数据变量上使用“extern”以确保它对于许多类来说是全局的,并且它有效正常。但我不认为这是适当的方式。还有其他好办法吗?
提前致谢:)
答案 0 :(得分:7)
解决问题的一种简单方法是:
DetailView *detailViewController = [[Detailview alloc] initWithNibName:@"Detailview" bundle:nil];
detailViewController.controller = self;
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
然后在详细视图中:
self.controller.data = data;
[self.navigationController popViewControllerAnimated:YES];
我希望你知道如何创建属性,否则请给我发表评论。