我将文本从view-1发送到另一个具有UITableView的view-2。当我将数据推送到另一个视图-2时,在关闭应用程序并再次打开它之前我无法看到数据我可以在表格视图中看到该数据。
我使用了[self.navigationController popToRootViewControllerAnimated:YES];
,然后重新加载了表视图,但它不起作用。
更多细节; A(使用UITableView添加人员按钮) - > B(带提交按钮的文本字段) - > A(表格视图中显示的数据)。这就是我想做的事。
有人可以帮帮我吗?
这是我的完整代码My Sample Code
谢谢你们。
答案 0 :(得分:2)
我见过您的代码而我发现了一个问题。只需将代码从viewDidLoad
添加到viewWillAppear
方法
self.dataArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"myTxtList"];
self.dateArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"myDateList"];
这可以解决您的问题。
快乐编码:)
编辑1
好的,原因可能是我发现你的代码是submit
方法(IBAction)。
您创建了新的视图控制器,并进入了导航控制器的根视图,因此更改了第一行功能
ViewController *push = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
到
viewController *push = [self.navigationController.viewControllers objectAtIndex:0];
随着上面的改变,即我的原始答案也添加了编辑的答案,并查看。
这可以解决你的问题。
快乐编码:)
最终编辑
我遇到了问题并在代码中进行了更改,如下所示
ViewController.h文件中的而不是
@property (nonatomic, strong) NSArray *dateArray;
使用
@property (nonatomic, strong) NSMutableArray *dateArray;
下一个更改是在ViewController.m文件中
在viewWillAppear:animated
方法而不是
self.dataArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"myTxtList"];
self.dateArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"myDateList"];
使用
[self.dataArray setArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"myTxtList"]];
[self.dateArray setArray:[[NSUserDefaults standardUserDefaults] objectForKey:@"myDateList"]];
您的应用程序将按预期运行,没有错误或崩溃。
快乐编码:)
答案 1 :(得分:1)
尝试使用[self.navigationController PopViewControllerAnimated: YES];
对你有所帮助。
答案 2 :(得分:1)
如果您尝试将数据从一个屏幕推送到其他屏幕,请尝试:
[self.navigationController pushViewController:push animated:YES];
如果您想返回上一个视图,那么下面的内容将对您有所帮助:
[self.navigationController popViewControllerAnimated:YES];
如果你想进入导航控制器的根视图,那么试试这个:
[self.navigationController popToRootViewControllerAnimated:YES];