因需求需要,工程里一个界面上有两个NSOutlineView,一个作为Case的集合列出常用的一些数据,一个作为生成的数据。即通过Case集合的Outline上数据,通过添加或拖拽生成另个Outline上数据。
在添加数据到SourceOutlineView上时,虽然数据是显示到视图上,当添加多个相同项目时,修改一个项目数据,其他相同项目也跟着修改,由此才发现,这些数据都是引用同个地址的,修改的原数据,其他引用也跟着变。
由此想到深拷贝与浅拷贝
查阅,参考,铭记:
关于copyWithZone 实现拷贝 及copy metableCopy
IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
copyWithZone详解