如何从另一个视图控制器访问一个视图控制器中的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来达到同样的效果