Xcode关闭烦人的警告

每次在使用performSelector:方法的时候系统都会给个警告,如下图
这里写图片描述

那么如何关闭这样的警告呢?

很简单,只需要添加以下代码即可让警告消失

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
//code这里插入相关的代码
#pragma clang diagnostic pop

“-Warc-performSelector-leaks” 是警告类型。
#pragma clang diagnostic ignored后面只能跟一个忽略警告类型。
如果需要同时忽略多种警告(如下图)
这里写图片描述

只需要这样写:

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
#pragma clang diagnostic ignored "-Wint-conversion"
            NSInteger type = [aspectInfo.instance performSelector:NSSelectorFromString(@"searchType")];
#pragma clang diagnostic pop

那么问题又来了,我怎么知道警告是什么类型的呢?

其实这些警告不需要我们记忆,Xcode会告诉我们。
如何让Xcode告诉我们呢?
首先我们右击警告标识,会出现Reveal in Issue Navigator,如下图
这里写图片描述

点击这个Reveal in Issue Navigator,Xcode会在Issue Navigator定位到你当前选中的issue。然后我们右击在Issue Navigator里定位到的那一条警告,右击,会出现Reveal in Log,如下图
这里写图片描述

我们选中这个Reveal in Log点击,则会显示
这里写图片描述

喜大普奔~~~~


然而,有时候你会发现:
这里写图片描述

看到这个442个⚠️,此时此刻
这里写图片描述

那么我们该如何简单快捷的关闭大量的警告呢?

1、 我们可以关闭某一个指定文件的某种指定类型的警告。
我们拿具体项目来说,如下图每个地方报了3个警告:
这里写图片描述

其实关闭某个指定文件的某种类型的警告很简单,就如同我们以前给某一个文件添加 ARC支持或者不支持的时候那样 添加 忽略/显示 某种类型警告。像这样:
这里写图片描述

添加完成再编译,原来-Wint-conversion类型的警告就没有了,如下图
这里写图片描述

ps:警告类型是 “-Wint-conversion”,那么忽略就是 “-Wno-int-conversion”

2、我们可以让编译器忽略整个工程某种指定类型的警告。
工程target –> Build Settings –> Other Warning Flags,如下图
这里写图片描述

添加完成后编译,整个target的指定类型的警告就没了。


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值