ios关于深拷贝和浅拷贝的说明
在ios开发当中,经常涉及到的一个问题就是深拷贝和浅拷贝的问题,这个问题之前我一直都认为非常简单,无非就是个指针地址是否相同的问题。但是在实际开发的时候,发现,问题的本质确实是地址相同,就是浅拷贝,地址不同就是深拷贝。但是有哪些对象,哪些方法实现了深拷贝和浅拷贝哪?回答这些问题,就要看如下内容了。ios开发过程中,大体上会区分为对象和容器两个概念,对象的copy是浅拷贝,m
·
在ios开发当中,经常涉及到的一个问题就是深拷贝和浅拷贝的问题,这个问题之前我一直都认为非常简单,无非就是个指针地址是否相同的问题。但是在实际开发的时候,发现,问题的本质确实是地址相同,就是浅拷贝,地址不同就是深拷贝。
但是有哪些对象,哪些方法实现了深拷贝和浅拷贝哪?
回答这些问题,就要看如下内容了。
ios开发过程中,大体上会区分为对象和容器两个概念,对象的copy是浅拷贝,mutablecopy是深拷贝。容器也参照如上方法,但是需要记住,容器的包含对象的拷贝,无论使用copy,还是mutablecopy都将是浅拷贝。要想实现对象的深拷贝,必须自己提供拷贝的方法。
另外,需要记住一点,就是说,并不是说所有的对象都支持copy、和 mutablecopy方法,必须支持 NSCODING , NSMUTALBECOPYING协议,才可以。通常这个部分对于自定义对象而言,是要自行编写的。
更多推荐
已为社区贡献1条内容
所有评论(0)