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

比如下面的代码

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

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

高洛峰
高洛峰

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

répondre à tous(4)
左手右手慢动作

conserver consiste à ajouter 1 au nombre de références de l'attribut
Le conserver ici signifie que ce setter ajoutera 1 au nombre de références du paramètre. Par exemple :

self.userName = uName;

À ce moment, le nombre de références de uName sera augmenté de 1.
Cependant, le SDK 5.0 et les versions ultérieures prennent en charge ARC, ce qui signifie un comptage automatique des applications. Par conséquent, il n'est pas nécessaire de conserver et de copier lors de la définition des attributs. Utilisez plutôt strong pour laisser ARC le gérer.
Un article fournissant un trognon de pomme pour référence : http://pingguohe.net/2011/08/05/llvm3...

黄舟

Atomic est thread-safe et a des performances inférieures à celles non atomiques. noatomic ne garantit pas la sécurité des threads.

左手右手慢动作

Atomic ne signifie pas sécurité des threads, cela signifie simplement que les opérations set et get sur le même objet sont exécutées séquentiellement.

阿神

La différence entre iOS atomique et non atomique

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal