Je suis assez familier avec les raisons de vouloir copier une propriété contre conserver. (Essentiellement l'argument de la valeur par rapport à la relation.Vous voulez presque toujours copier les chaînes, par exemple.)NSColor et NSGradient en tant que propriétés - une raison de copier?
Qu'en est-il de NSColor et NSGradient?
Ils sont tous les deux conformes à NSCopying, mais comme ils sont actuellement implémentés, ils sont immuables.
Pensées?
Je crois que @brian et @louis ont des points valides. Néanmoins, en règle générale, je préfère 'copy' sur' retain' car cela évite la possibilité qu'un autre objet mute la valeur dans des circonstances inattendues. Ceci est d'autant plus vrai dans un contexte de multi-threading où l'utilisation d'objets immuables devrait être encouragée pour la sécurité des threads (pensez ici erlang). L'exception la plus notable à cette règle est quand j'ai besoin de garder une référence autour pour la liaison ou l'observation. – aLevelOfIndirection