在哪里使用CGPathRelease?

Vin*_*ras 2 objective-c ios sprite-kit

我正在使用CGMutablePathRef为我的SKShapeNode创建一行.稍微阅读一下使用情况,我发现了一篇文章,说当你完成使用路径时使用CGPathRelease非常重要.现在我想知道,我什么时候可以释放这条路?在SKShapeNode仍然存在时释放它会不会造成任何伤害?

哦,很抱歉,如果自引入垃圾收集后不再使用CGPathRelease,我无法确定是否仍然需要使用它,所以如果不再需要请纠正我.

Jos*_*ell 5

CGPathRef设置其path属性时,节点将获得所有权.您可以并且应该CGPathRelease()在完成操作路径并将其传递给节点后随时使用.

  • 这不是垃圾收集,@ Vingdoloras,它只是编译器自动化引用计数,以前是手动完成的.但它只对Objective-C对象进行操作.`CGPathRef`不是这样的对象 - 它是一个基于纯C的伪对象,因此,你仍然需要明确地管理它.[核心基础内存管理指南](https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/CFMemoryMgmt.html)是相关文档. (5认同)