iOS开发-Objc arrayWithCapacity: 深入分析
2015-08-13 22:24
591 查看
NSMutableArray
*marr=[NSMutableArrayarrayWithCapacity:5];
有capacity的方法,
其内存原理如下:
capacity后的NSUInteger代表了开辟内存的一个单位
初始在内存中开辟5个内存,如果之后数组元素多余5个,则会再开辟新的5*2个新的内存,[考虑到数组的连续内存的特性]
单位是以5,把之前的5个元素的内容拷贝到新的十个新的内存里面,把第六个也放进去,然后释放初始状态创建的内存5个
最后得到了一块够用的连续的内存5*2
*marr=[NSMutableArrayarrayWithCapacity:5];
有capacity的方法,
其内存原理如下:
capacity后的NSUInteger代表了开辟内存的一个单位
初始在内存中开辟5个内存,如果之后数组元素多余5个,则会再开辟新的5*2个新的内存,[考虑到数组的连续内存的特性]
单位是以5,把之前的5个元素的内容拷贝到新的十个新的内存里面,把第六个也放进去,然后释放初始状态创建的内存5个
最后得到了一块够用的连续的内存5*2
相关文章推荐
- iOS 基础知识 assign retain copy 和 nonatomic的用法
- 提高iOS开发效率
- iOS不同传值方法的分享
- 小白学开发(iOS)OC_ 字符串的获取 (2015-08-11)
- 小白学开发(iOS)OC_ Foundation之NSString类(2015-08-11)
- iOS开发 -- iPhone手机屏幕尺寸
- ios
- IOS开发—Quartz 2D介绍
- iOS 只取float类型值的小数点后两位
- iOS开发关于图片拉伸应用stretchableImageWithLeftCapWidth
- ios tableview didSelectRowAtIndexPath方法中,获取某个cell的实例
- 解决webrtc iOS 编译错误 Multiple codesigning问题
- coco2dx新建项目报错,ld: -pie can only be used when targeting iOS 4.2 or later clang: error: linker command
- IOS开发—截屏
- how to show provisionning profile information
- 重构iOS应用
- iOS音乐后台播放及锁屏信息显示
- iOS 集合的深复制与浅复制
- 苹果开发 笔记(60)文本字体、大小 、颜色、边框 设置
- iOS百度地图SDK常见问题以及解决方案