美文网首页
浅拷贝的问题

浅拷贝的问题

作者: gxatios | 来源:发表于2018-01-22 10:16 被阅读7次

内存管理属性
retain:浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。
copy:对于可变对象为深复制,引用计数不变;对于不可变对象是浅复制,引用计数加一。返回一个不可变对象。
mutableCopy:深复制,引用计数不变。返回一个可变对象。

先有内存空间,属性指针指向内存空间,内存管理是属性中内存管理的模式

1,多个属性指向同一个内存空间
self.testA = @"testA";
self.copA = self.testA;
self.strongA = self.testA;
NSLog(@"testA:%@,%p,%p",_testA,_testA,&_testA);
NSLog(@"copA:%@,%p,%p",_copA,_copA,&_copA);
NSLog(@"strongA:%@,%p,%p",_strongA,_strongA,&_strongA);
输出结果:
testA:testA,0x1091902b0,0x7fc12b407228
copA:testA,0x1091902b0,0x7fc12b407230
strongA:testA,0x1091902b0,0x7fc12b407238
2,可变对象指向不可变对象,进行可变对象的操作会引起崩溃

相关文章

  • C++-03、浅拷贝、深拷贝

    浅拷贝 浅拷贝重复释放空间的问题 深拷贝

  • PHP之剑走偏锋的DeepCopy

    php的深拷贝和浅拷贝问题,普通变量对象的赋值 = 是深拷贝,& 是浅拷贝。 输出结果: 类对象的拷贝问题就得看下...

  • 原型模式

    简介 实现Cloneable接口,重写clone方法。要注意深拷贝和浅拷贝问题。 浅拷贝:新实例的...

  • iOS - Tips - 深拷贝与浅拷贝

    深拷贝和浅拷贝是个经常被闻到的问题. 很多人认为copy 是浅拷贝, mutableCopy 是深拷贝. 实际并非...

  • 学习总结小知识点

    深拷贝、浅拷贝问题 对于不可变对象而言,copy便是浅拷贝,而mutableCopy是深拷贝。对于可变对象而言,c...

  • 小问题笔记

    深拷贝,浅拷贝 此问题针对于引用类型浅拷贝,拷贝(地址)完后,改变任意对象的值后,均改变深拷贝,拷贝完后,与前对象...

  • 浅拷贝的问题

    内存管理属性retain:浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。copy:对于可变对象...

  • iOS深拷贝(MutableCopy)与浅拷贝(Copy)的区别

    深拷贝和浅拷贝的概念 iOS中有深拷贝和浅拷贝的概念,那么何为深拷贝何为浅拷贝呢?浅拷贝:浅拷贝并不拷贝对象本身,...

  • Python底层|赋值 浅拷贝 深拷贝

    参考 python中的深拷贝和浅拷贝问题python的复制,深拷贝和浅拷贝的区别 结论 总体来说,赋值只是增加了一...

  • “深拷贝” 与 “浅拷贝” 的区别,JS实现深浅拷贝的几种方法

    一、 “深拷贝” 与 “浅拷贝” 的区别 对于这个问题,可以考虑从深拷贝和浅拷贝的使用或者起源说起,也就是为什么会...

网友评论

      本文标题:浅拷贝的问题

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