在我的UINavtigationController应用程序中,我有一个用户在UITableViewController中选择一个值,一旦完成,它们将被发送回之前必须显示该值的UITableViewController。我期待的问题是,一旦视图被“弹出”,我假设它的viewUnload被调用,摆脱了数组,使得它在另一个视图控制器中无法访问。
有什么想法吗?
答案 0 :(得分:2)
您需要使用任何方法将新值传递给didSelectRowIndex函数中的前一个控制器
1-> 使用NSUserDefault
。
iPhone Programming Tutorial – Saving/Retrieving Data Using NSUserDefaults
2-> 使用Delegate概念。
3-> 您还可以使用UINavigationController方法访问之前的 ViewController 。
答案 1 :(得分:1)
您可以通过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
并在实现文件中合成
答案 2 :(得分:0)
您可以使用NSUserDefaults来实现相同的