现在的位置: 首页 > 综合 > 正文

iOS开发-Objc arrayWithCapacity: 深入分析

2018年04月08日 ⁄ 综合 ⁄ 共 293字 ⁄ 字号 评论关闭

在Objc的便利构造器 中会有


NSMutableArray *marr=[NSMutableArrayarrayWithCapacity:5];

带有capacity的方法,

其内存原理如下:

capacity后的NSUInteger代表了开辟内存的一个单位
初始在内存中开辟5个内存,如果之后数组元素多余5个,则会再开辟新的5*2个新的内存,[考虑到数组的连续内存的特性]
单位是以5,把之前的5个元素的内容拷贝到新的十个新的内存里面,把第六个
也放进去,然后释放初始状态创建的内存5个
最后得到了一块够用的连续的内存5*2

原文地址:http://blog.csdn.net/yangbingbinga

抱歉!评论已关闭.