使用ARC保留CTFrameRef属性

时间:2012-11-09 04:17:58

标签: automatic-ref-counting core-text

使用ARC,如何确保CTFrameRef属性未被释放?我目前正在使用assign属性,这显然不是我想做的事情


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

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

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

1 个答案:

答案 0 :(得分:0)

CTFrameRef不是obj-c对象。它遵循CoreFoundation内存管理规则,因此您可以使用CFRetain()保留它并将其与CFRelease()一起发布。

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