iOS 深拷貝,淺拷貝與集合類的對象谷朝,深拷貝實現(xiàn)

先上代碼github洲押,如有錯誤請幫忙指出,謝謝圆凰!轉(zhuǎn)載請注明出處杈帐,喜歡的話,請點個贊吧专钉!

一挑童、概念

1、淺拷貝 = 指針拷貝:多了一個指針跃须,指向同一塊內(nèi)存地址(同一個對象)站叼。
2、深拷貝 = 內(nèi)容拷貝:多了一個指針菇民,指向不同的內(nèi)存地址(不同的對象)尽楔。

二、總結(jié)
    1第练、對于不可變的非集合類的對象阔馋,copy是淺拷貝,mutableCopy是深拷貝复旬。
    2垦缅、對于可變的非集合類的對象,copy和mutableCopy都是深拷貝驹碍。
    3壁涎、對于不可變的數(shù)組,字典等集合類的對象志秃,copy是淺拷貝怔球,mutableCopy是深拷貝。
    4浮还、對于可變的數(shù)組竟坛,字典等集合類的對象,copy和mutableCopy都是深拷貝。

注:集合類的對象深拷貝拷貝的是本身對象担汤,不包含里面的元素等對象涎跨,可以實現(xiàn)完全深拷貝整個集合對象請看下面代碼解釋

三、代碼解釋

1崭歧、不可變的非集合類對象

image.png

2隅很、可變的非集合類對象
image.png

3、不可變的集合類對象
image.png

4率碾、可變的集合類對象
image.png

5叔营、集合類對象的object的拷貝情況
注:集合類對象要實現(xiàn)對象里面的object也拷貝需要執(zhí)行如下方法

1、- (instancetype)initWithArray:(NSArray<ObjectType> *)array copyItems:(BOOL)flag;
/// 還有更多的歸檔解檔擴展方法所宰,具體請自行了解NSKeyedUnarchiver 
2绒尊、+ (nullable id)unarchivedObjectOfClass:(Class)cls fromData:(NSData *)data error:(NSError **)error

從下圖可以得出結(jié)論,不支持NSCopying仔粥,NSMutableCopying協(xié)議的例如NSString婴谱,NSNumber拷貝后object的地址還是一致,沒有真正的復(fù)制一個出來件炉,不過支持NSCopying勘究,NSCoding的協(xié)議的object都能進行真正的深拷貝。
image.png

image.png
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末斟冕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子缅阳,更是在濱河造成了極大的恐慌磕蛇,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件十办,死亡現(xiàn)場離奇詭異秀撇,居然都是意外死亡,警方通過查閱死者的電腦和手機向族,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門呵燕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人件相,你說我怎么就攤上這事再扭。” “怎么了夜矗?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵泛范,是天一觀的道長。 經(jīng)常有香客問我紊撕,道長罢荡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮区赵,結(jié)果婚禮上惭缰,老公的妹妹穿的比我還像新娘。我一直安慰自己笼才,他們只是感情好漱受,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著患整,像睡著了一般拜效。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上各谚,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天紧憾,我揣著相機與錄音,去河邊找鬼昌渤。 笑死赴穗,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的膀息。 我是一名探鬼主播般眉,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼潜支!你這毒婦竟也來了甸赃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤冗酿,失蹤者是張志新(化名)和其女友劉穎埠对,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裁替,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡项玛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了弱判。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片襟沮。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖昌腰,靈堂內(nèi)的尸體忽然破棺而出开伏,到底是詐尸還是另有隱情,我是刑警寧澤剥哑,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布硅则,位于F島的核電站,受9級特大地震影響株婴,放射性物質(zhì)發(fā)生泄漏怎虫。R本人自食惡果不足惜暑认,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望大审。 院中可真熱鬧蘸际,春花似錦、人聲如沸徒扶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽姜骡。三九已至导坟,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間圈澈,已是汗流浹背惫周。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留康栈,地道東北人递递。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像啥么,于是被迫代替她去往敵國和親登舞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容