深拷貝和淺拷貝

引用博客:www.lxweimin.com/p/e6a7cdcc705d

深拷貝和淺拷貝分為兩種類型,一種為拷貝字符串,數組,字典;一種為拷貝對象。

一、拷貝字符串,數組,字典:

1)可變字符串的拷貝

可變字符串的拷貝


結果

結果:可變字符串的拷貝都是深拷貝

2)不可變字符串的拷貝

不可變字符串的拷貝


結果

不可變字符串的copy是淺拷貝,mutableCopy是深拷貝。

二、拷貝NSObject對象

要想拷貝NSObject對象,就必須實現<NSCopying>協議

- (id)copyWithZone:(nullable NSZone *)zone;

或者<NSMutableCopying>協議

在這個協議方法里邊,你需要重新創建一個對象,然后把是把需要復制對象的屬性挨個重新賦值一遍。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容