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

Watch OS2 - performSelector: does not work in controller

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

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

以及方法:

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

createPages 方法从未被调用。在控制台中看不到任何错误。似乎完全无视它。有谁知道为什么会这样?

谢谢!

G

对于此类事情,使用 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 了解更多信息。