如何从另一个视图控制器访问一个视图控制器中的variables?

在我的UINavtigationController应用程序中,我有一个用户在UITableViewController中select一个值,一旦完成,它们将被发送回以前的UITableViewController,其中必须显示该值。 我期待的问题是,一旦视图“popup”,我假设它的viewUnload被调用,摆脱了数组使其在另一个视图控制器无法访问。

有什么想法吗?

您需要通过使用任何方法将新值传递给didSelectRowIndex函数中的前一个控制器

1->使用NSUserDefault

iPhone编程教程 – 使用NSUserDefaults保存/检索数据

2->使用委托概念。

3>你也可以从你的UINavigationController方法访问前面的ViewController

您可以通过self.parentViewController访问第一个视图控制器,所以最好在第一个视图中合成一个数组,然后在第二个视图中调用popViewControllerAnimated:之前设置它。 基本上看起来像这样:

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [self.parentViewController setNewArray:myArray]; [self.navigationController popViewControllerAnimated:YES]; } 

只要确保你有NSArray *newArray;@property (nonatomic, retain) NSArray *newArray在第一个视图的头文件中指定,并在实现文件中合成

你可以使用NSUserDefaults来达到同样的效果