在objc中,可以通过property来简化get set函数,其中有很多属性。包括copy 和 retain。今天在使用copy后,然后修改set的值后,发现原来的值并没有像我期待的那样改变。写了个测试代码后,才发现使用copy时,首先copy的必须是obj类型的数据,他是在原有的实参上,赋值了实参的内容,然后重新申请了空间。所以,当我改变原来实参的数据后,get到的值是不会变的。而retain是不一样的,他是将实参的内存空间复制了过来,所以,改变值后,get到的值也是回改变的。所以,copy复制的是内容,retai复制的是指针.
copy 和retain
最新推荐文章于 2017-12-20 14:47:49 发布