根據(jù)自己的理解和代碼測試,得出結(jié)論供大家參考,如果有誤請(qǐng)指正。
- 深拷貝:內(nèi)容拷貝,拷貝過程產(chǎn)生了新的對(duì)象(擁有一份新的內(nèi)存地址)
- 淺拷貝:指針拷貝,拷貝過程沒有產(chǎn)生新的對(duì)象(拷貝后的對(duì)象和源對(duì)象是同一對(duì)象,同一份內(nèi)存地址)
舉例說明
- 源對(duì)象是NSMutableString那么調(diào)用copy方法(深拷貝)產(chǎn)生的新對(duì)象是不可變的
- 源對(duì)象類型是NSMutableString那么調(diào)用mutableCopy方法(深拷貝)生成的新對(duì)象是可變的
- 源對(duì)象是NSString那么調(diào)用NSMutableCopy方法(深拷貝)產(chǎn)生的新對(duì)象是可變的
- 源對(duì)象是NSString那么調(diào)用?copy方法(淺拷貝)產(chǎn)生的對(duì)象和源對(duì)象是同一對(duì)象
圖片說明
拷貝.jpg