gpt4 book ai didi

objective-c - CGMutablePathRef 的自动释放?

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:39 25 4
gpt4 key购买 nike

我正在为 iPhone 开发。我想通过 CGPathCreateMutable() 创建一个可变路径,并且我想从创建它的函数中返回它。我想在完成后调用 CGPathRelease()。但是因为我要归还它,所以我希望自动释放它。由于 Quartz 路径是一个 C 代码(并且看起来不像一个 Objective-C 对象),我不能对其调用自动释放是否正确?

编辑:对于偶然发现这个问题的其他人,以下建议仅适用于返回核心基础对象的 C 函数。对于返回核心基础对象的 Objective-C 方法,请参阅 Ownership regarding to returned Quartz objects

最佳答案

正确。自动释放池存在于基础层及以上(AppKit/UIKit 等)。它们对于 CoreFoundation/CoreGraphics 对象不存在。

解决此问题的简单方法是重命名您的函数。如果您的函数当前命名为:

CGMutablePathRef myAwesomePath(params...);

然后你应该将它重命名为:

CGMutablePathRef createMyAwesomePath(params...);

这样您就可以安全地按照 Create rule 返回具有 +1 保留计数的对象.

关于objective-c - CGMutablePathRef 的自动释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819548/

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