NSObject最终确定已弃用 - 我该怎么办?

时间:2016-05-10 06:47:51

标签: automatic-ref-counting deprecated nsobject finalize

我一直在使用Objective-C中的一些XML实用程序,包括我自己的围绕FILE *值构建的IO流对象。为了安全地执行此操作,请在释放流对象时调用文件指针上的fclose(如果我还没有这样做)。

我的策略(以及许多其他重新分配任务)长期以来都要覆盖finalize的{​​{1}}方法。但是我只是阅读(并通过测试确认)在解除分配期间根本不再调用NSObject

  

OS X v10.8中不推荐使用垃圾收集;相反,您应该使用自动引用计数 - 请参阅Transitioning to ARC Release Notes

显然,我现在已经浏览了两个版本的OS X而没有意识到我一直在耗尽系统资源。我阅读了这些发行说明,但我找不到任何对这个特定问题的引用。我无法找到任何替代方法来处理释放。

我为C / C ++数据类型编写了很多Objective-C包装器。我需要某种方式在释放包装器时释放非托管内存。

finalize是否有ARC替代方案?如果不是我应该怎么做我的NSObjects中的malloc'd C / C ++类型?

1 个答案:

答案 0 :(得分:0)