проблема с pushViewController в основном потоке - PullRequest
1 голос
/ 10 октября 2011

Я хотел бы сделать следующее:

 [self.navigationController performSelectorOnMainThread:@selector(pushViewController:animated:) withObject:<#(id)#> waitUntilDone:NO];

Однако я не уверен, как передать контроллер вида и анимированное значение bool здесь?Может кто-нибудь мне помочь?Я предполагаю, что я передаю NSDictionary в withObject?

Ответы [ 2 ]

4 голосов
/ 10 октября 2011

Супер методы (pushViewController: animated :) не могут переопределить, поэтому вы должны быть похожими на приведенный ниже код.

[self performSelectorOnMainThread:@selector(pushMyViewController:) withObject:[NSDictionary dictionaryWithObjectsAndKeys:<#yourViewController#>,@"viewController", [NSNumber numberWithBool:YES], @"animated", nil] waitUntilDone:NO];

- (void)pushMyViewController:(NSDictionary *)info
{
    [self.navigationController pushViewController:[info valueForKey:@"viewController"] animated:[[info valueForKey:@"animated"] boolValue]];
}
0 голосов
/ 10 октября 2011

Вы, вероятно, хотите создать метод для этого.

   [self.navigationController performSelectorOnMainThread:@selector(pushViewController:animated:) withObject:<#(id)#> waitUntilDone:NO];

станет:

[self.navigationController performSelectorOnMainThread:@selector(someMethod) withObject:<#(id)#> waitUntilDone:NO];

-(void)someMethod
{
    //pushViewController:animated: //and other stuffs
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...