xcode9 關於去除Block警告

weixin_34279579發表於2017-10-19

我們定義一個不帶引數的block,通常是如下的方式

typedefvoid (^UpdateSwichBtnBlock)();

在xcode9中會提示一個警告

This block declaration is not a prototype
Insert 'void'

解決方式可以是如下的幾種

typedefvoid (^UpdateSwichBtnBlock)(void);

但是這樣,很多第三方要改,涉及的面太大了,目前可能不太適合,雖然這個是趨勢.
或者,如果只是很少的地方,也可以使用

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wstrict-prototypes"

typedefvoid (^UpdateSwichBtnBlock)();

#pragma clang diagnostic pop

徹底的暫時解決所有這種警告的方式
在工程的設定中


1316211-ba64e85cd6efc311.png

設定為NO,則這些警告就消失了
不過這不是一種好習慣,只是暫時性的不讓提示這種型別的警告而已

相關文章