经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Objective-C » 查看文章
Objective-C之深浅拷贝
来源:cnblogs  作者:mustard22  时间:2019/6/27 9:30:00  对本文有异议

深拷贝(指针和指向都改变) , 浅拷贝(指针改变,指向不变)

  1. NSString *s1 = @"string";
  2. NSLog(@"s1 : %p, %p, %@", &s1, s1, [s1 className]);
  3. id s2 = s1; // 浅拷贝
  4. NSLog(@"s2 : %p, %p, %@", &s2, s2, [s2 className]);
  5. id s3 = [s1 copy]; // 浅拷贝 得到不可变对象
  6. NSLog(@"s3 : %p, %p, %@", &s3, s3, [s3 className]);
  7. id s4 = [s1 mutableCopy]; // 深拷贝 得到可变对象
  8. NSLog(@"s4 : %p, %p, %@", &s4, s4, [s4 className]);
  9. /**
  10. * s1 : 0x7ffeefbff658, 0x1000020b8, __NSCFConstantString
  11. * s2 : 0x7ffeefbff650, 0x1000020b8, __NSCFConstantString
  12. * s3 : 0x7ffeefbff648, 0x1000020b8, __NSCFConstantString
  13. * s4 : 0x7ffeefbff640, 0x1030197f0, __NSCFString
  14. */
  15. NSMutableString *ms1 = [NSMutableString stringWithFormat:@"%@", s1];
  16. NSLog(@"ms1 : %p, %p, %@", &ms1, ms1, [ms1 className]);
  17. id ms2 = ms1;// 指针指向指针 浅拷贝
  18. NSLog(@"ms2 : %p, %p, %@", &ms2, ms2, [ms2 className]);
  19. id ms3 = [s1 copy];// 深拷贝 得到不可变对象
  20. NSLog(@"ms3 : %p, %p, %@", &ms3, ms3, [ms3 className]);
  21. id ms4 = [s1 mutableCopy];// 深拷贝 得到可变对象
  22. NSLog(@"ms4 : %p, %p, %@", &ms4, ms4, [ms4 className]);
  23. /**
  24. * ms1 : 0x7ffeefbff638, 0x1004297c0, __NSCFString
  25. * ms2 : 0x7ffeefbff630, 0x1004297c0, __NSCFString
  26. * ms3 : 0x7ffeefbff628, 0x1000020b8, __NSCFConstantString
  27. * ms4 : 0x7ffeefbff620, 0x1006378f0, __NSCFString
  28. */
源对象类型 拷贝模式 目标对象类型 拷贝类型
NSMutableString copy 不可变 / NSString 深拷贝
NSMutableString mutableCopy 可变 / NSMutableString 深拷贝
NSString copy 不可变 / NSString 浅拷贝
NSString mutableCopy 可变 / NSMutableString 深拷贝

原文链接:http://www.cnblogs.com/mustard22/p/11091140.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号