objective-c - iOS 深浅拷贝?

浏览:40日期:2023-11-20

问题描述

NSString *i = @'1';NSString *j = [i mutableCopy];NSLog(@'i=%p,j=%p',i,j);打印地址不一样,由此可见是内容拷贝继续i = @'2';NSLog(@'i=%@,j=%@',i,j);那么问题来了,为什么j的值还是1?

问题解答

回答1:

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

回答2:

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

回答3:

ok,我先去看看资料

相关文章: