fbr*_*eto 2 xcode memory-management objective-c clang automatic-ref-counting
我有一个应用程序我正在更新到最新版本的Xcode,并且遇到了与自动引用计数(ARC)相关的多个错误.
这些错误让我打电话给例如,autorelease并调整我编写的处理内存管理的其他代码.
该锵文件上写着:
[ARC]不提供循环收集器; 用户必须明确管理生命周期.
......这让我很紧张 过去,我一直被Objective-C内存管理问题所困扰retain,release并且autorelease在我的代码中依赖于验证每一个.
现在,ARC正在呼唤我改变我的内存管理语义.为了建立对ARC内存管理的信心,我需要知道什么?
命名约定.修复每个静态分析器问题并确保您的命名清晰并符合约定 - 这现在用作与编译器的通信.现在,这确实没有必要,但最好删除所有编译器和检查器警告,测试,确保您对命名感到满意,然后转换.这也意味着提高警告级别并解决问题.
避免使用属性详细信息:字典的深层副本在Xcode 4.2中给出了分析错误
"避免属性"中的示例演示了类型安全,描述性方法名称的重要性,并确保包含您在翻译中使用的内容并使用严格的选择器匹配.选择:-Wstrict-selector-match.类型安全也将拿出当您执行不安全的转换-有机会,你需要通过特种铸造在你的程序的某些部分来介绍类型安全.
悬挂引用非托管类型.在此处看到:将现有CGColor分配给CGColor属性适用于iOS模拟器,而不是iOS设备.为什么?
[ARC]不提供循环收集器; 用户必须明确管理生命周期.
这指的是强循环引用(例如,依赖于对象的对象).这些将存在于您的旧程序中.仪器可以帮助您检测它们.
完成转换后,请准备好测试多个OS版本.
祝好运!
附加功能:
| 归档时间: |
|
| 查看次数: |
162 次 |
| 最近记录: |