Почему мой метод вызывается дважды на iPhone / iPod, а не на iPad? - PullRequest
2 голосов
/ 23 февраля 2012

В одном из моих контроллеров представления следующая функция вызывается после нажатия кнопки, чтобы я мог выполнить некоторую инициализацию и выдвинуть текущий вид (ResultViewController) и отобразить предыдущий вид (GameViewController).

- (IBAction)PlayNextList:(id)sender {
    NSInteger index = [[[GameStore defaultStore] allLists] indexOfObjectIdenticalTo:[[GameStore defaultStore] selectedList] ];

    if(index == [[[GameStore defaultStore] allLists] count]-1)
    {
        index = 0;
    }
    index++;
    [[GameStore defaultStore] setSelectedList:[[[GameStore defaultStore] allLists] objectAtIndex:index]];
    [[GameStore defaultStore] resetGame]; 

    [[GameStore defaultStore] createResult];
    NSLog(@"Press Next List");
    NSLog(@"%@",[[[[GameStore defaultStore] allLists] objectAtIndex:index] label]);
    [[self navigationController] popViewControllerAnimated:YES];

}

На iPhone / iPod я заметил, что [[GameStore defaultStore] createResult]; вызывается дважды, но на iPad вызывается только один раз.

После попытки выяснить, почему он вызывается дважды, яобнаружил, что второй вызов произошел между viewWillAppear и viewDidAppear из GameViewController.

Есть идеи, почему это происходит?

1 Ответ

2 голосов
/ 24 февраля 2012

Обязательно проверьте инспектор соединений на наличие события, которое активирует PlayNextList, особенно если у вас разные файлы NIB для iPhone и iPad, и убедитесь, что событие не подключено дважды к одному и тому же методу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...