定义一个不带参数的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,则这些警告就消失了

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

posted on 2019-03-04 18:27  广坤山货  阅读(206)  评论(0编辑  收藏  举报