// 一: copy 与 retain 的区别// 谁才有引用计数的概念:// 1. 堆区空间才有引用计数概念.// 2. 堆区的对象才会有引用计数. //%ld: - 1 %lu:18446744073709551615 //retain:始终是浅拷贝。引用计数每次加一。 /...
分类:
其他好文 时间:
2016-01-06 23:38:32
阅读次数:
195
copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 retain属性表示两个对象地址相同(建立一个指针,指针.....
分类:
移动开发 时间:
2016-01-05 18:25:39
阅读次数:
230
ViewController.h#import @interface ViewController : UIViewController//如果想让list成为一个可变的数组,需要把copy变成retain,因为copy之后的对象永远都只是一个不可变的对象@property (nonatomic,c...
分类:
其他好文 时间:
2015-12-29 17:41:29
阅读次数:
244
最近看了一篇腾讯c++校招面试题,忽然勾起我当初学c++的痛苦与快乐,决定再研究一下,题目如下: 以下代码是否完全正确,执行可能得到的结果是____。C++class A{ int i;};class B{ A *p;public: B(){p=new A;} ~B(){delet...
分类:
编程语言 时间:
2015-12-27 21:58:50
阅读次数:
272
非容器对象:NSStringNSMutableString不可变对象复制:copy是指针复制(浅拷贝);mutableCopy就是对象复制(深拷贝)。可变对象复制:都是深拷贝,但是copy返回的对象是不可变的。copy浅copy,不会产生新的地址,两个指针指向同一地址深copy,会产生新的地址,两个...
分类:
其他好文 时间:
2015-12-25 15:00:37
阅读次数:
162
-(void)copyDemo{// 在非集合类对象中:对immutable对象进行copy操作,是指针复制,mutableCopy操作时内容复制;对mutable对象进行copy和mutableCopy都是内容复制。用代码简单表示如下:// // [immutableObject...
分类:
移动开发 时间:
2015-12-23 17:50:04
阅读次数:
173
首先,什么是copy?Copy的字面意思是“复制”、“拷贝”,是一个产生副本的过程。常见的复制有:文件复制,作用是利用一个源文件产生一个副本文件。 特点:1、修改源文件的内容,不会影响副本文件; 2、修改副本文件的内容,不会影响源文件。OC中copy的作用是:利用一个源对象产生一个副本对象特点:.....
分类:
其他好文 时间:
2015-12-22 21:19:17
阅读次数:
1486
c# 通用类型系统 及变量在 深拷贝 浅拷贝 函数传参 中的深层次的表现在编程中遇到了一些想不到的异常,跟踪发现,自己对于c#变量在内存上的表现理解有偏差,系统的学习并通过代码实验梳理了各种情况下,变量在内存级的表现情况,对以后的coding应该有些帮助。在此记录以免忘记了。。。1. 通用类型系统先...
原型模式也是创建型的设计模式,通过拷贝原型创建新的对象,理解原型模式必须理解java中的浅复制和深复制。复制也称为克隆。会发生深拷贝的有java中的8中基本类型以及他们的封装类型,另外还有String类型。其余的都是浅拷贝。浅克隆:浅克隆仅仅克隆所考虑的对象,而不克隆它所引用的对象。深克隆:深克隆不...
分类:
编程语言 时间:
2015-12-18 22:47:58
阅读次数:
228