0
私はGCDタイマーを使って時間を計算しています。ディスパッチ時間間隔の前にGCDタイマーハンドラを実行
_timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue());
dispatch_source_set_timer(_timer, DISPATCH_TIME_NOW, 2.0 * NSEC_PER_SEC, 0);
WEAKSELF
dispatch_source_set_event_handler(_timer, ^{
[weakSelf hideView];
if (![APP_WINDOW.subviews containsObject:self]) {
dispatch_source_cancel(_timer);
}
});
dispatch_source_set_cancel_handler(_timer, ^{
NSLog(@"dispatch_source_t canceled");
});
dispatch_resume(_timer);
ご覧のとおり、時間間隔は2秒です。 このコードを実行すると、イベントハンドラがすぐに実行されます。つまり、時間間隔の設定は機能しません。
なぜタイミングが要件を満たしていないのですか?
感謝を決定するために、適切
してから作業をしていることを確認 – Zedd