ビューの次のような裸のシングルビュー iOS アプリが-viewDidLoad
あります。
dispatch_queue_t q_default;
q_default = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, q_default); //run event handler on the default global queue
dispatch_time_t now = dispatch_walltime(DISPATCH_TIME_NOW, 0);
dispatch_source_set_timer(timer, now, 30ull*NSEC_PER_SEC, 5000ull);
dispatch_source_set_event_handler(timer, ^{
printf("test\n");
});
dispatch_resume(timer);
printf()
これは、ドキュメントから直接取得されます (単純化された引数を除く)。ブロックは決して実行されません-誰かが理由を教えてもらえますか??
追加情報
私はこれをより大きなアプリで試していましたが、役に立ちませんでした。次に、ベアボーン アプリに戻り、ARC のオンとオフの両方を試し、このコードを で試しましたが-appDidFinishLaunching...
、すべてうまくいきませんでした。このコードをNSLog
s で囲むことができます。どちらも表示されます。確認しましたtimer
-- そうではありませんnil
。