gpt4 book ai didi

iphone - xCode5 中新的 Core Foundation 泄漏

转载 作者:行者123 更新时间:2023-11-29 03:38:46 26 4
gpt4 key购买 nike

xCode5 引用了一个新的 CoreText 泄漏,我在以前的 xCode 版本中没有看到该泄漏。我有以下代码:

CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((__bridge CFMutableAttributedStringRef)self.text);
CGMutablePathRef mutablePath = CGPathCreateMutable();

CGPathAddRect(mutablePath, NULL, self.bounds);

self.textFrame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), mutablePath, NULL);

CGPathRelease(mutablePath);
CFRelease(framesetter);

分析器指向最后一行 CFRelease(framesetter) 并显示“对象的潜在泄漏”。

有人知道如何解决这个问题以及为什么我只在 xCode5 中看到这个问题吗?

最佳答案

你创建了一个 framesetter 并且永远不会释放它

self.textFrame = CTFramesetterCreateFrame(.....

== 创建但未释放的新对象。

更改为:

CTFramesetterRef newFrameSetter = CTFramesetterCreateFrame(.....
self.textFrame = newFramesetter;
if(newFramesetter) CFRelease(newFrameSetter);

至于为什么只有 xcode 5 :因为它提供了比以前更多的警告。我猜它在这方面有所改进

关于iphone - xCode5 中新的 Core Foundation 泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18774960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com