如果我只分配一个对象,并使用addObject方法将其添加到3 nsmutablearray。 实际会发生什么? 编译器会创建同一对象的3个副本吗?或者它只是创建3个对同一对象的引用而不消耗相同数量的内存3次?
提前谢谢!
答案 0 :(得分:0)
这些值由集合保留,而不是实际复制。所以将提出3个参考文献。
根据文档,NSMutableArray
是CFMutableArrayRef
的免费网桥,CFArrayInsertValueAtIndex
函数指定:
该值由TheArray保留 使用创建theArray时提供的retain回调。
对于NSArray
,此回调包括调用对象的retain
方法。在集合中删除后,将调用release
方法