A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 桑托尔 中级黑马   /  2014-5-4 08:37  /  1337 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 桑托尔 于 2014-5-6 08:26 编辑

怎么叫深复制,怎么叫浅复制?

2 个回复

倒序浏览
只有一种情况是浅拷贝:不可变对象调用copy方法

mutableStringMutableCopy();//可变字符串的MutableCopy(深拷贝)  
mutableStringCopy();//可变字符串的copy(深拷贝)  
stringCopy();//不可变字符串的copy(浅拷贝)  
stringMutablecopy();//不可变字符串的MutableCopy(深拷贝)
回复 使用道具 举报
本帖最后由 dawn.dai 于 2014-5-4 13:00 编辑

NSDictionary *dict =@{
                              
                              @"1":@"324"
                              
                              };
        //只有不可变对象创建不可变副本复制是浅复制,内存中指向同一地址,原对象计数器+1
        NSDictionary *dict1 =[dict copy];
        
        //不可变对象创建可变副本复制是深复制,是内容复制,内存中指向不同地址,原对象计数器不变
        NSMutableDictionary *dict2 =[dict mutableCopy];
        
      
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马