浅复制:指针的复制

深复制:内容的复制

主要有两个关键字  copy 和mutablecopy

对于基本类型 判断深浅方法

1.只要=右边从创建到赋值,至少包含一个NSMutable便会重新生成一个对象。如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。但是copy返回的对象是不可变的。

对于自定义对象的copy和mutableCopy

首先必须遵守NSCopying,NSMutableCopying协议,不然当执行copy和mutableCopy时会崩溃

容器类型

 

总结

对于基本类型 copy是浅复制 mutablecopy是深复制

对于容器集合类型  可变不可变copy都是深复制  但是对于可变的如果用copy的话copy过来是一个不可变的,这样会导致修改是崩溃

*项目中切记勿对可变集合copy这样可能在操作新指针指向的对象时候回崩溃。

最新文章

  1. 使用WebRTC搭建前端视频聊天室——数据通道篇
  2. String Date Calendar之间的转换
  3. C/C++开发者必不可少的15款编译器+IDE
  4. 什么是Servlet?它有哪些特点
  5. protobuf-net
  6. Mysql执行Update操作时会锁住表
  7. 推荐一个代码生成工具:freemarker
  8. Linux基本服务命令
  9. noip 2005 等价表达式
  10. LoadRunner Tutorial
  11. 聊一聊Python与C++的不同(二)
  12. java新知识系列 二
  13. Flume+Sqoop+Azkaban笔记
  14. HTML网页音频控制
  15. Python学习总结(一)—— 十分钟入门
  16. 20155235 王玥 《基于Arm实验箱的接口测试和应用》 课程设计报告
  17. Docker-machine创建虚机时停在虚机启动的提示上,并且创建的虚机显示Ip Not found
  18. Android静默安装实现方案,仿360手机助手秒装和智能安装功能
  19. 01_Kafka概述
  20. tls/ssl工作原理及相关技术

热门文章

  1. css3 伪类实现右箭头→
  2. 墨者 - X-FORWARDED-FOR注入漏洞实战
  3. JDK1.8新特性-Lambda表达式
  4. 《Hands-On System Programming with Go》之读文件
  5. Cordova搭建,所遇到问题处理
  6. 简单了解css3轮廓outline
  7. 获取input type=file 的文件内容(纯文本)
  8. JS Timing
  9. LeetCode刷题191127
  10. InnoDB On-Disk Structures(五)-- Redo Log & Undo Logs (转载)