定义一个不带参数的block,通常是如下的方式
typedef void(^myBlock)();
在xcode9中会提示一个警告
This block declaration is not a prototype
Insert 'void'
解决方式可以是如下的几种
方法一:
typedef void(^myBlock)(void);
方法二:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wstrict-prototypes"
typedef void(^myBlock)();
#pragma clang diagnostic pop
方法三:
在工程的设置中将Strict Prototypes设置为NO,则这些警告就消失了
不过这不是一种好习惯,只是暂时性的不让提示这种类型的警告而已