关于警告
我们定义一个不带参数的block,通常是如下的方式
|
1
|
typedefvoid (^UpdateSwichBtnBlock)(); |
在xcode9中会提示一个警告
|
1
2
|
This block declaration is not a prototypeInsert ‘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 |
彻底的暂时解决所有这种警告的方式
在工程的设置中

设置为NO,则这些警告就消失了
不过这不是一种好习惯,只是暂时性的不让提示这种类型的警告而已
本文探讨了在Xcode9中定义不带参数的Block时出现的“不是原型”的警告,并提供了三种解决方案:修改Block定义、使用预编译指令忽略警告及调整项目设置。
1581

被折叠的 条评论
为什么被折叠?



