文档章节

关于拷贝的基本认识

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

从复制的层面上讲:

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


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

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


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


 而复制的概念上区别:

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

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

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


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



© 著作权归作者所有

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

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

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

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

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

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

四川西瓜
2013/12/23
319
6
我是电音之王!FLStudio学习路线图

初步认识水果音乐软件 初步认识水果音乐 终结篇 水果音乐的安装 基本面板的认识与控制 编辑菜单基本操作的认识 通道菜单的认识及基本操作 view浏览器的基本操作 控制面板的基本操作 option菜...

棋帅小七
2017/12/01
0
0
NDK开发中这些基本知识你都懂吗

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

codeGoogle
2017/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql 查询当天、本周,本月,上一个月的数据

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 近7天 SELECT * FROM 表名 wher......

BraveLN
今天
2
0
Android Multimedia框架总结(六)C++中MediaPlayer的C/S架构

前面几节中,都是通过java层调用到jni中,jni向下到c++层并未介绍 看下Java层一个方法在c++层 MediaPlayer后续过程 frameworks/av/media/libmedia/MediaPlayer.cpp 找一个我们之前熟悉的setDa...

天王盖地虎626
今天
3
0
【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)

1、前言   框框博客在线报时:2018-11-07 19:31:06   当前MySQL最新版本:8.0.13 (听说比5.7快2倍)   官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MySQL 8 要比 MySQL 5.7 快 2 ...

Code辉
今天
5
0
oracle dg备库重建redolog:ora-00313,ora-00312

trace文件: Errors in file /crbank/dbs/app/product/diag/rdbms/rdbs/dbs/trace/dbs_mrp0_24445130.trc: ORA-00313: open failed for members of log group 8 of thread 1 ORA-00312: onl......

hnairdb
今天
3
0
深入分析Java I/O的工作机制 (一)

1.Java的I/O类库的基本架构 先说一下什么是类库:可以说是类的集合,类库包括接口、抽象类、具体类等。 I/O是机器获取和交互信息的主要渠道。 java在I/O上也一直在做持续的优化,在1.4版开始...

java菜分享
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部