Различное поведение при доступе к представлениям через вкладки или сегменты - PullRequest
0 голосов
/ 03 января 2012

Во время реализации моего приложения я столкнулся со следующей проблемой. У меня есть приложение с вкладками и, нажимая на каждую вкладку, я могу получить доступ к соответствующему представлению: например, нажатие на вкладку 2 открывает представление 2. Но я могу получить доступ к view2 также, нажав на кнопку view1, которая сделана следующим образом:

...
[buttonToView2 addTarget:self action:@selector(gotoView2) forControlEvents:UIControlEventTouchUpInside];
...

где:

- (void)gotoView2
{
    //execute segue programmatically
    [self performSegueWithIdentifier: @"View2Segue" sender: self];
}

View2 имеет таблицу, которая показывает данные массива, заполненного данными из Интернета (в методе viewDidAppear). Таким образом, как выбор tab2, так и нажатие кнопки должны привести пользователя к представлению назначения 2.

Это работает, но ведет себя по-разному в двух случаях:

  • Если щелкнуть вкладку, таблица уже заполнена данными, а приложение получает информацию из Интернета
  • Если я нажимаю кнопку и выполняю переход, таблица пуста, а приложение извлекает информацию из Интернета

Почему? Может быть, из-за селектора, вызываемого кнопкой, выполняется другой поток? Есть идеи, пожалуйста?

С уважением, Яс

1 Ответ

0 голосов
/ 05 января 2012

Каждый раз, когда выполняется Segue, он создает новый экземпляр destinationViewController (в данном случае view2). Это означает, что у вас есть 2 отдельных экземпляра view2.

...