iOS警告-This block declaration is not a prototype

关于警告

我们定义一个不带参数的block,通常是如下的方式

1
typedefvoid (^UpdateSwichBtnBlock)();

在xcode9中会提示一个警告

1
2
This block declaration  is  not a prototype
Insert ‘ void '

解决方式可以是如下的几种

1
typedefvoid (^UpdateSwichBtnBlock)( void );

但是这样,很多第三方要改,涉及的面太大了,目前可能不太适合,虽然这个是趋势.

或者,如果只是很少的地方,也可以使用

1
2
3
4
#pragma clang diagnostic push
#pragma clang diagnostic ignored  "-Wstrict-prototypes"
typedefvoid (^UpdateSwichBtnBlock)();
#pragma clang diagnostic pop

彻底的暂时解决所有这种警告的方式

在工程的设置中

iOS警告-This block declaration is not a prototype_第1张图片

设置为NO,则这些警告就消失了

不过这不是一种好习惯,只是暂时性的不让提示这种类型的警告而已

你可能感兴趣的:(Xcode)