Immutable objects perform immutable copies (copy) is a shallow copy if the copy is executed as long as there are mutable objects or variable copies (mutablecopy) is a deep copy
Only the source object and the Copy object are immutable is a shallow copy, the others are deep copy!
Copy creates an immutable copy (NSString, Nsarray, nsdictionary) mutablecopy creates a mutable copy (nsmutablestring, Nsmutablearray, Nsmutabledictionary)
Shallow copy shallow copy (pointer copy): Equivalent to do a retain operation reference counter plus 1 does not produce a new object source object and the replica object is the same object!deep copy deep copy (content copy): The source object and the replica object are two different objects, the source object's counter is unchanged , the Replica object counter adds 1 (a new object is generated)
Copy and Mutablecopy