Quels sont les atsortingbuts par défaut pour les propriétés Objective-C?

Quels sont les atsortingbuts par défaut pour une propriété lorsque vous n’en listez aucun dans l’objective C?

Comme par exemple si j’ai écrit ceci:

@property float value; 

Quelles seraient les valeurs par défaut, comme est-il en lecture seule, conserve-t-elle … etc.?

Les valeurs implicites / implicites sont atomic , readwrite et assign .

atomique

Cela signifie que la valeur est lue / écrite de manière atomique. Contrairement à l’idée fausse quelque peu répandue, l’atomicité n’équivaut pas à la sécurité des fils. En termes simples, cela garantit que la valeur que vous lisez ou écrivez sera lue ou écrite en entier (lorsque les accesseurs sont utilisés). Même lorsque vous utilisez des accesseurs tout le temps, ce n’est pas ssortingctement sécurisé.

lire écrire

La propriété reçoit un setter et un getter.

atsortingbuer

Cette valeur par défaut est généralement utilisée pour les types POD (Plain-Old-Data) et les types intégrés (par exemple int ).

Pour les types NSObject , vous préférerez conserver une référence forte. Dans la plupart des cas, vous déclarerez la propriété copy , strong , ou retain . assign n’effectue aucune opération de comptage de référence. Voir aussi: http://clang.llvm.org/docs/AutomaticReferenceCounting.html#property-declarations

fort

La propriété peut être implicitement strong sous ARC dans certains cas:

Une propriété du type de pointeur d’object pouvant être conservé qui est synthétisé sans source de propriété a la propriété de sa variable d’instance associée, si elle existe déjà; sinon, [commençant avec Apple 3.1, LLVM 3.1], sa propriété est implicitement forte. Avant cette révision, il était mal formé de synthétiser une telle propriété.

il est égal à

 @property (atomic, readwrite, assign) float value;