在objective-c中atomic和nonatomic有什么区别?retain有什么用?
高洛峰
高洛峰 2017-04-21 10:57:07
0
4
496

比如下面的代码

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

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(4)
左手右手慢动作

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

リーリー

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

いいねを押す +0
黄舟

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

いいねを押す +0
左手右手慢动作

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

いいねを押す +0
阿神

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

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