【发布时间】:2012-02-01 15:34:29
【问题描述】:
在我的应用实施过程中,我遇到了以下问题。 我有一个选项卡式应用程序,单击每个选项卡我可以访问相应的视图:例如,单击 tab2 会打开 view2。但是我也可以通过单击 view1 上的按钮来访问 view2,如下所示:
...
[buttonToView2 addTarget:self action:@selector(gotoView2) forControlEvents:UIControlEventTouchUpInside];
...
地点:
- (void)gotoView2
{
//execute segue programmatically
[self performSegueWithIdentifier: @"View2Segue" sender: self];
}
View2 有一个表格,其中显示了填充了来自 Internet 的数据的数组的数据(在 viewDidAppear 方法中)。
因此,选择 tab2 或单击按钮都应该将用户带到目标 view2。
这可行,但在两种情况下具有不同的行为:
- 如果我单击选项卡,表格中已经填充了数据,而应用程序从 Internet 检索信息
- 如果我单击按钮并执行 segue,则在应用程序从 Internet 检索信息时表是空的
为什么?也许是因为按钮调用的选择器是在不同的线程上执行的? 请问有什么想法吗?
问候, 亚萨
【问题讨论】:
-
确保你已经为你的序列正确实现了
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender(查看有用的帖子?:stackoverflow.com/questions/8680453/…) -
在这种情况下,我没有实现
prepareForSegue,因为我没有必须传递给目标视图2的信息...我会尝试更好地解释。我有:@interface View2 : UIViewController { NSArray *arrayView2; UIImage *profileImage; ....如果我第二次通过选项卡访问此视图,所有这些变量都会被填充。如果我通过 Segue 以编程方式访问,它们是空的。
标签: ios tabs refresh behavior segue