深拷贝和浅拷贝:strong与 copy 区别
来源:互联网 发布:linux降低用户权限 编辑:程序博客网 时间:2024/05/16 12:43
深拷贝和浅拷贝/strong与 copy 区别
====
- 1.深拷贝是内容的拷贝,浅拷贝只是指针的拷贝,浅拷贝使指针 retain 一次,对于不可变数组(或 string 或 dictnory)的 copy 操作是浅拷贝,对不可变数组(或同上。)的 multyCopy 操作同对可变数组(或同上)的 copy 和 multyCopy 操作都是深拷贝
- 1.1 不可变数组经过 copy 操作之后,仍具有修改 copy 后副本,不影响原件的功能,原理是,修改不可变数组,会开辟新的存储空间,存储新的值,所以不会影响原件的值
- 2.static 会使变量在内存中保留一个位置,拿到这个变量时,不再会初始化,对于全局变量的 static,可以防止外界的修改等不安全的行为,访问外界的全局变量:extern
- 3.类的 copy 如何实现
- 类遵守协议
- 重写 copyWithZone 方法,在方法中,创建一个新对象,将对象的属性进行赋值
4.属性 strong 与 copy 的区别
4.1@property(strong) NSString * name;
_name = string = @”123”;
当 string = @”456”;
_name = @”456”;
也就是_name 随着 string 的改变而改变4.2@property(copy) NSString * name;
copy 不会受到 string 的改变而改变
- 5.
- 这里的 name 虽然是可变的,但是 copy 后是不可变的,不可变数组不能使用 Appending xxx方法:
0 0
- 深拷贝和浅拷贝:strong与 copy 区别
- 深拷贝,浅拷贝与copy,strong
- [概念]深.浅拷贝与 copy 、strong
- ios-关于深拷贝和浅拷贝和属性中的copy和strong的区别
- iOS 浅谈:深.浅拷贝与copy.strong
- iOS 浅谈:深.浅拷贝与copy.strong
- iOS 浅谈:深.浅拷贝与copy.strong
- iOS 浅谈:深.浅拷贝与copy.strong
- iOS 浅谈:深.浅拷贝与copy.strong
- iOS内存管理--深、浅拷贝与copy、strong
- iOS 浅谈:深.浅拷贝与copy.strong
- Python copy()与deepcopy()区别,深拷贝与浅拷贝
- OC的深拷贝与浅拷贝--NSArray与NSMutableArray应该使用copy还是strong?
- IOS 之copy(浅拷贝)和mutableCopy(深拷贝) 以及strong 和weak理解
- 自定义对象的拷贝(copy 和 strong 的区别)
- 深拷贝和浅拷贝(copy)的区别
- 深拷贝deepcopy与浅拷贝copy
- Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
- Android中的定时任务
- MySQL:数据库基础和workbench介绍
- 随手记之多分辨率布局
- 欢迎使用CSDN-markdown编辑器
- android Fragments详解五:与activity通讯
- 深拷贝和浅拷贝:strong与 copy 区别
- php5.6, php7 on ubuntu14 via phpbrew
- 乌云白帽大会笔记
- php的表格
- Opponents
- iOS开源加密相册Agony的实现(一)
- 【MyBatis框架】MyBatis入门程序第二部分
- 在Django中使用mysql时的常见问题及配置
- Python 基础学习笔记