zoukankan      html  css  js  c++  java
  • ios 之copy

    Copy & MutableCopy
    使用copy或mutableCopy方法可以创建一个对象的副本
    copy
    需要实现NSCoppying协议
    创建的是不可变副本(如NSString、NSArray、NSDictionary)
    mutableCopy
    需要先实现NSMutableCopying协议
    创建的是可变副本(如NSMutableString、NSMutableArray、NSMutableDictionary)
    
    Copy的目的是建立副本,同时修改原始对象和复本不会互相干扰
    
    深复制:
    内容拷贝,源对象和副本指向的是不同的两个对象
    源对象引用计数器不变,副本计数器设置为1
    地址值改变
    
    浅复制:
    指针拷贝,源对象和副本指向的是同一个对象
    对象的引用计数器+1,其实相当于做了一次retain操作
    地址值不改变
    
    只有不可变对象创建不可变副本(copy)才是浅复制,其他都是深复制
    
  • 相关阅读:
    线程
    链表
    String 练习
    23种设计模式
    静态方法
    ASCII码及UTF-8概义
    java语法基础
    二进制、八进制、十进制、十六进制之间转换
    数组概意
    java程序安装 配置环境变量
  • 原文地址:https://www.cnblogs.com/ndyBlog/p/3958937.html
Copyright © 2011-2022 走看看