最近一直在思考这个问题,先给个怎么用来提醒本身下吧,之后就这样用试试 spa
* 使用assign: 对基础数据类型 (NSInteger)和C数据类型(int, float, double, char,等)
* 使用copy: 对NSString(nsstring貌似用retain也是能够的)
* 使用retain: 对其余NSObject和其子类 对象
assign: 简单赋值,不更改索引计数
copy: 创建一个索引计数为1的对象,而后释放旧对象
retain:释放旧的对象,将旧对象的值赋予输入对象,再提升输入对象的索引计数为1 索引
Copy实际上是创建了一个相同的对象,而retain不是:
好比一个NSString对象,地址为0×1111,内容为@”STR”
Copy到另一个NSString之 后,地址为0×2222,内容相同,新的对象retain为1, 旧有对象没有变化 string