zoukankan      html  css  js  c++  java
  • 深浅复制的的理解与区别

    深浅复制的的理解与区别

    1.浅复制,仅仅是复制对象本身,并没有对所含的的对象进行复制,仅仅是对所含的对象进行Retain一下,引用计数加1

    2.深复制,不仅仅对对对象本身进行复制,还对所含的对象进行复制,拷贝出一个副本。

     

      NSMutableArray *array = [NSMutableArray arrayWithCapacity:2];

        for (int i=0; i<2; i++) {

            [array addObject:(以一个类为对象)类名 P];

        }

    [array copy];//则类对象不会被复制,仅仅是引用计数加1

           

    一般的:Foundation 的都是浅复制

    当对象是不可变(NSArray,NSString,NSDictionary)中的Foundation 中不可变的可复制对象 

    copy + 不可变源对象   = retain 其他的都相当与 copy 

  • 相关阅读:
    CF359B Permutation
    CF859C Pie Rules
    Contest 156
    Contest 155
    Range Module
    python-环境
    Git 使用
    Contest 154
    生命是一种长期而持续的累积过程
    Contest 153
  • 原文地址:https://www.cnblogs.com/meixian/p/5370990.html
Copyright © 2011-2022 走看看