关于深浅拷贝在属性传值时的注意点

记录深浅拷贝在实际项目中的运用

当我们进行属性传值的时候等于是进行了一次浅拷贝,即两个对象指向的是同一个地址。问题来了:A界面传到B界面的属性用copy、strong 修饰时有什么区别?

解答:这里我们就要先普及深浅拷贝的相关知识了:

对于不可变对象不管是copy还是mutableCopy都是深拷贝,对于可变对象只有mutableCopy才是深拷贝。那么我们在进行赋值的时候如果想在第二个界面对属性进行操作,copy的问题就来了,因为不管是可变还是不可变对象经过copy之后都会变为不可变对象。我们再进行操作就会报错了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容