美文网首页
NSarray等容器对象copy(深浅拷贝)

NSarray等容器对象copy(深浅拷贝)

作者: e9a5b92a9e6c | 来源:发表于2018-05-09 10:35 被阅读0次

https://wangdetong.github.io/2016/05/07/20160507collection-deep-shallow-copy/
http://www.cnblogs.com/ydhliphonedev/archive/2012/04/27/2473927.html

8CE1F4E2-08BF-422D-B605-0C46CDC4A9D0.png

array2是对象复制,array2容器内的元素内容都是指针复制

数组会对保存的对象内存引用计数+1。
数组保存的是对象的指针对象。
如果数组copy时,保存的对象也想同时copy,可以用initWithArray:copyItems:函数。

image

https://blog.csdn.net/bryantsikilovia/article/details/46336957
int a = 10, *p1, *p2;
p1 = &a;
p2 = p1;
p1指的是变量a所在的地址。
*p1指的是p1指向的地址的值,即a的值。
&a指的是变量a的地址。
而oc中的指针跟C语言中的指针是一样的。
在oc中,当我们alloc、init一个对象以后,要访问对象一般直接使用对象的名字,如:
MyClass *obj = [[MyClass alloc]init];
NSLog(@"obj:%p", obj);
NSLog(@"&obj:%p", &obj);
输出为:

image
obj是一个指针变量,它指向obj对象的地址。&obj指的是obj这个指针变量所在的地址。
image

相关文章

  • NSarray等容器对象copy(深浅拷贝)

    https://wangdetong.github.io/2016/05/07/20160507collectio...

  • iOS NSArray NSMutableArray mutab

    总结: [NSArray copy] 浅拷贝 还是那个对象[NSArray mutableCopy] 深拷贝 得...

  • 深入理解深浅拷贝

    再次深入探究了深浅拷贝的东西。非容器类和容器类的深浅拷贝大致相似,不可变类型的copy拷贝是浅拷贝,mutable...

  • copy和mutableCopy

    区分copy和mutableCopy之前,先区分容器对象和非容器对象,很好理解容器对象类似有:NSArray,NS...

  • 深拷贝浅拷贝要点笔记

    不可变对象&容器: 【str copy】【arr copy】浅拷贝 【str mutablecopy】【arr m...

  • Python的直接赋值,深拷贝和浅拷贝以及使用场景

    概述 深浅拷贝用法来自copy模块导入模块: import copy浅拷贝: copy.copy深拷贝: copy...

  • 深浅拷贝

    深浅拷贝 赋值操作,没有创建新对象浅拷贝,只拷贝第一份内容 [:] copy()浅拷贝,把这个对象的内容全部拷贝一...

  • 探寻深浅拷贝

    1.前言 开发过程中常常需要拷贝属性、容器、模型,修改拷贝对象,是否会对原对象产生影响等,这就是 copy与mut...

  • 浅拷贝和深拷贝的区别

    浅拷贝: Making a shallow copy: NSArray *shallowCopyArray = [...

  • day 9

    浅拷贝和深拷贝 copy.copy(对象):浅拷贝 copy.deepcopy(对象):深拷贝 copy.copy...

网友评论

      本文标题:NSarray等容器对象copy(深浅拷贝)

      本文链接:https://www.haomeiwen.com/subject/ighnrftx.html