cari

Rumah  >  Soal Jawab  >  teks badan

Objektif-c - Mengapa sifat salinan dalam Objek c mengembalikan objek yang bukan salinan dalam?

Objek diisytiharkan sebagai

@interface MyClass : NSObject
@property (atomic, copy) NSMutableString *name;
@end

ditakrifkan sebagai

@implementation MyClass
@synthesize name;
@end

Panggil

MyClass *m = [[MyClass alloc] init];
NSMutableString *s = [[NSMutableString alloc] initWithString:@"Hello"];
[m setName:s];
NSLog(@"%p", [m name]);
NSLog(@"%p", [m name]);
NSLog(@"%p", [m name]);

Jika objek yang dikembalikan melalui salinan setiap kali ialah salinan dalam rentetan pembolehubah, mengapa alamat bercetak adalah sama?

伊谢尔伦伊谢尔伦2788 hari yang lalu698

membalas semua(2)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-02 09:37:32

    copy merujuk kepada operasi penyalinan apabila menetapkan nilai Anda boleh cuba mencetak alamat s sekali lagi
    ps: penggunaan atribut jenis boleh ubah copy

    balas
    0
  • PHP中文网

    PHP中文网2017-05-02 09:37:32

    Em. . Anda mencetak alamat yang sama tiga kali, bagaimana anda boleh menukarnya?

    balas
    0
  • Batalbalas