Iphone 使用具有容量的阵列比使用阵列有什么优势?
创建数组时不需要指定数组大小,对吗? 那么,为什么阵列需要容量呢?Iphone 使用具有容量的阵列比使用阵列有什么优势?,iphone,arrays,nsmutablearray,nsarray,Iphone,Arrays,Nsmutablearray,Nsarray,创建数组时不需要指定数组大小,对吗? 那么,为什么阵列需要容量呢? 如果我将阵列的大小设置为小于实际需要的大小,可以吗?阵列的容量是一种优化-这是不必要的。如果您提前知道元素的数量,系统可以在一个系统调用和一块内存中分配存储。否则,系统必须在稍后添加更多元素时调整数组的大小,这往往很慢,需要额外的分配,并且可能需要将数据从旧缓冲区复制到新缓冲区 array创建一个空数组(并在添加对象时分配内存),而arrayWithCapacity创建一个分配了足够内存来容纳这些对象的数组,但您可以在需要时随时
如果我将阵列的大小设置为小于实际需要的大小,可以吗?阵列的容量是一种优化-这是不必要的。如果您提前知道元素的数量,系统可以在一个系统调用和一块内存中分配存储。否则,系统必须在稍后添加更多元素时调整数组的大小,这往往很慢,需要额外的分配,并且可能需要将数据从旧缓冲区复制到新缓冲区
array
创建一个空数组(并在添加对象时分配内存),而arrayWithCapacity
创建一个分配了足够内存来容纳这些对象的数组,但您可以在需要时随时扩展它