ここに表示されているコードを使用して、コードを定期的に実行しています。
#define DELAY_IN_MS 1000
__block dispatch_time_t next = dispatch_time(DISPATCH_TIME_NOW, 0);
void (^block)(void) = ^ // Get warning here!
{
next = dispatch_time(next, DELAY_IN_MS * 1000000L);
// Do my periodic thing ...
dispatch_after(next, dispatch_get_main_queue(), block);
}
これにより、警告が発生します (タイトルを参照)。この警告について 2 つの質問があります。
- どういう意味ですか?
- と書くと警告が消えてしまうのはなぜ
void (^block)(void); block = ^
ですか?