Je ne suis pas tout à fait sûr si je comprends correctement atomique. D'après ce que j'ai lu, il est dit que l'atomique est la valeur par défaut pour l'iPhone. Maintenant est-ce pour les propriétés seulement, ou n'importe quelle variable d'instance. Par exemple, si j'ai une variable d'instance que je vais écrire mes propres setters/getters, et que je ne la déclare pas comme une propriété, est-ce que cela rend cette instance atomique? L'inconvénient est-il principalement le fait qu'il est optimisé pour l'enfilage, ce dont ma variable d'instance/application n'a peut-être même pas besoin? Merci.Variables d'instance, par défaut étant atomique
Répondre
Le mot-clé atomic
dans les déclarations de propriétés fait double emploi - il s'agit à la fois de la documentation et d'une instruction pour les accesseurs synthétisés. Le mot-clé s'applique uniquement aux méthodes d'accesseur - l'accès manuel à ivars est essentiellement identique à l'accès à une structure C et n'est jamais atomique.
Vous pouvez toujours écrire vos propres accesseurs si vous utilisez la syntaxe de déclaration de propriété, mais si vous le faites, vous devez adhérer à la déclaration (si vous ne le déclarez pas nonatomic
, vous devez implémenter manuellement l'atomicité). Si vous @synthesize
vos propriétés, ils suivront votre déclaration automatiquement. L'inconvénient des propriétés atomiques est qu'elles utilisent le verrouillage, ce qui est assez cher - si la propriété n'est pas accessible par plusieurs threads, vous devez toujours le déclarer nonatomic
(au moins sur l'iPhone).
- 1. Variante atomique Vs. Opération atomique
- 2. Variables par défaut avec plusieurs développeurs
- 3. Quel est l'état par défaut des variables?
- 4. Valeurs par défaut des variables d'instance et des variables locales
- 5. WPF RoutedEvents étant géré par ...?
- 6. Comment définir les valeurs par défaut pour les variables Tcl?
- 7. valeurs par défaut pour la liste d'arguments variables en Python
- 8. Pourquoi Lua utilise-t-elle par défaut les variables globales?
- 9. javascript rapide - Ajout de variables dans le texte par défaut
- 10. virtuel par défaut d'tor
- 11. Conventions par défaut de NHibernate par défaut
- 12. Dans SQLite, comment définir une colonne par défaut comme étant l'utilisateur actuel?
- 13. Erreur d'objet non valide malgré le schéma étant le schéma par défaut pour l'utilisateur
- 14. log4j Appender étant fermé par exception interceptée
- 15. edm étant marqué comme SPAM par hotmail
- 16. image captcha étant bloquée par IIS
- 17. atomique sous .NET
- 18. Quelle est la différence entre «atomique» et non-atomique?
- 19. Oracle Valeurs par défaut
- 20. Android CheckBoxPreference Valeur par défaut
- 21. mq_send est-il atomique?
- 22. Compteur atomique en gcc
- 23. Python optparse par défaut vs fonction par défaut
- 24. Vue par défaut de l'élément de liste par défaut Sharepoint
- 25. par défaut de mettre une application par défaut
- 26. L'utilisateur par défaut a un identifiant différent par défaut
- 27. C++, le paramètre par défaut sans constructeur par défaut
- 28. Échange atomique dans GNU C++
- 29. Stockage d'état atomique en Python?
- 30. Grails contraintes par défaut
Qu'en est-il de la déclaration d'une propriété flottante? Je pensais que toute structure 32 bits était atomique par défaut sur l'iphone – Pochi