Maison > Questions et réponses > le corps du texte
比如下面的代码
@property(nonatomic, retain) UITextField *userName; @property(atomic, retain) UITextField *userName;
他们有啥区别,retain在这里起啥作用
ringa_lee2017-04-21 10:59:07
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...
黄舟2017-04-21 10:59:07
Atomic est thread-safe et a des performances inférieures à celles non atomiques. noatomic ne garantit pas la sécurité des threads.
ringa_lee2017-04-21 10:59:07
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.