iOS 深浅拷贝?

NSString *i = @"1";
NSString *j = [i mutableCopy];
NSLog(@"i=%p,j=%p",i,j);

打印地址不一样,由此可见是内容拷贝
继续
i = @"2";
NSLog(@"i=%@,j=%@",i,j);
那么问题来了,为什么j的值还是1?
阅读 2.5k
3 个回答

内容 拷贝,就是深拷贝,生成新的j是一个新的对像,和i没有关系 。所以改变i,不会影响j的。

地址都不一样了,就说明是两个对象了,那么问题来了,两个独立的对象之间值为什么还会有关联?

ok,我先去看看资料

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进