(IOS系列)——OC基础语法:Copy
来源:互联网 发布:js改变label的宽度 编辑:程序博客网 时间:2024/05/22 01:40
Copy的作用是将已有对象复制出一个性的对象,在对新的对象做修改的时候,原来的对象没有影响
Copy的使用,分为两种
Copy出一个可变对象(mutableCopy方法)
copy出一个不可变对象(copy)
(深拷贝) :内容和对象都会拷贝 结构改变了的copy都是深拷贝 从可变copy出一个可变结构也是深拷贝
(浅拷贝):仅仅拷贝对象(指针),内容还是以前的那块内容 从不可变对象copy出一个不可变对象
void MutableCopy(){ //创建一个NSString对象 NSString *str = [[NSString alloc] initWithFormat:@"My age is %i",20]; //更具已有对象,Copy出一个可变字符串 NSMutableString *string = [str mutableCopy]; //我们先验证copy出来的可变对象是否为同一个对象,其实对于这一点,不用想都知道,一个可变一个不可变,必然不是同意个对象 NSLog(@"%i",str == string); [string appendFormat:@" I love"]; //在可变字符串后面添加一段字符串 NSLog(@"%@",string); [str release]; [string release];}#pragma mark copy的使用void stringCopy(){ //创建一个NSString对象 NSString *str = [[NSString alloc] initWithFormat:@"My age is %i",20]; //根据已有对象,Copy出一不可变个可变字符串 NSMutableString *string = [str copy]; //我们先验证copy出来的不可变对象是否为同一个对象,这一点和可变字符串的是有区别的 NSLog(@"%i",str == string); //这个返回值为1,也就是说,创建出来的对象和以前的对象是同一个对象 这是因为,创建出来的这个对象也是不可变的,那么系统为了性能考虑,不会重新分配内存创建一个新的对象,而是直接返回源对象本身 [string release]; [str release]; //有过alloc new copy这样的操作,都需要我们手动释放内存}
- (IOS系列)——OC基础语法:Copy
- OC基础——copy语法(Student属性的copy、Student对象的copy、Student子类对象的copy)
- 黑马程序员-IOS-OC基础-浅析Copy语法
- OC基础——copy语法(深拷贝和浅拷贝)
- ios基础——OC语法代码块的运用
- OC语法基础(5)—OC特有
- OC——copy语法的基本使用
- OC——copy语法的基本使用
- OC语法之Copy
- 19-OC-copy语法
- 黑马程序员——OC基础语法
- OC基础——核心语法
- 黑马程序员——OC基础语法
- 黑马程序员——oc基础语法
- OC语法基础(7)—ARC机制
- 黑马程序员——OC基础---OC特有语法
- 黑马程序员——ios开发基础之OC中Foundation框架(二)、copy以及单例
- 【无限互联】iOS开发视频教程— 2.11 iPhone开发之OC基础语法复习
- Log4j配置详解
- VIM复制粘贴
- 虚拟机中的Linux安装VMware_Tools
- 学生信息管理系统问题集锦
- 《TCP/IP协议》学习笔记(一)
- (IOS系列)——OC基础语法:Copy
- Class-反射
- 各种颜色代码大全(Html、android)
- http headers
- 解决 off grid pin 警告
- IBM和EnterpriseDB合作挑战Oracle
- sql server 2005 分离后 附加不上原因
- PHP Warning: strftime(): It is not safe to rely on the system's timezone testlink
- android连接wifi热点的操作