我正在使用此处看到的代码定期执行代码:
#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);
}
这会导致警告(见标题)。关于这个警告,我有两个问题:
- 这是什么意思?
- 为什么当我写时警告消失了:
void (^block)(void); block = ^
?