iOS自定义对象的拷贝
来源:互联网 发布:淘宝美工多久能学会 编辑:程序博客网 时间:2024/04/30 12:58
自定义对象的拷贝
//分析: NSString可直接进行拷贝 [str copy];
NSString *str = @"hello"; NSString *str1 = [str copy]; NSString *str2 = [str mutableCopy]; NSLog(@"str1 = %@,str2 = %@",str1,str2);
//自定义拷贝的执行顺序:
//调用copy-> copyWithZone Person *xiaoQ = [[Person alloc] init]; xiaoQ.name = @"xiaoQiang"; xiaoQ.age = 18; Person *xiaoM = [xiaoQ copy]; //自定义对象的拷贝 NSLog(@"xiaoQ = %@",xiaoQ); NSLog(@"xiaoM = %@",xiaoM); Person *xiaoB = [xiaoQ mutableCopy]; NSLog(@"xiaoB = %@",xiaoB);
//自定义对象拷贝崩溃:
//疑问:NSString与自定义对象都是调NSObject的方法,要报错的话NSString也要报错 //通过分析1:NSString遵守了NSCopying协议:从而可知,NSString中一定实现了协议中必须的方法:copyWithZone //通过分析2:字符串调用copy方法,必定内部调用了copyWithZone,字符串中有这个copyWithZone的实现方法所以不会奔溃; //通过分析3: 自定义对象调用copy方法,内部也调用了copyWithZone //最后,自定义对象遵守NSCopying,实现copyWithZone,崩溃就解决了 //结论:以后系统会提供很多类似的协议接口: //不用我们生成的部分: //1. 系统定制协议: NSCopying //2. 被代理者: NSObject
//需要我们做的事情:
//3: 代理者: 遵守协议,实现协议方法,(隐含设置代理)
// 遵守协议
@interface Person : NSObject<NSCopying,NSMutableCopying>
//实现协议方法
-(id)copyWithZone:(NSZone *)zone{ NSLog(@"自定义对象拷贝"); //allocWithZone: 开辟zone大小的空间 Person *xiaoM = [Person allocWithZone:zone]; xiaoM.name = self.name; xiaoM.age =self.age;return xiaoM;}-(id)mutableCopyWithZone:(NSZone *)zone{ NSLog(@"自定义对象的mutable拷贝"); Person *xiaoM = [Person allocWithZone:zone]; xiaoM.name = _name; xiaoM.age = _age; return xiaoM;}
0 0
- iOS自定义对象的拷贝
- iOS 内存管理~自定义对象的拷贝
- 【iOS】自定义对象深拷贝、浅拷贝
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍
- ios深拷贝,浅拷贝,拷贝自定义对象的简单介绍
- 深拷贝,浅拷贝,自定义的类的对象实现拷贝
- ios 之对象 拷贝
- 自定义对象的拷贝(copy 和 strong 的区别)
- 自定义对象如何进行拷贝
- 关于自定义类对象数组的深层拷贝(转载)
- copyWithZone 对象的自定义拷贝 (深and浅)
- IOS自定义复制、拷贝功能
- iOS 对象数组的深拷贝(NSCoding协议)
- IOS中复制对象的用法及深拷贝和浅拷贝详解
- 解决IE6不兼容fixed属性的方法
- cocos2d-x 3.13 创建新项目
- java 时间戳
- HTTPS 安全
- 统计语言建模工具SRILM代码学习笔记
- iOS自定义对象的拷贝
- linux下apache+tomcat部署项目
- codec 随写笔记未整理
- 计算机编码格式
- 设计模式概述
- cas-service 工程 使用详解,未完成
- Unity Shaders——屏幕特效老电影效果(Old Movie Screen Effect)
- activiti的使用注意事项
- 中科院大牛博士是如何进行文献检索和阅读(好习惯受益终生)