在某些Objective-C上使用分析器| Cocoa / Core Foundation代码,我收到了一些我无法修复的错误,因为我不理解它们。
错误#1 : 在Objective-C类头文件中,我声明了这个属性。
@property(readwrite) CFMutableSetRef gClients;
在正文中,我收到以下错误:
问题:为什么会泄漏?我将它存储在一个属性中,以后再处理它。我以为ARC知道如何处理CF“对象”。
错误#2: 稍后,我在释放对象时遇到此错误:
问题:如何将这两个分析器警告考虑在内,以便创建实际可行的代码(self.gClients存在于对ClientInitialize和destroyAllClients的调用之间)但不会被标记?< / p>
答案 0 :(得分:2)
ARC无需人工干预即可管理CF对象。你需要先做一些工作。
在“ARC和免费桥接”中查看http://www.idryman.org/blog/2012/11/22/arc-best-practices-and-pitfalls/。有(__bridge_transfer)
的特殊铸造技巧。