黄色警告的解决办法

在ARC项目中使用 performSelector: withObject: 函数出现“performSelector may cause a leak because its selector is unknown”。

主要是警告信息,在非ARC项目中没有这个警告。如果是在某一处修改只需要加入下列代码:

#pragma clang diagnostic push#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
    [self.ticketTarget performSelector: self.ticketAction withObject: self];//此处是你调用函数的地方
#pragma clang diagnostic pop

#define SuppressPerformSelectorLeakWarning(Stuff)     do {         _Pragma("clang diagnostic push")         _Pragma("clang diagnostic ignored "-Warc-performSelector-leaks"")         Stuff;         _Pragma("clang diagnostic pop")     } while (0)
如果没有返回结果,可以直接按如下方式调用:

SuppressPerformSelectorLeakWarning(
    [_target performSelector:_action withObject:self]
);
如果要返回结果,可以按如下方式调用:

id result;
SuppressPerformSelectorLeakWarning(
    result = [_target performSelector:_action withObject:self]
);

原博客地址:http://blog.sina.com.cn/s/blog_7dc11a2e0101gsk0.html
 
时间: 2024-10-28 11:13:52

黄色警告的解决办法的相关文章

python3.7 urlopen请求HTTPS警告'CERTIFICATE_VERIFY_FAILED'解决办法

环境: Mac 10.13.6 python3.7 代码 from urllib.request import urlopen html = urlopen('https://en.wikipedia.org/wiki/Kevin_Bacon',) 报错如下urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) , 大概意思是证书(c

使用tableviewcontroller产生的警告,解决办法

在使用tableviewcontroller的时候,如果没有设置行高,会产生下面的警告,并且出现下面的混乱的表格 解决办法:使用代理方法,设置表格的行高,比如 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 120.f; }

UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法

今天遇到一个问题,如下图: 假如你在一个BP的初始化脚本里用了"Get Player Character",编译BP时候就会遇到上述警告(Warning Function ' Get Player Character ' is unsafe to call in a construction script.).理论上编程时候应该向上述警告一样避免这种情况,但是如果你非要这么用,又不想改太底层的东西,有没有办法简单跳过这个warning呢? -----------------------

Chrome 报 Resource interpreted as Script but transferred with MIME type text/plain 警告的解决办法

http://www.2cto.com/os/201312/262437.html 安装了VS2012之后,chrome在加载页面的时候会报 Resource interpreted as Script but transferred with MIME type text/plain 的警告. 这是因为VS2012在安装的时候改了windows的注册表,将解析javascript的类型标示改成了text/plain,导致javascript被转换成了text/plain格式,但这并不影响jav

python脚本执行Scapy出现IPv6警告WARNING解决办法

安装完scapy,写了脚本执行后执行: WARNING: No route found for IPv6 destination :: (no default route?) 原因是用 from scapy.all import *的时候把ipv6相关的模块也导进去了,想关闭警告,我们可以打开scapy安装目录(我电脑上的路径是C:\Python27\Lib\site-packages),打开all.py文件,把与ipv6相关的几行注释掉就OK了,26行开始 #if conf.ipv6_enab

Android中Handler警告的解决办法

经常,在我们使用Handler的时候,会出现This Handler class should be static or leaks might occur,对于有代码洁癖的人.来说时忍受不了的. 那么我们该怎么解决呢? 查阅了很多文章,大致的解释是:在程序消息队列中排队的消息保持了对目标Handler类的应用.如果Handler是个内部类,那么它也会保持它所在的外部类(通常是Activity或者Service等)的引用.只要有消息在队列中,那么Handler便无法被回收,如果Handler不是

手机中点击链接或button按钮出现黄色边框的解决办法

a,input,button{outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-focus-ring-color: rgba(0, 0, 0, 0);} 或a,button,input{outline: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-user-modify: read-write-plaint

Redis启动Sentinel出现警告的解决

Redis 3.0.7版本启动时出现警告的解决办法 7283:M 12 Mar 12:13:33.749 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.7283:M 12 Mar 12:13:33.749 # Server started, Redis version 3.0.772

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...解决办法

在执行Hadoop命令的时候会出现这样的警告: 解决办法: 在profile文件中添加:export JAVA_LIBRARY_PATH=${HADOOP_HOME}/lib/native 这是在调用Hadoop里的库.具体可以参考www.cnblogs.com/gpcuster/archive/2011/02/17/1957042.html