2

我正在尝试在 Watch OS2 控制器 ( WKInterfaceController) 中调用方法 + 延迟,延迟使用:

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

和方法:

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

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

谢谢!

G

4

1 回答 1

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];
});

查看并发编程指南了解更多信息。

于 2015-10-22T01:26:58.110 回答