copy & mutableCopy

不可變對象執行不可變拷貝(copy)就是淺拷貝spa

若是執行拷貝時 只要有可變的不管是可變對象仍是可變拷貝(mutableCopy)就是深拷貝指針

只有源對象和副本對象都不可變纔是淺拷貝,其它都是深拷貝!對象

copy 建立的是不可變副本(NSString , NSArray, NSDictionary)io

mutableCopy 建立的是可變副本 (NSMutableString, NSMutableArray, NSMutableDictionary)
table

shallow copy 淺拷貝(指針拷貝):至關於作了一次retain操做 引用計數器加1 沒有產生新的對象  源對象和副本對象是同一個對象!引用

deep copy 深拷貝(內容拷貝):源對象和副本對象是兩個不一樣的對象,源對象的計數器不變,副本對象計數器加1(產生了一個新的對象)tab

相關文章
相關標籤/搜索