比如下面的代码
@property(nonatomic, retain) UITextField *userName; @property(atomic, retain) UITextField *userName;
他们有啥区别,retain在这里起啥作用
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
retain は属性の参照カウントに 1 を加算することです ここでの保持は、このセッターがパラメータの参照カウントに 1 を加算することを意味します。例:
このとき、uNameの参照数が1増加します。 ただし、SDK 5.0 以降では ARC がサポートされているため、属性を定義するときに保持してコピーする必要はなく、ARC で管理できます。 参考として Apple Core を提供する記事: http://pingguohe.net/2011/08/05/llvm3...
アトミックはスレッドセーフであり、非アトミックよりもパフォーマンスが低くなります。 noatomic はスレッドの安全性を保証しません。
アトミックはスレッドの安全性を意味するものではなく、同じオブジェクトに対する set 操作と get 操作が順番に実行されることを意味します。
iOS アトミックと非アトミックの違い
retain は属性の参照カウントに 1 を加算することです
リーリーここでの保持は、このセッターがパラメータの参照カウントに 1 を加算することを意味します。例:
このとき、uNameの参照数が1増加します。
ただし、SDK 5.0 以降では ARC がサポートされているため、属性を定義するときに保持してコピーする必要はなく、ARC で管理できます。
参考として Apple Core を提供する記事: http://pingguohe.net/2011/08/05/llvm3...
アトミックはスレッドセーフであり、非アトミックよりもパフォーマンスが低くなります。 noatomic はスレッドの安全性を保証しません。
アトミックはスレッドの安全性を意味するものではなく、同じオブジェクトに対する set 操作と get 操作が順番に実行されることを意味します。
iOS アトミックと非アトミックの違い