文档章节

关于拷贝的基本认识

0_0Loong
 0_0Loong
发布于 2015/10/18 19:21
字数 300
阅读 18
收藏 0

从复制的层面上讲:

retain:始终是浅复制。引用计数每次加一。返回对象是否可变与被复制的对象保持一致。


copy:对于可变对象为深复制,引用计数不改变;对于不可变对象是浅复制,

         引用计数每次加一。始终返回一个不可变对象。


mutableCopy:始终是深复制,引用计数不改变。始终返回一个可变对象。


 而复制的概念上区别:

浅 复 :在复制操作时,对于被复制的对象的每一层复制都是指针复制。

深 复 :在复制操作时,对于被复制的对象至少有一层复制是对象复制。

完全复制:在复制操作时,对于被复制的对象的每一层复制都是对象复制。


在这里就可以解释之前一个问题:我们在定义NSString为retain类型的类属性后去设置属性值之后我们的计数器不会加一。这里是因为,从某种程度上讲NSString是一个静态的常量在这样进行浅复制是不成立。



© 著作权归作者所有

共有 人打赏支持
0_0Loong
粉丝 8
博文 69
码字总数 64426
作品 0
西安
程序员
深入JavaScript基础之深浅拷贝

最近在学到JavaScript对象的深拷贝和浅拷贝做了一些比较,将实际开发的点和基础点做了些小结,话不多说,开始进入主题吧。 基础认识---基本类型 基础认识---引用类型 浅拷贝的实现-对象&&数组...

楚梦浮生
07/30
0
0
iOS | mutableCopy的实际运用

这是一篇发现问题和解决问题的笔记。 遇到的问题 每次上拉加载更多完成执行后,banner都会增加两页。 banner是一个cell,它的方法代码是这样的: 这里首尾添加两个元素是为了做轮播效果。 问...

无夜之星辰
05/08
0
0
关于不采用session问题,应该还可以选择其他什么技术解决

记得12月14日参加成都的CF大会,了解些云平台的内容。有个初步的认识,还见到红薯,但并没赶上去打招呼,觉得等级太低。尤其上会上红薯有说过关于用户信息可以采用session技术,事后有留言问...

四川西瓜
2013/12/23
315
6
NDK开发中这些基本知识你都懂吗

JNIEnv 定义: 相当于一个jni上下文对象。 作用: 通过JNIEnv的指针能够对Java端的代码进行操作: a.创建Java对象. jstring str = (env).NewStringUTF("终端研发部"); jclass jclazz = (env)...

codeGoogle
2017/09/21
0
0
WCF技术剖析之十七:消息(Message)详解(中篇)

[爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道《天天山海经》为此录制的节目视频(苏州话)]]在上篇中大体上围绕着Message的两个话题进行讲述:消息版本(Message V...

长平狐
2012/09/04
44
0

没有更多内容

加载失败,请刷新页面

加载更多

OSX | SafariBookmarksSyncAgent意外退出解决方法

1. 启动系统, 按住⌘-R不松手2. 在实用工具(Utilities)下打开终端,输入csrutil disable, 然后回车; 你就看到提示系统完整性保护(SIP: System Integrity Protection)已禁用3. 输入reboot回车...

云迹
今天
4
0
面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
今天
4
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
4
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
5
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部