2012-04-05 36 views
0

我有一个tabbar应用程序,问题是我需要调用第一个视图的延迟viewDidLoad后方法,但它没有工作(该方法没有调用) 我增加了下面的示例performSelector:withObject:afterDelay不工作viewDidLoad方法

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self performSelector:@selector(foo) withObject:nil afterDelay:1]; 

} 

-(void)foo 
{ 
    NSLog(@"foo!"); 
} 

奇怪的是,与所有其他选项卡这项工作的看法,但由于某种原因,它没有与第一片(的UITableViewController) 任何想法工作吗?

感谢

+0

你确定这个问题是 “performSelector”?你有没有设置一个断点(或NSLog)到viewDidLoad?你确定viewDidLoad被调用吗?你不是重新实现loadView? – kuba 2012-04-05 16:19:11

+0

它在另一种方法中工作吗? – Buron 2012-04-05 16:24:36

+0

@JohnSmith是的,肯定它没有进入该方法,我也用计时器来调用该方法,它也没有工作。我不知道为什么它只在这种情况下才起作用 – 2012-04-08 08:26:15

回答

1

试试这个....

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    dispatch_async(dispatch_get_main_queue(), ^{ 
      [self performSelector:@selector(foo) withObject:nil afterDelay:0.5]; 
     }); 

} 
相关问题