NSArray & NSMutableArray

简介

NSArray创建之后会在堆中建立一块区域A,然后指针MoMo指向这块区域A,但是这块区域的大小是已经确定不能更改的了。但是我们还是能够看到有setobject的方法,可以向里面添加改变值。这是因为会在堆中在新建一个内存区域B,把原来堆内存A中的数据复制到这个堆区域B中,然后在这个新的区域B里面添加你setobject进去的值,并把栈中的指针对象MoMo指向B。这样就是说原来A的对内存值没有发生变化,但是你的指针MoMo在指向新的内存区域B之后指针对应的值已经变化了。因为B中有A的复制内容,还有最后你新添加进去(setobject)的值。

NSMutableArray就是另外一种方式了。说他内容可变,就是说原来的堆中内存A还是A,但是你添加的值(setobject)直接存放在A中你需要的位置如末尾,全过程中没有B的存在了。显然这样的速度会更快。

用法如下

http://www.tuicool.com/articles/nIrEJv

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容