基础函数的内存管理指南

发布于 2024-08-13 20:33:24 字数 150 浏览 4 评论 0原文

虽然基础类的内存管理是一致的并且有记录,但我惊讶地发现(通过友好的 EXC_BAD_ACCESS )基础函数(例如 NSStringFromSelector() )似乎返回指向常量存储 - 至少该函数的文档中没有提到这一点。

该行为是否记录在某处?有没有一致的指导方针?

While memory management for the foundation classes are consistent and documented, i was surprised to find (via the friendly EXC_BAD_ACCESS) that Foundation functions like e.g NSStringFromSelector() seem to return pointers to constant storage - which is at least not mentioned in the documentation for the function.

Is that behaviour documented somewhere? Are there any consistent guidelines?

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

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

发布评论

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

评论(1

为你拒绝所有暧昧 2024-08-20 20:33:24

这些规则实际上与 Objective-C 方法的规则相同 - 如 这些核心基础功能的文档

因此,在您的示例中,因为单词 allocnewcreatecopy 不存在您获得的对象back 不属于您(它将具有静态存储或将自动释放)。

The rules are really just the same as those for Objective-C methods - as is illustrated by these docs for the core foundation functions.

So in your example, because the words alloc, new, create or copy are not present the object you get back is not owned by you (it will either have static storage or will be autoreleased).

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