0

在实施我的应用程序期间,我面临以下问题。我有一个选项卡式应用程序,单击每个选项卡可以访问相应的视图:例如,单击 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 检索信息

为什么?也许是因为按钮调用的选择器是在不同的线程上执行的?请问有什么想法吗?

问候,亚萨

4

1 回答 1

0

每次执行 Segue 时,它​​都会创建 destinationViewController 的新实例(在本例中为 view2)。这意味着您有 2 个单独的 view2 实例。

于 2012-01-04T20:54:27.830 回答