別のキューで実行するブロックをセットアップし、遅延後に別のメソッドを呼び出します。
piemanQ = dispatch_queue_create(PIEMAN_QUEUE_NAME, NULL);
dispatch_async(piemanQ, ^{
[self performSelector:@selector(sendReadyToPieman) withObject:nil afterDelay:1.0];
});
1 秒後に@selector(sendReadyToPieman)
火災が発生することを期待していますが、何も起こりません。の doco を読みましたperformSelector:withObject:afterDelay:
が、現在のキューにタイマーを介して追加されているメソッドについて説明しています。現在のキューの実行ループ モードを確認しましたが、nil が返されます。
以前にこの種のコードを実行したことは確かですが、これを 2 つの異なる場所で試しましたが、どちらの場合も実行されませんでした。しかし、それを a に置き換えると、dispatch_after(...)
すべてが機能します。
誰でも光を当てることができますか?