引用博客:www.lxweimin.com/p/e6a7cdcc705d
深拷貝和淺拷貝分為兩種類型,一種為拷貝字符串,數組,字典;一種為拷貝對象。
一、拷貝字符串,數組,字典:
1)可變字符串的拷貝
可變字符串的拷貝
結果
結果:可變字符串的拷貝都是深拷貝
2)不可變字符串的拷貝
不可變字符串的拷貝
結果
不可變字符串的copy是淺拷貝,mutableCopy是深拷貝。
二、拷貝NSObject對象
要想拷貝NSObject對象,就必須實現<NSCopying>協議
- (id)copyWithZone:(nullable NSZone *)zone;
或者<NSMutableCopying>協議
在這個協議方法里邊,你需要重新創建一個對象,然后把是把需要復制對象的屬性挨個重新賦值一遍。