可能你看过的关于copy的文章已经数不胜数了
关于copy与mutableCopy我更倾向于总结为
"copy都是不可变",这个原则
即 不可变+不可变=不可变 ([NSString copy]
)
可变+不可变=不可变 ([NSMutableString copy]
)
不可变+可变 = 可变 ([NSString mutableCopy]
)
可变+可变 = 可变 ([NSMutableString mutableCopy]
)
此文以图例作为总结
针对自定义对象
相对自定义对象来说, 就看你自己怎么实现copyWithzone
方法了
如果在方法里 返回一个新对象 那copy 出来的 就是和 新对象
如果在方法里 返回 self 那copy 出来的 就是self了(我觉得这样也没啥意义 就是多了个引用而已)