iOS 清除警告的宏

141 阅读1分钟

#define ArgumentToString(macro) #macro

#define ClangWarningConcat(warning_name) ArgumentToString(clang diagnostic ignored warning_name)

#define WarningClear(warningType, code) \

    do { \

        _Pragma("clang diagnostic push") \

        _Pragma(ClangWarningConcat(warningType)) \

        code; \

        _Pragma("clang diagnostic pop") \

    } while (0)

WarningClear("-Wundeclared-selector", [self performSelector: @selector(areyouok) withObject:@0]);