Rumah  >  Soal Jawab  >  teks badan

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?
PHP中文网PHP中文网2727 hari yang lalu854

membalas semua(3)saya akan balas

  • 天蓬老师

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

    Salinan kandungan ialah salinan dalam J baharu yang dihasilkan adalah objek baharu dan tiada kaitan dengan i. Jadi menukar i tidak akan menjejaskan j.

    balas
    0
  • 为情所困

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

    Alamatnya berbeza, bermakna terdapat dua objek Jadi persoalannya, mengapa nilai antara dua objek bebas masih berkaitan?

    balas
    0
  • PHP中文网

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

    ok, biar saya semak maklumat dulu

    balas
    0
  • Batalbalas