Si un ivar doit être utilisé globalement au sein de la classe, mais ne sera jamais accessible par d'autres classes, sommes-nous toujours supposés utiliser des propriétés?Est-il nécessaire, ou même une bonne pratique, de créer des propriétés pour tous les iVars?
0
A
Répondre
3
C'est généralement une bonne idée, car les accesseurs générés prendront soin de choses comme la gestion de la mémoire et le KVO pour vous. Vous pouvez placer la propriété dans une extension de classe afin que les autres classes ne puissent pas l'utiliser.
1
Pour moi, cela dépend de l'utilisation de la variable d'instance.
S'il s'agit d'un objet représentant des données, j'utiliserai toujours une propriété.
Si c'est juste un simple BOOL
pour une comptabilité interne par un couple de méthodes dans la classe, alors je ne vais pas créer une propriété pour cela.
Questions connexes
- 1. Bonne pratique ou mauvaise pratique
- 2. objectif C, propriétés vs ivars
- 3. Bonne pratique pour créer des instantanés pour vos applications iOS?
- 4. Bonne pratique pour créer WCF RIA DomainService
- 5. iOS - cession de Ivars par des propriétés
- 6. bonne pratique pour les sélecteurs xpath efficaces
- 7. Bonne pratique pour les applications composites
- 8. MVC bonne ou mauvaise pratique
- 9. Une bonne façon de créer des propriétés d'ami
- 10. emberjs - bonne pratique pour construire une application?
- 11. Bonne pratique pour les DAO réels utilisant des annotations @Cacheable
- 12. Utiliser un setter pour tous les modèles iVars
- 13. Bonne pratique pour utiliser JavaScript?
- 14. Node.js route paramétrée - bonne ou mauvaise pratique?
- 15. Est-ce une bonne pratique pour une classe d'utiliser des méthodes de classe pour "gérer" des instances de lui-même?
- 16. log4net - est-ce une bonne pratique de créer de nombreux enregistreurs à des fins de traçage?
- 17. Définir les variables sur "Nothing" est une bonne pratique?
- 18. AngularJS - Former une bonne pratique
- 19. Bonne pratique des objets de données WCF
- 20. Opérateur ternaire: mauvaise ou bonne pratique?
- 21. Référence nécessaire pour les propriétés drupal theme_HOOK
- 22. nommage Ivars avec underscore, ce qui est l'implication pratique
- 23. Est-il considéré comme une bonne pratique de créer et d'envoyer des événements Javascript personnalisés?
- 24. Structure de dossier - bonne pratique
- 25. Bonne pratique pour plusieurs contrôleurs d'interface
- 26. Est-ce une bonne pratique de faire une recherche en texte intégral pour tous les types de champs?
- 27. bonne pratique pour le flux de code?
- 28. C# - L'ajout systématique d'une interface est-il une bonne pratique?
- 29. Bonne pratique pour l'application qui plante
- 30. bonne pratique using finish()
Donc je suppose que ce n'est pas "nécessaire" mais "bonne pratique". J'utilisais des propriétés pour tout mais j'ai remarqué dans le code d'exemple de pomme que certains iVars ne sont pas déclarés comme propriétés. Je n'ai trouvé aucune convention derrière leurs choix. – TijuanaKez
Oui. Les avantages de la gestion de la mémoire pour les objets dans des environnements non-ARC sont les plus importants, car il est tellement facile de le faire lorsque vous ne concentrez pas cette responsabilité dans une méthode. – Chuck
Je voudrais aussi mentionner que si votre code contient la directive '@ private' pour vos iVars, vous faites probablement quelque chose de mal. – Holly