cari

Rumah  >  Soal Jawab  >  teks badan

在objective-c中atomic和nonatomic有什么区别?retain有什么用?

比如下面的代码

@property(nonatomic, retain) UITextField *userName;
@property(atomic, retain) UITextField *userName;

他们有啥区别,retain在这里起啥作用

高洛峰高洛峰2769 hari yang lalu463

membalas semua(4)saya akan balas

  • ringa_lee

    ringa_lee2017-04-21 10:59:07

    kekalkan ialah menambah 1 pada kiraan rujukan atribut
    Pengekalan di sini bermakna penetap ini akan menambah 1 pada kiraan rujukan parameter. Contohnya:

    self.userName = uName;

    Pada masa ini, kiraan rujukan uName akan dinaikkan sebanyak 1.
    Walau bagaimanapun, SDK 5.0 dan lebih baru menyokong ARC, yang bermaksud pengiraan aplikasi automatik Oleh itu, tidak perlu menyimpan dan menyalin apabila mentakrifkan atribut Sebaliknya, gunakan kuat untuk membenarkan ARC mengurusnya.
    Artikel yang menyediakan teras epal untuk rujukan: http://pingguohe.net/2011/08/05/llvm3...

    balas
    0
  • 黄舟

    黄舟2017-04-21 10:59:07

    Atomic selamat untuk benang dan mempunyai prestasi yang lebih rendah daripada nonatomic. noatomik tidak menjamin keselamatan benang.

    balas
    0
  • ringa_lee

    ringa_lee2017-04-21 10:59:07

    Atomik tidak bermaksud keselamatan benang, ia hanya bermaksud operasi set dan dapatkan pada objek yang sama dilaksanakan secara berurutan.

    balas
    0
  • 阿神

    阿神2017-04-21 10:59:07

    Perbezaan antara iOS atomic dan nonatomic

    balas
    0
  • Batalbalas