观看OS2 - performSelector:在控制器中不起作用

时间:2015-10-22 01:13:36

标签: objective-c watchkit watch-os

我尝试使用以下方法延迟调用Watch OS2控制器(WKInterfaceController)内的方法+延迟:

[self performSelector:@selector(createPages) withObject:nil afterDelay:3.0];

方法:

- (void) createPages {
    NSLog(@"Creating pages");
}

永远不会调用createPages方法。没有在控制台中看到任何错误。似乎它完全无视它。有谁知道为什么会发生这种情况?

谢谢!

1 个答案:

答案 0 :(得分:2)

对于这种事情,使用Grand Central Dispatch是一种更好的方法,如果您使用Swift,它也可以使用静态分派的方法。你可以在3秒后执行一些代码:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    [self createPages];
});

查看Concurrency Programming Guide了解详情。