getReturnValue Crash 解决办法
2014-12-03 15:03
375 查看
问题描述:在开启ARC的项目中,使用反射如下代码时,
在最后一句,调用
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; 即可。 运行,一切正常。
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; 即可。 运行,一切正常。
相关文章推荐
- ECShop后台站点地图关于 Deprecated: Assigning the return value of new by reference is deprecated的错误的解决办法
- 显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法
- PHP显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法
- PHP显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法
- getActiveWorkbenchWindow() return null 解决办法
- php 报错Deprecated: Assigning the return value of new by reference is deprecated in的解决办法
- [Maven in action] 解决办法:Could not get the value for parameter encoding for plugin execution...
- 显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法
- function $(id){ return document.getElementById(id); }导致所有的js不能用解决办法。。。。
- getActiveWorkbenchWindow() return null 解决办法
- spring boot:No converter found for return value of type: class另类解决办法
- PHP显示Deprecated: Assigning the return value of new by reference is deprecated in解决办法
- could not get next sequence value[SQL: SQL not available] Nhibernate解决办法
- C#代码调用js函数,js函数中的document.getElementById("对象ID")得null值解决办法
- GetManifestResourceStream读取文件失败的解决办法
- 在用dw.GetSqlSelect()获得到的Sql语句出现PBSELECT( VERSION的解决办法
- checkboxList后台绑定取Value 取不到(解决办法)
- Cannot get a connection, pool exhausted解决办法
- Nhibernate a different object with the same identifier value was already associated with the session解决办法
- Tomcat下GET方式提交请求乱码解决办法