iOS_Copy到底什么时候用?

来源:互联网 发布:java手机编译器aide 编辑:程序博客网 时间:2024/05/16 12:18
A: 

OC里面有个值对象的概念,当你新定义一个属性是值对象时就应该用copy来修饰。那么都什么对象是值对象呢?

值对象:指封装了基本值(属于 C数据类型)且提供与该值相关的服务的对象。值对象以对象形式表示标量类型。Foundation框架向您提供了以下类(这些类产生对象,用于字符串、二进制数据、日期与时间、数字以及其他值):

NSStringNSMutableString ,  NSDataNSMutableData  ,  NSDate  ,   NSNumber   ,  NSValue


B: 

当一个指针执行的对象属性值发生改变时,不影响另一个对象,那么需要分配两个不同的内存地址,也就是说,我们就不可以采用retain关键字了,而是要采用copy关键字,因为copy关键字会在复制时重新创建一个新的对象。

这里再提一下Copy:建立一个索引计数为1的对象,在赋值时使用传入值的一份拷贝。

原创粉丝点击