copy 关键词 2021-04-22

一、怎么使用copy关键词
1、NSString、NSArray、NSDictionary 等等经常使用copy关键词。是因为他们有对应的可变类型:NSMutableString、NSMutableArray、NSMutableDictionary ;他们之间可能进行赋值操作,为了确保对象中的字符串值不会无意间的变动,应该在设置新属性时拷贝一份。
2、block也使用copy

二、@property (nonatomic ,copy) NSMutableArray *ddArr 这样写有什么问题?
1、添加、删除、修改数组内的元素的时候,程序会因为找不到对应的方法二崩溃,因为copy一个可变数组的结果是一个不可变数组;
2、使用了atomic 属性会严重影响性能;

三、如何让自己的类用copy修饰符,即让自己的对象具有拷贝能力
1、需要声明该类遵从NSCopying或NSMutableCopying协议
2、实现NSCopying协议。该协议只有一个方法
-(id)copyWithZone:(NSZone*)zone;

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

相关阅读更多精彩内容

友情链接更多精彩内容