从 NSArray 返回自动释放对象?

发布于 2024-09-28 23:35:47 字数 240 浏览 7 评论 0原文

我正在编写一个 NSArray 类别,以包含 -objectAtRandom 消息,该消息从随机索引返回一个对象(类似于 Python 的 选择)。

我应该在返回该对象之前自动释放它吗?我相信我不应该,但我不确定......

I'm writing an NSArray category to include the -objectAtRandom message that returns an object from a random index (something similar to Python's choice).

Should I autorelease this object before returning it? I believe I shouldn't, but I'm not sure...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

根据正常的内存管理规则,不,你不应该这样做。由于您可能使用 objectAtIndex: 返回对象,因此您不需要自己进行任何内存管理。

According to the normal memory management rules, no, you should not. Since you're presumably using objectAtIndex: to return the object, you don't need to do any memory mangement of your own.

我会写 return [[object keep] autorelease] - 这将保证,即使数组将被释放,用户也将能够使用对象,直到当前运行循环周期完成。

I'd write return [[object retain] autorelease] - this will guarantee, that even if array will be released, user will be able to work with object until current runloop cycle finish.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文