2

WKInterfaceController次を使用して、遅延を使用して Watch OS2 コントローラー ( )内でメソッド + 遅延を呼び出そうとしています。

[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 に答える