您的位置:首页 > 产品设计 > UI/UE

getReturnValue Crash 解决办法

2014-12-03 15:03 375 查看
问题描述:在开启ARC的项目中,使用反射如下代码时,
NSObject *value = nil;
[invocation invoke];
[invocation getReturnValue:&value];

在最后一句,调用
getReturnValue 时,程序会Crash掉,打开 Edit Schema -》Diagnostic -》Enable Zombie Objects 选中,在调试窗口会看到如下信息:-[CFString release]: message sent to deallocated instance 0x78e57c20  。如果关掉ARC,即使用MRC,则运行正常,程序不会Crash掉。

原因分析:getReturnValue
 对ARC支持不够好,有bug。

解决方案:将第一句:NSObject *value=nil ;  修改为: __autoreleaseing NSObject *value=nil; 即可。 运行,一切正常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐