0

使用 ARC,我怎样才能确保一个CTFrameRef属性没有被释放?我目前正在使用一个assign属性,这显然不是我想要的


编辑:我的解决方案基于@KevinBallard 答案:

- (void)setCoreTextFrame:(CTFrameRef)coreTextFrame
{
    _coreTextFrame = CFRetain(coreTextFrame);
}

- (void)dealloc
{
    CFRelease(_coreTextFrame);
}
4

1 回答 1

0

CTFrameRef不是 obj-c 对象。它遵循 CoreFoundation 内存管理规则,因此您可以CFRetain()使用CFRelease().

所以基本上,您处理的代码CTFrameRef看起来与非 ARC 代码相同。

于 2012-11-09T04:23:12.217 回答