1

在一些 Objective-C 上使用分析器 | Cocoa / Core Foundation 代码,我遇到了一些无法修复的错误,因为我不理解它们。

错误 #1:在一个 Objective-C 类头文件中,我声明了这个属性。

@property(readwrite) CFMutableSetRef gClients;

在正文中,我收到以下错误:

在此处输入图像描述

问题:为什么会泄漏?我将它存储在一个属性中并稍后处理它。我认为ARC知道如何处理CF“对象”。

错误 #2: 稍后,我在释放对象时遇到此错误:

在此处输入图像描述

问题:我如何考虑这两个分析器警告以创建一个实际工作的代码(self.gClients 存在于对 ClientInitialize 和 destroyAllClients 的调用之间)但不会被标记?

4

1 回答 1

2

ARC 不会在没有人工干预的情况下管理 CF 对象。您需要先完成一些工作。

请参阅“ARC 和免费桥接”中的http://www.idryman.org/blog/2012/11/22/arc-best-practices-and-pitfalls/ 。有特殊的施法技巧(__bridge_transfer)

于 2013-05-13T22:20:20.610 回答