performSelector:withObject:afterDelay在viewDidLoad方法中不起作用

时间:2012-04-05 16:12:22

标签: objective-c ios xcode ios5 viewdidload

我有一个tabbar应用程序,问题是我需要在第一个视图的viewDidLoad延迟后调用一个方法,但它不起作用(该方法未被调用) 我添加了以下示例

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

}

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

奇怪的是,这与所有其他标签视图一起工作但由于某种原因它不适用于第一个标签(UITableViewController) 任何想法?

由于

1 个答案:

答案 0 :(得分:1)

试试这个......

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

}