object c的浅拷贝(地址拷贝)和深拷贝(对象拷贝)
来源:互联网 发布:php代码混淆解密工具 编辑:程序博客网 时间:2024/05/17 00:04
//// main.m// DeepCopyDemo//// Created by 千雅爸爸 on 16/10/6.// Copyright © 2016年 kodulf. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { //浅拷贝是地址拷贝, //深拷贝是对象拷贝,是一个新的对象,新的地址 //copy(可以是浅拷贝,也可以是深拷贝) mutablecopy(一定是深拷贝) //注意copy方法,如果用来拷贝可变的对象,那么就是浅拷贝,如果copy的是可变的对象,那么就是深拷贝。要记住一点copy 饭回来的对象一定是不可变的 //mutablecopy,可变拷贝,无论我们使用mutablecopy 这个方法去操作的对象是可变的还是不可变的,最后都会进行深拷贝,而且拷贝出来的空间一定是可变的。 NSString *string = @"string";//不可变的字符串 NSLog(@"%p",string); //当copy 拷贝是是一个不可变的字符串的时候,是浅拷贝 NSString *string2 =[string copy]; NSLog(@"%p",string2); //当copy 拷贝是一个可变的字符串的时候,是深拷贝 NSMutableString *mstring = [[NSMutableString alloc] initWithFormat:@"hello"]; NSString *string3= [mstring copy]; NSLog(@"%p",mstring); NSLog(@"%p",string3); //mutablecopy,可变拷贝,无论我们使用mutablecopy 这个方法去操作的对象是可变的还是不可变的,最后都会进行深拷贝,而且拷贝出来的空间一定是可变的。 NSMutableString *string4 = [string mutableCopy]; NSLog(@"%p",string); NSLog(@"%p",string4); NSMutableString *string5 = [mstring mutableCopy]; NSLog(@"%p",string); NSLog(@"%p",string5); } return 0;}
0 0
- object c的浅拷贝(地址拷贝)和深拷贝(对象拷贝)
- Object-c 深拷贝和浅拷贝
- 对象的深拷贝和浅拷贝
- Python对象的拷贝,浅拷贝和深拷贝。
- NumPy的拷贝和视图(完全不拷贝、视图或浅拷贝、深拷贝)
- 拷贝构造函数(深拷贝和浅拷贝)
- 拷贝构造函数(浅拷贝和深拷贝)
- c++拷贝构造函数(深拷贝和浅拷贝)
- c++拷贝构造函数(浅拷贝和深拷贝)
- Object浅拷贝、深拷贝
- Java 拾遗补阙 ----- 浅拷贝和深拷贝(对象克隆)
- 深拷贝和浅拷贝(整理)
- C++的拷贝构造函数(深拷贝、浅拷贝)
- 【C++】浅拷贝和深拷贝(String类)
- 对象深拷贝和浅拷贝
- 复制对象 和 浅拷贝,深拷贝
- js 对象浅拷贝和深拷贝
- 拷贝 Python 对象 浅拷贝和深拷贝
- Android 属性动画进阶篇(篇2)
- SQL 注入的介绍与代码防御
- Clojure 学习入门(1) - 学习资料
- 自己动手写Impala UDF
- C语言 12个球称3次 找出其中一个坏球
- object c的浅拷贝(地址拷贝)和深拷贝(对象拷贝)
- JAVA学习日记06
- 链表的简单实现(C语言版)
- 来,吃了许嵩这颗毒药
- LeetCode Odd Even Linked List
- 《三国演义》的演绎
- POJ 3233 Matrix Power Series 矩阵快速幂
- Python.NumPy -- 快速处理数据
- latex设置页面边距,页面大小,页边距,geometry宏包