登录

objective-c - iOS 深浅拷贝?

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

打印地址不一样,由此可见是内容拷贝
继续
i = @"2";
NSLog(@"i=%@,j=%@",i,j);
那么问题来了,为什么j的值还是1?
# iOS
PHP中文网PHP中文网2132 天前580 次浏览

全部回复(3) 我要回复

  • 天蓬老师

    天蓬老师2017-05-02 09:38:07

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

    回复
    0
  • 为情所困

    为情所困2017-05-02 09:38:07

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

    回复
    0
  • PHP中文网

    PHP中文网2017-05-02 09:38:07

    ok,我先去看看资料

    回复
    0
  • 取消回复发送