自定义类实现copy

1.自定义的类能够被copy只需要遵守NSCopying协议

2.实现协议中的copyWithZone方法

3.在协议额的方法中创建一个副本对象,然后将当前对象的值赋值给副本对象既可

typedef void (^myBlock)(void);

@interface Student : NSObject<NSCopying,NSMutableCopying>

@property (nonatomic, copy) myBlock pBlock;

@property (nonatomic, copy) NSString * name;

@end

NSCopying协议方法

- (id)copyWithZone:(NSZone*)zone{

    //1.创建一个新的对象

    Student*p = [[[selfclass]allocWithZone:zone]init];

    //2.设置当前对象的内容给新的对象

    p.name=_name;

    //3.返回新的对象

    returnp;

}

NSMutableCopying协议方法

- (id)mutableCopyWithZone:(NSZone*)zone{

    //1.创建一个新的对象

    Student*p = [[[selfclass]allocWithZone:zone]init];

    //2.设置当前对象的内容给新的对象

    p.name=_name;

    //3.返回新的对象

    returnp;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • /*1.如果想让自定义的对象能够被copy只需要遵守NSCopy协议2.实现协议中的-(id)copyWithZo...
    哔哩哔哩智能喵阅读 196评论 0 0
  • 本文为转载: 作者:zyydeveloper 链接:http://www.jianshu.com/p/5f776a...
    Buddha_like阅读 1,043评论 0 2
  • 想让自定义的类具备拷贝功能,则需实现 NSCopying 协议.如果自定义的对象分为可变版本与不可变版本,那么就要...
    CaptainRoy阅读 589评论 0 0
  • 不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 一个类如何实现自定义copy,以及注意事项 ...
    liyuhong阅读 695评论 0 0
  • 2018年 12月28日晨间日志 生命:(健康、运动、冥想) 1.日行一善:1/100,昨天没有分享。 2.健康:...
    静待花开80后阅读 162评论 0 0

友情链接更多精彩内容