copy 与 MutableCopy
来源:互联网 发布:串口摄像头调试软件 编辑:程序博客网 时间:2024/05/17 02:36
使用copy或者MutableCopy方法可以创建一个对象副本
copy
需要实现NSCopping协议:这些创建的是不可变的副本(如:NSString,NSArray,NSDictionary)
MutableCopy
需要实现NSMutableCoppiing协议:创建的是可变的副本(如:NSMutabelString,NSMutableArray,NSMutableDictionary)
copy的目的就是建立副本,同时修改原对象和副本互不影响
深复制&浅复制
深复制:
内容拷贝,源对象和副本指向的是不同的两个对象
源对象引用计数器不变,副本计数器设置为1
浅复制:
指针拷贝,源对象和副本指向的是同一个对象
对象的引用计数器+1,其实相当于做了一次retain操作
只有不可变对象创建不可变副本(copy)才是浅复制,其他都是深复制
自定义对象的copyWithZone
- (id)copyWithZone:(NSZone *)zone
{
Person *p = [[[self class] allocWithZone:zone] init];
p.name = self.name;
p.age = self.age;
return p;
}
0 0
- mutableCopy与COPY区别
- MutableCopy 与 Copy
- copy与mutableCopy-----笔记
- copy 与 mutablecopy
- mutableCopy与COPY区别
- ios copy 与 mutablecopy
- iOS copy与mutableCopy
- 16.copy与mutableCopy
- copy与mutableCopy
- copy与mutableCopy
- copy与mutableCopy区别
- copy 与 MutableCopy
- mutableCopy 与 copy
- NSString 的copy 与 mutableCopy
- oc中的copy与mutableCopy
- oc中的copy与mutableCopy
- iOS-copy与mutableCopy浅析
- OC关键字copy与mutableCopy
- 修改RxCache为Retrofit增加先加载缓存后请求网络功能
- Maven引入oracle驱动问题
- VMware workstations 里的虚拟机如何上网(NAT模式)
- API gateway---orange下的微服务架构设计
- Python+Selenium初入殿堂
- copy 与 MutableCopy
- 关于ML、DL中的一些问题(1)——数据归一化的作用
- 【Java】一行代码读完记事本中的二维表
- 自己撸一个折线图
- 极光单推设置别名
- openGL三维网格坐标,旋转,缩放,灯光设置,纹理读取,模型读取(MFC单文档)
- express的中间件basicAuth详解
- latex中微调字体大小
- MySQL无限分类的数据表设计以及各种查询