在我的UINavtigationController应用程序中,我有一个用户在UITableViewController中选择一个值,一旦完成,它们将被发送回先前的UITableViewController,其中必须显示该值。我期待的问题是,一旦视图被“弹出”,我假设它的viewUnload被调用,它摆脱了数组,使得它在另一个视图控制器中无法访问。如何从另一个视图控制器访问一个视图控制器中的变量?
有什么想法?
在我的UINavtigationController应用程序中,我有一个用户在UITableViewController中选择一个值,一旦完成,它们将被发送回先前的UITableViewController,其中必须显示该值。我期待的问题是,一旦视图被“弹出”,我假设它的viewUnload被调用,它摆脱了数组,使得它在另一个视图控制器中无法访问。如何从另一个视图控制器访问一个视图控制器中的变量?
有什么想法?
您需要使用方法
1->使用NSUserDefault
的人从你的didSelectRowIndex功能通过新的价值,以前的控制器。
iPhone Programming Tutorial – Saving/Retrieving Data Using NSUserDefaults
2->使用Delegate概念。
3->你也可以从你UINavigationController方法访问以前的ViewController。
可以NSUserDefaults的使用来实现相同的
您可以通过访问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
在第一观看的头文件中指定,并在实现文件
+1为代表的合成,这是标准的可可做法。 – jv42 2011-05-29 07:31:51