Xcode 推送和弹出视图以保存数据
Posted
技术标签:
【中文标题】Xcode 推送和弹出视图以保存数据【英文标题】:Xcode push and pop view to save data 【发布时间】:2012-07-09 20:56:39 【问题描述】:我正在尝试将数据从 FirstView(一个文本字段和一个按钮)记录到 SecondView (UiTableView),例如联系人列表。我想简单解释一下我的代码。
我在 AppDelegate.m 中添加了一个带有 TabBar 的 NavigationController;
UINavigationController *pointer = [[UINavigationController alloc] init];
self.window.rootViewController = pointer;
[pointer setNavigationBarHidden:NO];
[pointer pushViewController:self.viewController animated:YES];
我使用了[self.navigationController pushViewController:push animated:YES];
将数据推送到第二个屏幕,但它总是转到另一个 NavigationController 视图作为带有 BACK 按钮的循环,然后我使用了 [self.navigationController popToRootViewControllerAnimated:YES];
它不会将数据传递给另一个看法。除非我完全关闭程序并再次打开它。那么有没有办法同时push和pop呢?或者你能告诉我另一种方式吗?
提前致谢。
注意我已经在这个链接中分享了我的代码; Mycode
【问题讨论】:
你传递什么样的数据? 我正在将一个文本传递给 uitableview,这个文本被推送到一个数组中。希望我能理解您的问题。 【参考方案1】:您可以尝试创建一个管理此数据的singleton
类。然后,您只需在整个代码中调用相同的单例类,它应该在您的应用程序的整个生命周期中保持相同的状态。
或者,更简单的方法是将“myArray”设置为您的 App Delegate 中的属性。然后,在您的类的实现文件中,执行以下操作:
UIApplicationDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.myArray = newArray;
这假设 myArray 和 newArray 已正确初始化。
【讨论】:
避免使用 appDelegate 存储数据。以上是关于Xcode 推送和弹出视图以保存数据的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式创建的 UINavigationController 推送和弹出问题