深浅复制
来源:互联网 发布:杭州软件开发培训 编辑:程序博客网 时间:2024/05/15 16:16
网上一堆 copy retain weak assign 模棱两可的描述,越看越令人懵!
知乎大牛解释得非常好:
只要看两篇就可以弄的很懂。
1.copy 和 strong
https://www.zhihu.com/question/20102376
2.深浅复制
https://www.zhihu.com/question/36987710
NSMutableString* str1 = [NSMutableString stringWithString:@"hello"]; NSMutableString* str2 = [NSMutableString stringWithString:@"world"]; NSArray* array = [NSArray arrayWithObjects:str1, str2, nil]; NSArray* arrayShadowCopy = [array copy]; // NSMutableArray* arrayShadowCopy = [array mutableCopy];// [arrayShadowCopy removeObjectAtIndex:0]; NSMutableArray* arrayDeepCopy = [NSMutableArray arrayWithCapacity:[array count]]; for (NSMutableString* str in array) { [arrayDeepCopy addObject:[str copy]]; } [str1 appendString:@"1234"]; NSLog(@"array: %@ and %p", array, array); NSLog(@"array shadow copy : %@ and %p", arrayShadowCopy, arrayShadowCopy); NSLog(@"array deep copy : %@ and %p", arrayDeepCopy, arrayDeepCopy);
搞明白这段代码,和组合各种情况模拟一样,就可以明白,其实说到底了就是 指针 和 内存区的事情啦
0 0
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 深浅复制
- 关于深浅复制
- java深浅拷贝(复制)
- java深浅拷贝(复制)
- c#深浅复制
- 原型模式深浅复制
- [Python] List & 深浅复制
- iOS深浅复制
- OC中的深浅复制
- oc笔记-深浅复制
- OC深浅复制问题
- java中的深浅复制
- POJ 1065
- 《数据结构》进行曲(三)线性表的链式表示和实现之二
- extern关键字
- android绘图
- C语言实现某年某月某日是某年的第几天
- 深浅复制
- STL vector的内部实现原理及基本用法
- [MyBatis]利用mybatis-paginator实现分页(目前看到MyBatis下最好的分页实现)
- 门诊医生工作站的小贴士------运维日志27
- leetcode笔记--String to Integer (atoi)
- [Jackson] @JsonView的使用
- YTU 2443: C++习题 复数类--重载运算符3+
- eclipse ctrl+左键进入xml文件
- java中条件(&& ||) 逻辑(& | !^)和按位(& | ^ ~)的区别