NSString *string = @"123";
self.cStr = string;
self.sStr = string;
NSLog(@"string==%p--%p",string,&(string));
NSLog(@"cStr==%p--%p",_cStr,&(_cStr));
NSLog(@"sStr==%p--%p",_sStr,&(_sStr));
string = @"999";
NSLog(@"string==%p--%p",string,&(string));
NSLog(@"cStr==%@,sStr==%@",self.cStr,self.sStr);
//通过输出可以看出:指针的地址发生了变化,但是指针指向的地址没有发生变化。string重新赋值(自身(地址)发生了变化),指向了的地址也发生了变化,本身指向地址发生了变化。cStr和sStr没有发生变化。
NSMutableString *muStr = [NSMutableString stringWithString:@"456"];
self.cStr2 = muStr;
self.sStr2 = muStr;
NSLog(@"string==%p--%p",muStr,&(muStr));
NSLog(@"cStr==%p--%p",_cStr2,&(_cStr2));
NSLog(@"sStr==%p--%p",_sStr2,&(_sStr2));
[muStr appendString:@"1111"];
NSLog(@"cStr==%@,sStr==%@",self.cStr2,self.sStr2);
//通过输出可以看到cStr2和sStr2地址和string不一样,cStr指向的地址发生了变化,copy了一份内容。sStr2指向的内容发生变化,即指向的地址没变化,还是muStr的地址。muStr地址的内容变化了,sStr2的指向的地址的值也变化了。
2018-10-24 22:56:52.097643+0800 LocalTestProject[1208:28795] string==0x10727a178--0x7ffee89854d8
2018-10-24 22:56:52.097797+0800 LocalTestProject[1208:28795] cStr==0x10727a178--0x7fd16fd0cc08
2018-10-24 22:56:52.097930+0800 LocalTestProject[1208:28795] sStr==0x10727a178--0x7fd16fd0cc00
2018-10-24 22:56:52.098015+0800 LocalTestProject[1208:28795] string==0x10727a1f8--0x7ffee89854d8
2018-10-24 22:59:02.559413+0800 LocalTestProject[1208:28795] cStr==123,sStr==123
2018-10-24 22:59:05.719142+0800 LocalTestProject[1208:28795] string==0x60400005e510--0x7ffee89854d0
2018-10-24 22:59:05.719330+0800 LocalTestProject[1208:28795] cStr==0xa000000003635343--0x7fd16fd0cc18
2018-10-24 22:59:05.719448+0800 LocalTestProject[1208:28795] sStr==0x60400005e510--0x7fd16fd0cc10
2018-10-24 22:59:07.172499+0800 LocalTestProject[1208:28795] cStr==456,sStr==4561111
iOS中copy和strong的区别
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 总结: 可变变量中,copy是重新开辟一个内存,strong,weak,assgin后三者不开辟内存,只是指针指向...
- iOS中assign,copy,retain之间的区别以及weak和strong的区别 :http://blog...
- 介绍及区别 copy:用于希望保持一份传入值得拷贝,俄入世值自身的情况,既把原来的对象完整的赋值到另外一个地方,从...