copy的概念通过拷贝对象产生一个副本,可以在使用原数据和副本数据时互不影响.使用copy需要遵从 copyWithZone协议,使用mutableCopy需要遵从mutableCopyWithZone协议
"浅复制":copy一个不可变对象,只是对不可变对象的引用计数+1,并获得地址,并未产生新的对象
"深复制":包括:'mutableCopy一个不可变对象'("新对象可变"), 'copy一个可变对象'("新对象不可变") 和
'mutableCopy一个可变对象'("新对象可变")
特点:产生了新的副本.
一句话:对不可变执行不可变copy是"浅复制",其余都是"深复制","浅复制"没有产生新对象,"深复制"产生了新对象. |
|