OC中的深拷贝与浅拷贝

  深拷贝(deep copy)与浅拷贝(shallow copy)的定义一直是有争论的.

  一种理解是:

    所谓的浅拷贝, 就是不完全的拷贝

 NSString *s = @"123";

 NSString *s1 = s;   // 浅拷贝, 拷贝指针

 NSString *s2 = [s copy]; // 深拷贝, 拷贝对象

另外一种理解是:

 仅仅是复制了指针, 是没有拷贝的, 所谓的拷贝是对象的拷贝

  浅拷贝就是只拷贝当前对象的成员, 深拷贝是拷贝所有层次的成员

  如果对象没有对象类型的属性, 那么深拷贝与浅拷贝概念一样

 

posted @ 2016-01-01 22:47  一米王子  阅读(355)  评论(0编辑  收藏  举报