美文网首页
忽略警告宏定义

忽略警告宏定义

作者: 一毛钱 | 来源:发表于2020-06-16 20:54 被阅读0次

    如果selector是在运行时才确定的,performSelector时,若先把selector保存起来,等到某事件发生后再调用,相当于在动态绑定之上再使用动态绑定,不过这是编译器不知道要执行的selector是什么,因为这必须到了运行时才能欧确定,使用这种特性的代价是,如果在ARC下编译代码,编译器会发生如下的警告:

    warning:performSelector may cause a leak because its selector is unknown [-Warc-performSelector-leak]
    

    使用如下方法忽略警告

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored “-Warc-performSelector-leaks"
    /////
    #pragma clang diagnostic pop
    

    方法弃用警告

    "-Wincompatible-pointer-types"

    不兼容指针类型

    "-Wincompatible-pointer-types"

    循环引用

    #pragma clang diagnostic push  
    #pragma clang diagnostic ignored "-Warc-retain-cycles" 
        self.completionBlock = ^ {  
            ...  
        };  
    #pragma clang diagnostic pop
    

    未使用变量

    #pragma clang diagnostic ignored "-Wunused-variable"  
        int a;   
    #pragma clang diagnostic pop
    

    未使用default

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wcovered-switch-default"
    //    switch (style) {
    //        case UITableViewCellStyleDefault:
    //        case UITableViewCellStyleValue1:
    //        case UITableViewCellStyleValue2:
    //        case UITableViewCellStyleSubtitle:
    //            // ...
    //        default:
    //            return;
    //    }
    #pragma clang diagnostic pop
    

    相关文章

      网友评论

          本文标题:忽略警告宏定义

          本文链接:https://www.haomeiwen.com/subject/zlqdxktx.html