Xcode 警告、错误(持续更新)

2017-12-05  本文已影响0人  winsonGali

1. This block declaration is not a prototype

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

typedef void (^UpdateSwichBtnBlock)();

在 Xcode9 中会提示一个警告

This block declaration is not a prototype
Insert ‘void'

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

1. 手动补全
typedef void (^UpdateSwichBtnBlock)(void);

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

2. 手动屏蔽
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wstrict-prototypes"
typedef void (^UpdateSwichBtnBlock)();
#pragma clang diagnostic pop

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

3. 工程设置
Build Settings -> Strict Prototypes -> NO

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

上一篇下一篇

猜你喜欢

热点阅读