NSString *i = @"1"; NSString *j = [i mutableCopy]; NSLog(@"i=%p,j=%p",i,j); 打印地址不一样,由此可见是内容拷贝 继续 i = @"2"; NSLog(@"i=%@,j=%@",i,j); 那么问题来了,为什么j的值还是1?
认证高级PHP讲师
コンテンツ コピーはディープ コピーであり、生成された新しい j は新しいオブジェクトであり、i とは何の関係もありません。したがって、i を変更しても j には影響しません。
アドレスが異なるということは、それらが 2 つのオブジェクトであることを意味します。そこで問題は、なぜ 2 つの独立したオブジェクト間の値がまだ関連しているのかということです。
わかりました、まず情報を確認させてください
コンテンツ コピーはディープ コピーであり、生成された新しい j は新しいオブジェクトであり、i とは何の関係もありません。したがって、i を変更しても j には影響しません。
アドレスが異なるということは、それらが 2 つのオブジェクトであることを意味します。そこで問題は、なぜ 2 つの独立したオブジェクト間の値がまだ関連しているのかということです。
わかりました、まず情報を確認させてください