2012-03-13 2 views

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.

+0

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

+0

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

+0

Je voudrais aussi mentionner que si votre code contient la directive '@ private' pour vos iVars, vous faites probablement quelque chose de mal. – Holly

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