20150619_OC之copy与mutableCopy
2015-07-03 09:12
507 查看
// // main.m // IOS150619_ObjectiveC_CopyAndMutableCopy // // Created by qianfeng on 15/6/19. // Copyright (c) 2015年 Peng Junlong. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //-------------copy---------------------- //copy:将可变对象及不可变对象Copy生成一个不可变的对象,即返回值是一个不可变对象 NSString *str = @"Hello World"; NSString *str1 = [str copy];//str copy生成的是一个不可变的字符串 NSLog(@"str = %p, str1 = %p",str,str1); NSLog(@"str1 = %@",str1); //结果: //str = 0x100001048, str1 = 0x100001048 //str1 = Hello World NSMutableString *str2 = [NSMutableString stringWithString:@"Hello World"]; NSString *str3 = [str2 copy]; //NSMutableString *str3 = [str2 copy]; //[str3 insertString:@"China" atIndex:4]; // 错误,不可变;str2是可变的,而生成的str3是不可变的 NSLog(@"str2 = %p, str3 = %p",str2,str3); NSLog(@"str3 = %@",str3); //结果: //str2 = 0x1004000c0, str3 = 0x100400160 //str3 = Hello World //-------------mutableCopy-------------- //mutableCopy:将可变或者不可变对象copy,生成可变对象 NSString *str4 = @"Hello China"; NSMutableString *str5 = [str4 mutableCopy]; [str5 insertString:@"ShangHai" atIndex:6]; NSLog(@"str4 = %p, str5 = %p",str4,str5); NSLog(@"str5 = %@",str5); //结果: //str4 = 0x1000010e8, str5 = 0x100300840 //str5 = Hello ShangHaiChina NSMutableString *str6 = [NSMutableString stringWithString:@"Hello China"]; NSMutableString *str7 = [str6 mutableCopy]; [str7 insertString:@"ShangHai" atIndex:6]; NSLog(@"str6 = %p, str7 = %p",str6,str7); NSLog(@"str7 = %@",str7); //结果: //str6 = 0x100300610, str7 = 0x1003001a0 //str7 = Hello ShangHaiChina } return 0; }
相关文章推荐
- Mac 下配置Tomcat7和eclipse中配置tomcat
- Linux Input子系统之第一篇(input_dev/input_handle/input_handler)
- 第一个linux事故
- awk
- cacti
- Linux安装JDK1.7
- nfs
- keepalived
- 【opencv】随机颜色
- opencv 脸部识别开源软件
- opencv解方程
- 中/高级Linux运维工程师面试题
- pxe
- 不能在本地计算机启动 apache2.2解决方法
- YUM
- 具备了这四大特性您的网站就成了优秀的网站
- Linux/UNIX数据文件和信息系统
- 20150616属性@property
- Linux常用命令大全
- 检测MySQL PHP nginx是否安装成功 以及相关配置