0

在我的应用程序中,我有几个视图......其中一些视图是使用导航控制器推送和弹出的。In some view, I have a table view, in which each one of its cells is a view itself, so when the cell is selected, this code is executed :

DetailView *detailViewController = [[Detailview alloc] initWithNibName:@"Detailview" bundle:nil];
    [self.navigationController pushViewController:detailViewController animated:YES];
    [detailViewController release];

并且在详细视图中,当单击特定按钮(例如后退/取消按钮)时,将执行此代码:

[self.navigationController popViewControllerAnimated:YES];

我想要的是将数据从详细视图传递到它之前的视图(初始化它的视图)。到目前为止,我已经实现了一个名为“Globals.h”的类,我在其中放置了我想要传递的数据,并在这些数据变量上使用了“extern”以确保它对许多类都是全局的,并且它有效适当地。但我不认为这是这样做的适当方式。有没有其他好的方法可以做到这一点?

提前致谢 :)

4

1 回答 1

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];

我希望你知道如何创建属性,否则给我留言。

于 2011-03-12T12:49:23.200 回答