gpt4 book ai didi

objective-c - C 数组与 Obj-C 数组

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:35 25 4
gpt4 key购买 nike

当使用 alloc init 在 Objective-C 中创建数组时,将对象添加到数组时如何管理内存?

我想知道这与 C 在创建数组和 malloc 时有什么关系,分配的大小需要是预期数组的大小,或者需要重新分配数组内存。

这些有什么关系,或者什么是理解 C 代码工作方式的好方法。

Objective-c 数组内存是否在添加对象时在内部处理,或者这是如何工作的?

最佳答案

Objective-C 数组遵循与其他 Objective-C 对象相同的内存管理规则。如果分配它,则需要释放它。

C 数组和 Objective-C 数组在概念上相似,但实现方式却大不相同。 C 数组是一个连续的内存块,除了控制您如何使用它的语言结构外,几乎没有其他内容。 Objective-C 数组是具有重要内置功能的对象。它们会动态调整自身大小(如果它们是可变的)以适应添加的元素。他们适本地保留和释放他们存储的对象。它们可以自行排序、过滤、插入对象、删除对象等。您不应该对它们的实现方式做出任何假设。

Apple 的文档应该可以让您更好地了解 Objective-C 数组的可能性(当您阅读它时,也可以看看其他集合类)。从这里开始阅读: Collections Programming Topics

关于objective-c - C 数组与 Obj-C 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226533/

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