検索

ホームページ  >  に質問  >  本文

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

比如下面的代码

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

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

高洛峰高洛峰2889日前513

全員に返信(4)返信します

  • ringa_lee

    ringa_lee2017-04-21 10:59:07

    retain は属性の参照カウントに 1 を加算することです
    ここでの保持は、このセッターがパラメータの参照カウントに 1 を加算することを意味します。例:

    リーリー

    このとき、uNameの参照数が1増加します。
    ただし、SDK 5.0 以降では ARC がサポートされているため、属性を定義するときに保持してコピーする必要はなく、ARC で管理できます。
    参考として Apple Core を提供する記事: http://pingguohe.net/2011/08/05/llvm3...

    返事
    0
  • 黄舟

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

    アトミックはスレッドセーフであり、非アトミックよりもパフォーマンスが低くなります。 noatomic はスレッドの安全性を保証しません。

    返事
    0
  • ringa_lee

    ringa_lee2017-04-21 10:59:07

    アトミックはスレッドの安全性を意味するものではなく、同じオブジェクトに対する set 操作と get 操作が順番に実行されることを意味します。

    返事
    0
  • 阿神

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

    iOS アトミックと非アトミックの違い

    返事
    0
  • キャンセル返事