你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 深拷貝和淺拷貝

iOS 深拷貝和淺拷貝

編輯:IOS開發綜合

淺拷貝只是增加了一個對被引用對象的一個指向,拷貝出的對象與原對象共用一塊內存區域。

retain:指針拷貝,只是retainCount加一,實際上還是共用一塊內存
copy:不論拷貝的是不是集合對象,只要被拷貝的對象是不可變的,那就是指針拷貝,是淺拷貝,僅僅retainCount加一

深拷貝會分配出一塊內存,然後將引用的內容拷貝進去,也就是說拷貝出來的對象與原對象是獨立的。

copy:拷貝可變對象則是深拷貝
mutableCopy:不論被拷貝的是不是集合對象,是可變的還是不可變的,都是深拷貝
注意:如果mutableCopy的是集合對象,深拷貝的是該集合對象,不是指該集合對象裡面的元素,稱之為單層深拷貝,對該集合裡的元素依然是指針拷貝

總結
copy:只要copy的是不可變對象,都是淺拷貝,copy**可變集合象則是單層深拷貝,拷貝可變非集合**對象則是深拷貝
mutableCopy:拷貝集合象則是單層深拷貝,拷貝非集合對象則是深拷貝

推薦
IOS 集合的深復制與淺復制

以上就是IOS 深拷貝和淺拷貝的全文介紹,希望對您學習和使用IOS應用開發有所幫助.

【iOS 深拷貝和淺拷貝】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved