深淺copy

概念:
淺拷貝:不拷貝對(duì)象,只拷貝對(duì)象指針,因此不會(huì)產(chǎn)生新的對(duì)象。
深拷貝:拷貝對(duì)象到新的內(nèi)存,因此會(huì)產(chǎn)生新的對(duì)象。

示例:

    NSString *string = [[NSString alloc] init];
    NSString *s1 = [string copy];
    NSString *s2 = [string mutableCopy];
    NSLog(@"string==%p, s1--%p, s2==%p", string, s1, s2);

   結(jié)果:string==0x100fa6320, s1--0x100fa6320, s2==0x604000257b80

    NSMutableString *str = [[NSMutableString alloc] init];
    NSMutableString *str1 = [str copy];
    NSMutableString *str2 = [str mutableCopy];
    NSLog(@"str--%p, str1--%p, str2==%p", str, str1, str2);

   結(jié)果: str--0x604000258060, str1--0x101eb0030, str2==0x604000258150
結(jié)論 mutableCopy copy
可變對(duì)象 深拷貝 深拷貝
不可變對(duì)象 深拷貝 淺拷貝

然后我們?cè)賮砜碿opy關(guān)鍵字的特點(diǎn):
修改源對(duì)象的屬性和行為,不會(huì)影響副本對(duì)象
修改副本對(duì)象的屬性和行為,不會(huì)影響源對(duì)象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容