objective-c - iOS 深浅拷贝?
PHP中文网
PHP中文网 2017-05-02 09:36:07
0
3
895
NSString *i = @"1";
NSString *j = [i mutableCopy];
NSLog(@"i=%p,j=%p",i,j);

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

认证高级PHP讲师

全員に返信(3)
Peter_Zhu

コンテンツ コピーはディープ コピーであり、生成された新しい j は新しいオブジェクトであり、i とは何の関係もありません。したがって、i を変更しても j には影響しません。

いいねを押す +0
为情所困

アドレスが異なるということは、それらが 2 つのオブジェクトであることを意味します。そこで問題は、なぜ 2 つの独立したオブジェクト間の値がまだ関連しているのかということです。

いいねを押す +0
洪涛

わかりました、まず情報を確認させてください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート